基于51单片机的计算器

继续写一下寒假做的51小项目,这一次是基于AT89C51的计算器,带一个八位密码锁功能。
具体实现了计算器的加减乘除功能,并且自带八位密码锁,输入密码后按“=”确定,错误输入三次密码就会锁定,重启后解除锁定,密码可以在密码表中设定。显示部分采用了1602显示屏。

原理图

这一次在使用AD画PCB时,考虑到计算器要脱离电源使用,所以加上了5V电子电池供电电路,让产品更有实用性。
PCB
部分代码,受篇幅限制把剩下的东西打包在了文后链接(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下载,欢迎下载共同进步资源链接

发布了11 篇原创文章 · 获赞 12 · 访问量 8512

猜你喜欢

转载自blog.csdn.net/toyjis/article/details/105312238