找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3496|回复: 4
收起左侧

串行模式12864液晶计算器制作 附单片机程序,支持负数可算加减乘除阶乘

[复制链接]
ID:434807 发表于 2018-12-2 17:03 | 显示全部楼层 |阅读模式
12864串口 能够实现加减乘除 支持负数 有阶乘可以算,上限是12的阶乘。不支持小数......
1 2 3 加减乘除
4 5 6 阶乘
7 8 9 小数点(不好使)
= 0 清除键 待开发(设定的是除)

制作出来的实物图如下:
IMG_20181202_165356.jpg IMG_20181202_165420.jpg IMG_20181202_165441.jpg

单片机源程序如下:
  1. #include <reg52.h>
  2. #include <delay.h>
  3. #include <12864show.h>
  4. #include <keyscan.h>
  5. #include <choose.h>
  6. #include <output.h>
  7. uchar num,k,k1,k2,k3;
  8. long X,Y,Z,num1;
  9. double M,N,Q;
  10. void main()
  11. {         
  12.         init12864();
  13.         write_str(1,2,"计算器");
  14.         while(1)
  15.         {            
  16.                   keyscan();
  17.                          choose();   
  18.       write_com(0x91);
  19.                                                                 if(k==0)
  20.                                                                 {
  21.                                                            output(X);                                          
  22.                                                                 }        
  23.                 if (k!=0)
  24.                 {
  25.                 write_com(0x88);
  26.                 switch(k)
  27.                 {
  28.     case 4:
  29.                 write_date(0x2f);//乘法        
  30.                 break;
  31.                 case 3:
  32.                 write_date(0x2a);//除法
  33.                 break;
  34.                 case 2:
  35.                 write_date(0x2d);//减法
  36.                 break;
  37.                 case 1:
  38.                 write_date(0x2b);
  39.                 break;
  40.                 case 5:
  41.                 write_com(0x94);        
  42.                 write_date(0x7c);        
  43.                 break;
  44.                 }
  45.                 }        
  46.                                                                   if(k==1||k==2||k==3||k==4)        
  47.                                                                          {
  48.                                                                                   write_com(0x89);
  49.                       output(Y);                                                                                 
  50.                                                                          }               
  51.                 if(k1==1)
  52.                                                                 {                k1=0;
  53.                                                                         write_com(0x98);
  54.                                                                         if(Z>=0)
  55.                                                                         {
  56.                                                                         write_date('=');                                                   
  57.                                                                         write_date(0x20);                                                
  58.                                                                         output(Z);
  59.                                                                         }               
  60.                   else if(Z<0)
  61.                          {
  62.                                                                         Z=(-1)*Z;
  63.                                                                   write_date('=');                                                   
  64.                                                                         write_date(0x2d);        
  65.                   output(Z);
  66.                                                                         }        
  67.                                                                 }        
  68.                                                 
  69.         }
  70. }
复制代码

所有资料51hei提供下载:
液晶12864计算器串口 - 副本.zip (54.83 KB, 下载次数: 76)

评分

参与人数 2黑币 +58 收起 理由
2925141396 + 8
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:439440 发表于 2018-12-7 17:58 | 显示全部楼层
老哥,你这个6呀,直接调用头文件。。。。
回复

使用道具 举报

ID:441947 发表于 2018-12-8 02:46 | 显示全部楼层
好东西
回复

使用道具 举报

ID:433038 发表于 2018-12-8 20:11 | 显示全部楼层
好东西,顶一下
回复

使用道具 举报

ID:455574 发表于 2018-12-26 16:36 | 显示全部楼层
你好,为什么没有原理图呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表