亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ps.c

?? AVRkaifashili.rar
?? C
字號:
//***************************FileName:PS.C*************************//
//***************************ICCAVR6.30編譯************************//
//**************************MMI Firmware 1.0***********************//
//**************************Last Update:2005-3*********************//

#include <io8535v.h>         //AT90S8535單片機寄存器定義
#include <macros.h>          //宏
#include "Encode.h"          //PS/2鍵盤譯碼表
#include "ZIMO.H"            //LCD字模表
#define uchar unsigned char  //數據類型說明
#define uint unsigned int    //數據類型說明

uchar Row=0;                 //LCD當前行位置計數器
uchar Column=0;              //LCD當前列位置計數器
uchar R_flag=0;              //LCD換行標志;
uchar Int_Number;            //中斷計數器;
uchar Key_Value;             //鍵盤編碼值;
uchar Key_Up;                //鍵盤被釋放標志;
uchar Byte_Flag;             //鍵盤編碼接收完成標志;
uchar Status=0;              //定義系統狀態(tài)0:登陸,1:選擇
uint Voltage_A;               //定義A點電壓采樣值     
uint Voltage_B;               //定義B點電壓采樣值
uint Voltage_Diff;           //定義AB點電壓采樣差之絕對值
uchar V_Flag;                //定義AB點電壓差符號標志
uchar A_Data[3];             //定義A點電壓處理值
uchar B_Data[3];             //定義B點電壓處理值
uchar AB_Data[3];            //定義AB點電壓差處理值
uchar RE_Password[6];        //輸入密碼記錄
uchar Password[6]={2,0,0,5,0,3};//系統初試密碼:200503

//***************************延時函數**********************//
void DelayMs(uint time)
{uint temp;
 for(;time!=0;time--)
    for(temp=2000;temp!=0;temp--) ;
}

//***************************延時函數**********************//
void DelayUs(uchar time)
{uchar temp;
 for(;time!=0;time--)
    NOP();
}

//***************************AT90S8535 I/O口初始化*********//
void Init_IO(void)
{DDRA=0x00;
 PORTA=0x00;
 DDRB=0xff;
 PORTB=0xff;
 DDRC=0xff;
 PORTC=0xff;
 DDRD=0x80;
 PORTD=0x80;
}

//***************************A/D轉換初始化函數*************//
void Init_ADC(void)
{ADMUX=0x00;
 ADCSR=0xe6;
}

//***************************A/D轉換采樣電壓值*************//
//參數說明:
//Channel:0 A點電壓采樣;1:B點電壓采樣;2:A、B電壓差值
//返回值:電壓采樣值或者A、B點采樣差值
uint ADC_Convert(uchar Channel)
{uint temp1,temp2;
 if(Channel!=2)  
   {ADMUX=Channel;
    DelayUs(10);
    temp1=(uint)ADCL;
    temp2=(uint)ADCH;
    temp2=(temp2<<8)+temp1;}
 else 
    if(Voltage_A>Voltage_B)
	  {V_Flag=1;
	   temp2=Voltage_A-Voltage_B;}
	else
	  {V_Flag=0;
	   temp2=Voltage_B-Voltage_A;}
 return(temp2);
}

//***************************電壓數據處理******************//
//參數說明:
//temp:A、B點電壓采樣值或差值;
//pt[]:轉換數據處理,保留兩位小數,如3.51(V)。
void V_Process(uint temp,uchar *pt)
{uint temp1;
 temp1=temp*5;
 pt[0]=temp1/1023;           //電壓整數值         
 temp1=temp1%1023;
 temp1=temp1*10;
 pt[1]=temp1/1023;           //電壓第一位小數值
 temp1=temp1%1023;
 temp1=temp1*10;
 pt[2]=temp1/1023;           //電壓第二位小數值
}

//***************************密碼驗證函數******************//
//參數說明:pt[]:輸入密碼;
//返回值:6:密碼正確;其他:密碼錯誤; 
uchar Check_Password(uchar *pt)
{uchar i,j=0;
 for(i=0;i<6;i++)
  if(pt[i]==Password[i]) j++;
 return(j);
}

//sbit KEY_CLK=PD^3  //PS/2接口時鐘線   
//sbit KEY_DATA=PD^2;//Interrupt

