12864串口 能夠實現加減乘除 支持負數 有階乘可以算,上限是12的階乘。不支持小數...... 1 | 2 | 3 | 加減乘除 | 4 | 5 | 6 | 階乘 | 7 | 8 | 9 | 小數點(不好使) | = | 0 | 清除鍵 | 待開發(設定的是除) |
制作出來的實物圖如下:
IMG_20181202_165356.jpg (7.48 MB, 下載次數: 50)
下載附件
2018-12-2 17:03 上傳
IMG_20181202_165420.jpg (6.8 MB, 下載次數: 59)
下載附件
2018-12-2 17:03 上傳
IMG_20181202_165441.jpg (9.19 MB, 下載次數: 60)
下載附件
2018-12-2 17:03 上傳
單片機源程序如下:
- #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)
2018-12-2 17:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|