12864串口 能够实现加减乘除 支持负数 有阶乘可以算,上限是12的阶乘。不支持小数...... 1 | 2 | 3 | 加减乘除 | 4 | 5 | 6 | 阶乘 | 7 | 8 | 9 | 小数点(不好使) | = | 0 | 清除键 | 待开发(设定的是除) |
制作出来的实物图如下:
单片机源程序如下:
- #include <reg52.h>
- #include <delay.h>
- #include <12864show.h>
- #include <keyscan.h>
- #include <choose.h>
- #include <output.h>
- uchar num,k,k1,k2,k3;
- long X,Y,Z,num1;
- double M,N,Q;
- void main()
- {
- init12864();
- write_str(1,2,"计算器");
- while(1)
- {
- keyscan();
- choose();
- write_com(0x91);
- if(k==0)
- {
- output(X);
- }
- if (k!=0)
- {
- write_com(0x88);
- switch(k)
- {
- case 4:
- write_date(0x2f);//乘法
- break;
- case 3:
- write_date(0x2a);//除法
- break;
- case 2:
- write_date(0x2d);//减法
- break;
- case 1:
- write_date(0x2b);
- break;
- case 5:
- write_com(0x94);
- write_date(0x7c);
- break;
- }
- }
- if(k==1||k==2||k==3||k==4)
- {
- write_com(0x89);
- output(Y);
- }
- if(k1==1)
- { k1=0;
- write_com(0x98);
- if(Z>=0)
- {
- write_date('=');
- write_date(0x20);
- output(Z);
- }
- else if(Z<0)
- {
- Z=(-1)*Z;
- write_date('=');
- write_date(0x2d);
- output(Z);
- }
- }
-
- }
- }
复制代码
所有资料51hei提供下载:
液晶12864计算器串口 - 副本.zip
(54.83 KB, 下载次数: 77)
|