1、基于51单片机的lcd1602液晶显示的计算器可编辑基于51单片机的lcd_1602液晶显示的计算器 基于51单片机的lcd 1602液晶显示的计算器/*阿斌独家制作:计算器,1602液晶显示 可计算10以下数加减乘除可连续运算,最大显示结果数值65536*/键盘设置:液晶初始显示:运算显示:主程序:#include#include #define uint unsigned int#define uchar unsigned charsbit lcdenP22;sbit lcdrwP21;sbit lcdrsP20;uchar num,temp,jia0,jian0,cheng0,chu0,
2、qing0;uint key,key1,shu;uchar fuhao,flag1,flag0;uchar table0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x0;void delayuint zuint x,y;forxz;x0;x-fory110;y0;y-;bit lcd_bzbit result;lcdrs0;lcdrw1;lcden1;_nop_;_nop_;_nop_;_nop_;resultbitP0&0x80;lcden0;return result; void write_comuchar comwhilelcd_
3、bz;lcdrs0;lcden0;lcdrw0;P0com;delay5;lcden1;delay5;lcden0;void write_dateuchar datewhilelcd_bz;lcdrs1;lcden0;lcdrw0;P0date;delay5;lcden1;delay5;lcden0;void lcd_initlcden0;write_com0x38;write_com0x0c;write_com0x06;write_com0x01;void keyscanP30xfe;tempP3;temptemp&0xf0;whiletemp!0xf0delay5;tempP3;tempt
4、emp&0xf0;whiletemp!0xf0tempP3;switchtempcase 0xee:key1;num0;break;case 0xde:key2;num0;break;case 0xbe:key3;num0;break;case 0x7e:num1;break;/加号whiletemp!0xf0tempP3;temptemp&0xf0;P30xfd;tempP3;temptemp&0xf0;whiletemp!0xf0delay5;tempP3;temptemp&0xf0;whiletemp!0xf0tempP3;switchtempcase 0xed:key4;num0;br
5、eak;case 0xdd:key5;num0;break;case 0xbd:key6;num0;break;case 0x7d:num2;break;/减号whiletemp!0xf0tempP3;temptemp&0xf0;P30xfb;tempP3;temptemp&0xf0;whiletemp!0xf0delay5;tempP3;temptemp&0xf0;whiletemp!0xf0tempP3;switchtempcase 0xeb:key7;num0;break;case 0xdb:key8;num0;break;case 0xbb:key9;num0;break;case 0
6、x7b:num3;break;/乘号whiletemp!0xf0tempP3;temptemp&0xf0;P30xf7;tempP3;temptemp&0xf0;whiletemp!0xf0delay5;tempP3;temptemp&0xf0;whiletemp!0xf0tempP3;switchtempcase 0xe7:key0;num0;break;case 0xd7:num6;break;/清除case 0xb7:num5;break;/等于号case 0x77:num4;break;/除号whiletemp!0xf0tempP3;temptemp&0xf0;void display
7、0uint shuuint ge;geshu;write_date0x30+ge;void display1uint shuuint shi,ge;shishu/10;geshu%10;write_date0x30+shi;write_date0x30+ge; void display2uint shuuint bai,shi,ge;baishu/100;shishu%100/10;geshu%10;write_date0x30+bai;write_date0x30+shi;write_date0x30+ge; void display3uint shuuint qian,bai,shi,ge
8、;qianshu/1000;baishu%1000/100;shishu%100/10;geshu%10;write_date0x30+qian;write_date0x30+bai;write_date0x30+shi;write_date0x30+ge; void display4uint shuuint wan,qian,bai,shi,ge;wanshu/10000;qianshu%10000/1000;baishu%1000/100;shishu%100/10;geshu%10;write_date0x30+wan;write_date0x30+qian;write_date0x30
9、+bai;write_date0x30+shi;write_date0x30+ge; void display_key1uint resultifflag11write_com0x01;flag10;shuresult;write_com0x80;ifresult10display0result;ifresult10&result100display1result;ifresult100&result1000display2result;ifresult1000&result10000display3result;ifresult10000display4result; void dis_ke
10、yresultifresult10display0result;ifresult10&result100display1result;ifresult100&result1000display2result;ifresult1000&result10000display3result;ifresult10000display4result;void display_keyuint resultifshu10write_com0x80+2;dis_keyresult;ifshu10&shu100write_com0x80+3;dis_keyresult;ifshu100&shu1000write
11、_com0x80+4;dis_keyresult;ifshu1000&shu10000write_com0x80+5;dis_keyresult;ifshu10000write_com0x80+6; dis_keyresult;void display_fuhaoswitchfuhaocase 1: write_date0x2b;break;case 2: write_date0x2d;break;case 3: write_date0x2a;break;case 4: write_date0x2f;break;fuhao0; void fuhao_panifflag11flag10;writ
12、e_com0x01;write_com0x80+1;display_fuhao;ifshu10write_com0x80+1;ifshu10&shu100write_com0x80+2;ifshu100&shu1000write_com0x80+3;ifshu1000&shu10000write_com0x80+4;ifshu10000write_com0x80+5;display_fuhao;flag1; void fuhao_dengwrite_com0x80+0x40;write_date0x3d;flag11;flag0; void display_resultuint resultw
13、rite_com0x80+0x40+1;ifresult10display0result;ifresult10&result100display1result;ifresult100&result1000display2result;ifresult1000&result10000display3result;ifresult10000display4result; void jia1jia1;jianchengchuqing0;key1key;fuhao1;fuhao_pan;void jian1jian1;jiachengchuqing0;key1key;fuhao2;fuhao_pan;
14、void cheng1cheng1;jiajianchuqing0;key1key;fuhao3;fuhao_pan;void chu1chu1;jiajianchengqing0;key1key;fuhao4;fuhao_pan;void qing1qing1;jiajianchengchu0;key1key0;void deng1ifjiakeykey1+key;ifjiankeykey1-key;ifchengkeykey1*key;ifchukeykey1/key;fuhao_deng;display_resultkey;jiajianchengchuqing0;void dealswitchnumcase 0:switchflagcase 0: display_ke
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1