要求:
单片机连接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();
复制代码 详情请下载附件!!!!!
|