继续写一下寒假做的51小项目,这一次是基于AT89C51的计算器,带一个八位密码锁功能。
具体实现了计算器的加减乘除功能,并且自带八位密码锁,输入密码后按“=”确定,错误输入三次密码就会锁定,重启后解除锁定,密码可以在密码表中设定。显示部分采用了1602显示屏。
这一次在使用AD画PCB时,考虑到计算器要脱离电源使用,所以加上了5V电子电池供电电路,让产品更有实用性。
部分代码,受篇幅限制把剩下的东西打包在了文后链接(proteus+ad+keil)
main()
{
uchar i,num,sign,s;
uchar temp[16];
bit firstflag;
float a=0,b=0;
Lcd_Init();
DelayMs(10);
LcdWrite_cmd(0x01);
LcdWrite_string(5,0,"WELCOM !");
LcdWrite_string(3,1,"BY toyjis_YAO");
for(s=0;s<25;s++)
DelayMs(200);
LcdWrite_cmd(0x01);
mima();
DelayMs(200);
LcdWrite_string(0,1," ");//清除该行
LcdWrite_string(0,1,"Right Open!>>>>");//密码正确显示的信息
for(s=0;s<25;s++)
DelayMs(200);
LcdWrite_cmd(0x01);
while(1)
{
num=KeyPro();
if(num!=0xff)
{
if(i==0)
LcdWrite_cmd(0x01);
资源已经上传CSDN下载,欢迎下载共同进步资源链接