要求:
單片機連接3*4keypad-phone、AT24C02和12864LCD,密碼存儲在AT24C02中,用戶輸入密碼正確時開鎖,并支持用戶修改密碼,要求在KEIL中編寫程序,用PROTEUS設計電路并仿真運行。具體要求如下:
仿真圖:
代碼塊:
- #include <ST7920.h>
- #include <keypad4_3.h>
- #include <24C02.h>
- sbit led=P3^3;
- sbit beep=P1^3;
- u8 psw[7]=""; //存放從24C02中導出的密碼
- u8 str[7]=""; //存放輸入的密碼
- u8 str1[7]=""; //存放再次輸入的密碼
- u8 fre,a;
- void delay_ms(u16 x)//毫秒延時函數
- {u16 i,j;
- for(i=0;i<x;i++)
- for(j=0;j<115;j++);
- }
- void nuit()
- {
- TMOD|=0X01;
- TH0=0xfe;
- TL0=0x00;
- EA=1; //總開關打開中斷控制
- IT0 = 1; //下降沿有效
- EX0 = 1; //允許外部中斷1中斷
- ET0=1; //定時器允許中斷
- TR0=0; // 關定時器
- }
- void main() //主函數
- {
- u8 i;
- u8 ch;//按鍵
- u8 flag=0;//0輸入密碼;1修改密碼;2再次輸入密碼
- u8 key;//按鍵編碼
- u8 n=0;//當前漢字所在列
- //初始化
- //向24c02中寫入初始密碼000000
- for(i=0;i<6;i++)
- WriteRom(i,'0');
- WriteRom(i,'\0');
- //顯示初始化
- ST7920_Init();//12864初始化
- ST7920_str("請輸入密碼:",0,0);
- ST7920_str("",1,0);//定位到第二行顯示
- nuit();
復制代碼 詳情請下載附件!!!!!
|