//***************************LCD函數開始********************// 
//sbit DI=PB^0;  
void Set_DI(uchar i)
{if(i==1) PORTB=PORTB|0x01;
 else     PORTB=PORTB&0xfe;}
 
//sbit RW=PB^1;
void Set_RW(uchar i)
{if(i==1) PORTB=PORTB|0x02;
 else     PORTB=PORTB&0xfd;}
 
//sbit ENABLE=PB^2;
void Set_EN(uchar i)
{if(i==1) PORTB=PORTB|0x04;
 else     PORTB=PORTB&0xfb;}

//sbit CS1=PB^3;
void Set_CS1(uchar i)
{if(i==1) PORTB=PORTB|0x08;
 else     PORTB=PORTB&0xf7;}

//sbit CS2=PB^4;
void Set_CS2(uchar i)
{if(i==1) PORTB=PORTB|0x10;
 else     PORTB=PORTB&0xbf;}

//sbit RST=PB^5;
void Set_RST(uchar i)
{if(i==1) PORTB=PORTB|0x40;
 else     PORTB=PORTB&0x7f;}

//***************************LCD顯示開關控制命令***********//
//參數說明:i=0開顯示,i=1關顯示
void DisplayOnOff(uchar i)
{uchar j;
 Set_RW(0);                  // RW=0;
 Set_DI(0);                  //DI=0;
 Set_EN(0);                  //ENABLE=0;
 PORTC=62+i;                 //P0=0x3e+i;
 DelayUs(10);                //_DelayUs_();
 Set_EN(1);                  //ENABLE=1;
 DelayUs(10);                //_DelayUs_();
 DelayUs(10);                //_DelayUs_();
 Set_EN(0);                  //ENABLE=0;
}

//***************************設置LCD顯示起始行*************//
//參數說明:i=0~63
void SetStartLine(uchar i)
{Set_RW(0);                  //RW=0;
 Set_DI(0);                  //DI=0;
 Set_EN(0);                  //ENABLE=0;
 PORTC=0xc0+i;               //PORTC=0xc0+i;
 DelayUs(10);                //_DelayUs_();
 Set_EN(1);                  //ENABLE=1;
 DelayUs(10);                //_DelayUs_();
 DelayUs(10);                //_DelayUs_();
 Set_EN(0);                  //ENABLE=0;
}

//***************************設置頁(行)地址**************//
//參數說明:i=0~7
void SetX(uchar i)
{Set_RW(0);                  //RW=0;
 Set_DI(0);                  //DI=0;
 Set_EN(0);                  //ENABLE=0;
 PORTC=0xb8+i;               //P0=0xb8+i;
 DelayUs(10);                //_DelayUs_();
 Set_EN(1);                  //ENABLE=1;
 DelayUs(100);               // _DelayUs_();
 DelayUs(100);               //_DelayUs_();
 Set_EN(0);                  //ENABLE=0;
}

//***************************設置Y(列)地址***************//
//參數說明:i=0~63
void SetY(uchar i)
{Set_RW(0);                  //RW=0;
 Set_DI(0);                  //DI=0;
 Set_EN(0);                  //ENABLE=0;
 PORTC=0x40+i;               // P0=0x40+i;
 DelayUs(10);                //_DelayUs_();
 Set_EN(1);                  //ENABLE=1;
 DelayUs(10);                //_DelayUs_();
 DelayUs(10);                //_DelayUs_();
 Set_EN(0);                  //ENABLE=0;
}

//***************************寫顯示數據********************//
//參數說明:i為送DDRAM的數據
void WriteByte(uchar i)
{Set_RW(0);                  //RW=0;
 Set_DI(1);                  //DI=1;
 Set_EN(0);                  //ENABLE=0;
 PORTC=i;                    //P0=i;
 DelayUs(10);                //_DelayUs_();
 Set_EN(1);                  //ENABLE=1;
 DelayUs(10);                //_DelayUs_();
 DelayUs(10);                //_DelayUs_();
 Set_EN(0);                  //ENABLE=0;
}

//***************************LCD復位***********************//
void Reset(void)
{Set_RST(0);                 //RST=0;
 DelayMs(1);
 Set_RST(1);                 //RST=1;
}

