设计任务与要求
1、能够实现密码开关锁功能。
2、能更改原密码。
3、系统有报警功能。
4、24C02能存储密码。
5、采用12864液晶显示。
硬件框图于说明
AT89
J 12864液晶显示模块
矩阵键盘控
制
C12
DB5
HL
数据线
13
DB6
HL
数据线
14
DB7
HL
数据线
15
FSB
HL
并串/行接口选择H并行L串行
16
HL
空脚
17
RST
HL
复位信号
18
VEE
-10
LCD驱动负电压输入
19
LEDK
+5
背光电源
20
LEDA
0
背光
键盘扫描
显示上锁
键盘扫描
提不'确认首
主模块:
#include<>
#include ""
#include ""
#include ""
#include ""
#include ""
#include ""
#define uchar unsigned char
#define uint unsigned int extern uchar flag;
#define GPIODIG P0
//键盘标志位
//uchar data mima[7]={1,2,3,4,5,6,0};
uchar data mima1[7]={'\0','\0','\0','\0','\0','\0',0};
uchar data mima2[7]={'\0','\0','\0','\0','\0','\0',0};
uchar data mima_write[7]={'\0','\0','\0','\0','\0','\0',0};
uchar data mima_read[7]={'\0','\0','\0','\0','\0','\0',0};
sbit lock=P2A3;
sbit speaker=P2A5;
unsigned
char
code
DIG_CODE[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x77,0x7c,0x39,0x5e,0 x79,0x71};
/*********************************
初始密码123456,第一次下载程序后先修改密码,但不能按返回键,把 uchar data mima[7]={1,2,3,4,5,6,0}; for(k=0;k<6;k++){write_add(23+k,mima[k]);Delay10ms(1);} 去掉,再
次下载即可
*********************************/
void main()
{
uchar j,k,q,counter1,counter2,counter3,counter4,warn;
while(1){
speaker=0;
counter1=0;counter2=0;
counter3=0;counter4=0;
lock=1;
system_init();
i2cinit();
display_enterpassword();
/* for(k=0;k<6;k++)
write_add(23+k,mima[k]);
Delay10ms(1);
} */
for(k=0;k<6;k++)
(
mima_read[k]=read_add(23+k); Delay10ms(1);
}
clear_mima(mima_write);//将数组中的密码清空 for(;j!=10;)
(
j=keyscan1();
if(j>=0&&j<=9&&counter1<6&&flag==1)
(
mima_write[counter
自动化课程设计总结 来自淘豆网m.daumloan.com转载请标明出处.