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

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

?? ps._c

?? 一個很好的人機界面程序,包括液晶模塊,鍵盤接口,電壓測量,報警電路
?? _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;              //定義系統狀態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一区二区三区免费野_久草精品视频
亚洲精品精品亚洲| 精品国产免费一区二区三区香蕉| 免费成人性网站| 亚欧色一区w666天堂| 亚洲国产aⅴ成人精品无吗| 一区二区三区四区视频精品免费| 亚洲欧美综合另类在线卡通| 国产欧美1区2区3区| 久久精品一二三| 日本一区二区三区高清不卡| 欧美极品aⅴ影院| 中文字幕一区二区三区av| 国产精品妹子av| 亚洲精品自拍动漫在线| 一区二区成人在线视频| 亚洲不卡一区二区三区| 视频一区视频二区中文| 亚洲成人激情综合网| 亚洲国产aⅴ天堂久久| 日韩精品一级二级| 久草在线在线精品观看| 国产精品99久久久| 一本一本大道香蕉久在线精品 | 亚洲午夜精品网| 亚洲一区二区三区在线看 | 欧美亚洲日本国产| 欧美日韩二区三区| 欧美xxxxxxxx| 亚洲欧美中日韩| 亚洲高清一区二区三区| 日本欧美一区二区| 成人av影视在线观看| 在线亚洲人成电影网站色www| 精品视频免费在线| 欧美精品一区二| 亚洲色图欧美偷拍| 美女任你摸久久| 不卡视频在线看| 欧美久久久一区| 国产女同性恋一区二区| 亚洲另类春色国产| 国产尤物一区二区| 99久久精品免费| 日韩午夜激情电影| 国产精品传媒视频| 美腿丝袜亚洲色图| 99精品欧美一区二区三区综合在线| 欧美三级日韩三级国产三级| 久久精品亚洲一区二区三区浴池| 亚洲日韩欧美一区二区在线| 奇米色一区二区| 91视频观看视频| 久久久久久久久免费| 亚洲国产成人av| 99久久精品99国产精品| 精品三级在线看| 午夜欧美在线一二页| 99精品视频一区二区| 精品国产髙清在线看国产毛片| 日韩久久一区二区| 国产成人午夜精品影院观看视频| 欧美日韩在线播放一区| 99精品欧美一区| 亚洲午夜久久久久久久久久久 | 久久网站热最新地址| 亚洲动漫第一页| 91蜜桃视频在线| 国产欧美一区二区精品婷婷| 蜜臀精品久久久久久蜜臀 | 丝袜美腿一区二区三区| 91色综合久久久久婷婷| 国产精品视频观看| 国产精品影视网| 精品卡一卡二卡三卡四在线| 日韩精品电影在线| 欧美日韩一区二区三区四区五区 | 中文字幕一区在线观看| 国产激情视频一区二区三区欧美 | 国内一区二区视频| 日韩一区二区三区精品视频| 日韩精品久久久久久| 欧美视频在线一区二区三区| 亚洲一区影音先锋| 欧美少妇一区二区| 一区二区三区四区不卡在线| 色噜噜狠狠一区二区三区果冻| 国产精品欧美一级免费| 99精品视频一区| 一区二区三区中文字幕电影 | 一区二区三区中文在线观看| 欧美中文字幕久久| 五月激情综合色| 91精品国产乱码久久蜜臀| 捆绑调教一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av | 国产偷v国产偷v亚洲高清| 粉嫩av一区二区三区在线播放 | 成人激情午夜影院| 亚洲天堂免费看| 欧美午夜精品久久久久久超碰 | 蜜臀a∨国产成人精品| 久久综合色一综合色88| 国产成人高清在线| 亚洲私人影院在线观看| 欧美色中文字幕| 捆绑调教美女网站视频一区| 国产精品女上位| 欧美日韩一区三区四区| 国产九色sp调教91| 亚洲最快最全在线视频| 日韩精品中文字幕在线一区| 成人丝袜18视频在线观看| 亚洲小少妇裸体bbw| 2024国产精品| 欧美专区亚洲专区| 精品无人码麻豆乱码1区2区| 国产精品福利电影一区二区三区四区| 色婷婷久久一区二区三区麻豆| 日本午夜一区二区| 成人欧美一区二区三区黑人麻豆 | 91精品一区二区三区久久久久久 | 亚洲日本va在线观看| 欧美群妇大交群中文字幕| 国产盗摄女厕一区二区三区| 亚洲综合清纯丝袜自拍| 国产欧美一区二区三区鸳鸯浴| 色婷婷精品久久二区二区蜜臀av | 国产成人av福利| 亚欧色一区w666天堂| 国产精品二区一区二区aⅴ污介绍| 欧美精品久久久久久久久老牛影院 | 日本美女一区二区三区视频| 国产精品久久久久久久浪潮网站| 欧美日韩国产另类一区| 99视频精品全部免费在线| 另类小说欧美激情| 亚洲成av人片在线| 一区二区三区欧美日| 欧美国产在线观看| 精品国产乱码久久久久久闺蜜| 欧美伊人久久久久久久久影院| 国产很黄免费观看久久| 麻豆国产91在线播放| 亚洲福利电影网| 亚洲精品免费在线播放| 国产精品女同一区二区三区| 国产亚洲一二三区| 26uuu欧美日本| 精品国产99国产精品| 日韩一区二区免费高清| 欧美情侣在线播放| 欧美日韩国产成人在线免费| 欧美在线三级电影| 色偷偷88欧美精品久久久| 91色乱码一区二区三区| 不卡视频在线看| 成人av免费在线观看| 成a人片国产精品| av日韩在线网站| 91美女视频网站| 91偷拍与自偷拍精品| 91蜜桃免费观看视频| 色域天天综合网| 精品婷婷伊人一区三区三| 欧美日韩一区视频| 51精品久久久久久久蜜臀| 欧美一级夜夜爽| 欧美不卡一二三| 久久综合久色欧美综合狠狠| 久久蜜桃一区二区| 国产精品五月天| 悠悠色在线精品| 日韩专区中文字幕一区二区| 免费人成在线不卡| 国产精品一卡二| 99视频超级精品| 欧美日韩国产一级| 制服丝袜亚洲色图| 精品少妇一区二区三区在线播放| 久久久电影一区二区三区| 日本一区二区三区国色天香| 亚洲欧美激情一区二区| 亚洲第一狼人社区| 毛片av一区二区| 成人黄动漫网站免费app| 色哟哟国产精品| 日韩欧美一区二区视频| 国产亚洲精品久| 亚洲午夜一二三区视频| 久久成人综合网| 91丨九色丨国产丨porny| 欧美日韩一级二级三级| 久久久久久亚洲综合| 亚洲精品大片www| 蜜臀91精品一区二区三区| 不卡视频一二三四| 91精品婷婷国产综合久久| 欧美韩日一区二区三区| 视频一区国产视频| 99久久99久久精品国产片果冻|