//***************************LCD清屏幕*********************//
//參數說明:LCD從k(0~7)行開始清屏幕
void ClearScreen(uchar k)
{uchar i,j;
 Set_CS1(1);                //CS1=1;選中右屏幕
 Set_CS2(1);                //CS2=1;選中左屏幕
 for(i=k;i<8;i+=1)
 	{SetX(i);               //設置起始行
	 for(j=0;j<64;j++)  
		WriteByte(0x00);    //向DDRAM寫0清屏幕
	 }
}
 
//***************************LCD初始化*********************//
void Init_LCD(void)
{Reset();                    //LCD復位
 DelayMs(1);
 ClearScreen(0);             //LCD清屏
 DisplayOnOff(1);            //開啟顯示
 SetStartLine(0);            //設置起始行
}

//***************************LCD圖象顯示函數***************//
//參數說明:disp[]:圖象數組名;i:LCD的起始行;j:LCD的結束行
//函數功能:從LCD的i行到j行顯示數組disp[]所存的圖象
void WritePIC(const uchar *disp,uchar i,uchar j)
{uchar ii=0;
 uchar jj=0;
 uchar kk=0;
 SetX(0);
 SetY(0);
 for(ii=i;ii<j;ii++)
 {for(kk=0;kk<64;kk++)
	{Set_CS1(0);             //選擇左屏幕
	 Set_CS2(1);
	 SetX(ii);               //設置頁地址
	 SetY(kk);               //設置列地址
	 WriteByte(*disp);       //寫數據
	 disp++;}
  for(kk=0;kk<64;kk++)      
	{Set_CS1(1);             //選擇右屏幕
	 Set_CS2(0);           
	 SetX(ii);               //設置頁地址
	 SetY(kk);               //設置列地址
	 WriteByte(*disp);       //寫數據
  	 disp++;}}
} 
 
