资源描述:
《基于单片机键盘的的编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/******************************************************************www.txmcu.comwww.txmcu.cn*******************************************************************按键说明S6--S11数字0--9的输入S12清零S13等于S14--S17加减乘除程序功能:本程序为简易计算器。可以算整数且正数类型的运算。但是暂时没有实现其连算功能,故在每次运算之后,请按下清零键。*
2、*****************************************************************/#include#defineucharunsignedcharuchara0=16,b0=16,c0=16,d0=16,e0=16,f0=16,wei,temp,key,i,j,k;ucharjia,jian,cheng,chu,dengyu,jia0,jian0,cheng0,chu0,qingling;uchars0,s1,s2,s3,s4,s5;//参加运算的各
3、个位unsignedlongqian,hou;//定义参于运算的第一个数和第二个数。sbitdula=P2^6;sbitwela=P2^7;sbitbeep=P2^3;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};voiddelay(uchari){for(j=i;j>0;j--)for(k=125;k>0;k--);}voiddisplay(
4、uchara,ucharb,ucharc,uchard,uchare,ucharf){dula=0;P0=table[a];dula=1;dula=0;wela=0;P0=0xfe;wela=1;wela=0;delay(5);P0=table[b];dula=1;dula=0;P0=0xfd;wela=1;wela=0;delay(5);P0=table[c];dula=1;dula=0;P0=0xfb;wela=1;wela=0;delay(5);P0=table[d];dula=1;dula=0;P0=0xf7
5、;wela=1;wela=0;delay(5);P0=table[e];dula=1;dula=0;P0=0xef;wela=1;wela=0;delay(5);P0=table[f];dula=1;dula=0;P0=0xdf;wela=1;wela=0;delay(5);}voidkeyscan(){{P3=0xfe;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;switch(temp){case0xee:key=0;
6、wei++;break;case0xde:key=1;wei++;break;case0xbe:key=2;wei++;break;case0x7e:key=3;wei++;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;beep=0;}beep=1;}}P3=0xfd;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;switch(temp){case0xed:key=4;we
7、i++;break;case0xdd:key=5;wei++;break;case0xbd:key=6;wei++;break;case0x7d:key=7;wei++;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;beep=0;}beep=1;}}P3=0xfb;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;switch(temp){case0xeb:key=8;wei+
8、+;break;case0xdb:key=9;wei++;break;case0xbb:qingling=1;//key=10;//wei++;break;case0x7b:dengyu=1;//key=11;//wei++;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;beep=0;}beep