//***************************LCD中文漢字顯示函數***********//
//參數說明:disp[]:漢字字模數組名;
//參數說明:x:LCD的頁地址;y:LCD的列地址

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区啪啪| 中文字幕亚洲电影| 中文字幕精品一区二区三区精品| 亚洲欧洲日产国码二区| 色欧美片视频在线观看| 欧美不卡一区二区| 一区二区成人在线| 粉嫩在线一区二区三区视频| 欧美夫妻性生活| 亚洲综合色自拍一区| 成人手机电影网| 午夜一区二区三区视频| 91在线观看下载| 国产三级三级三级精品8ⅰ区| 午夜精品爽啪视频| 色视频一区二区| 亚洲欧洲日产国产综合网| 国产综合久久久久影院| 亚洲男同性视频| 国内久久精品视频| 日韩色在线观看| 日日夜夜精品视频天天综合网| av在线不卡免费看| 国产无人区一区二区三区| 精品亚洲欧美一区| 有码一区二区三区| 99re这里只有精品6| 国产精品福利电影一区二区三区四区 | 91蝌蚪porny九色| 国产精品美女久久久久aⅴ国产馆| 91官网在线观看| 亚洲综合一二三区| 在线亚洲+欧美+日本专区| 亚洲日本丝袜连裤袜办公室| 91免费视频网址| 一区二区三区精品| 欧美在线不卡视频| 国产不卡高清在线观看视频| 国产精品嫩草久久久久| 成人在线综合网站| 亚洲久草在线视频| 欧美偷拍一区二区| 蜜桃视频一区二区三区| 精品国产1区二区| 欧美一区二区三区视频在线观看| 日本在线观看不卡视频| 久久亚洲私人国产精品va媚药| 精品在线你懂的| 国产欧美视频一区二区| eeuss鲁片一区二区三区 | 欧美大片日本大片免费观看| 免费成人美女在线观看| 久久久久久久国产精品影院| 99久久精品国产观看| 视频一区视频二区中文| 精品国产乱码久久| 日韩午夜三级在线| 国产成人午夜高潮毛片| 一区二区三区在线视频免费观看| 欧美美女直播网站| 国产一区二区福利| 亚洲欧美另类综合偷拍| 91精品欧美久久久久久动漫| 91精品国产乱| 成人h动漫精品一区二区| 亚洲综合在线电影| 精品国产伦理网| 99久久免费视频.com| 日韩精品一二三| 中文字幕在线一区免费| 日韩一区二区在线观看| 欧美电影免费观看高清完整版在| 99久久婷婷国产精品综合| 午夜精品成人在线| 国产欧美1区2区3区| 欧美精品一二三四| 成人国产精品免费观看| 奇米影视一区二区三区小说| 九色综合狠狠综合久久| 亚洲精品国产无套在线观| 日韩一区二区免费视频| gogo大胆日本视频一区| 国产综合久久久久影院| 亚瑟在线精品视频| 国产精品久久一级| 欧美成人vr18sexvr| 国产亚洲自拍一区| 91精品国产一区二区三区香蕉| 99久久精品免费精品国产| 国产一区二区三区蝌蚪| 日韩不卡手机在线v区| 中文字幕综合网| 中国av一区二区三区| 久久久久久97三级| 一区二区三区四区中文字幕| 国产午夜精品久久久久久免费视 | 日本一区二区免费在线| 日韩视频免费观看高清完整版在线观看 | 中文字幕在线一区| 亚洲精品一区二区三区99| 欧美精品 日韩| 欧美日韩一级视频| 欧美系列一区二区| 久久久久久久久99精品| 欧美变态tickling挠脚心| 欧美日韩国产三级| 欧美天堂亚洲电影院在线播放| 成人理论电影网| 成人蜜臀av电影| 不卡电影一区二区三区| 成人性视频免费网站| 欧美www视频| 欧美大片一区二区| 久久综合色8888| 国产亚洲欧美色| 国产喷白浆一区二区三区| 欧美国产一区视频在线观看| 国产婷婷色一区二区三区| 久久久久青草大香线综合精品| 久久久国产精品午夜一区ai换脸| 视频一区视频二区中文| 青青草国产成人99久久| 日本美女视频一区二区| 久久99久久久久| 国产不卡视频在线观看| 不卡的电视剧免费网站有什么| 99久久久精品| 欧美日韩免费一区二区三区 | 久久女同互慰一区二区三区| 久久精品一区二区三区不卡牛牛| 国产日产欧美一区二区三区| 国产精品免费久久| 亚洲欧美视频一区| 丝袜美腿一区二区三区| 美日韩一区二区| 国产成人免费视频网站 | 6080午夜不卡| 久久影院视频免费| 国产精品成人一区二区艾草 | 粉嫩av一区二区三区粉嫩| 99久久99久久免费精品蜜臀| 欧美中文一区二区三区| 欧美va日韩va| 成人欧美一区二区三区小说| 亚洲成av人片一区二区| 这里只有精品99re| 久久久亚洲精品一区二区三区 | 美女一区二区三区在线观看| 国产成人综合精品三级| 日本精品一区二区三区四区的功能| 欧美日韩一级视频| 国产视频亚洲色图| 粉嫩在线一区二区三区视频| 欧美午夜在线一二页| 欧美精品一区二区在线播放| 亚洲美女偷拍久久| 久久精品国产99久久6| 99国产精品一区| 日韩片之四级片| 一区二区三区四区国产精品| 国产精一区二区三区| 国产精品久久久久久久久久免费看 | 色偷偷久久一区二区三区| 日韩欧美视频一区| 亚洲欧美日韩久久精品| 九九九久久久精品| 欧美网站大全在线观看| 久久精品久久精品| 91成人免费电影| 久久久久99精品一区| 日本最新不卡在线| 91理论电影在线观看| 国产嫩草影院久久久久| 日韩国产一区二| 色88888久久久久久影院按摩| 久久久91精品国产一区二区三区| eeuss鲁一区二区三区| 欧美mv和日韩mv的网站| 亚洲第一福利视频在线| 91免费精品国自产拍在线不卡| 久久久三级国产网站| 蜜桃av噜噜一区| 91精品国产91久久综合桃花| 一区二区成人在线观看| 91在线视频播放地址| 国产精品私人自拍| 在线播放国产精品二区一二区四区| 亚洲欧洲日本在线| 成人午夜av在线| 欧美激情中文不卡| 国产美女精品人人做人人爽| 日韩女优电影在线观看| 麻豆精品一二三| 日韩欧美国产精品一区| 老司机精品视频导航| 亚洲成av人片| 欧美精品日韩精品| 亚洲成人在线观看视频| 欧美日韩国产系列| 日韩在线一区二区|