资源描述:
《数显简易计算器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/*********************************************************************可以连算不需反复清零,但每次输入参数后必须输入"等于"此问题有待解决.立编*********************************************************************/#include#defineucharunsignedcharuchara0=16,b0=16,c0=16,d0=16,e0=16,s0,s1,s2,s3,s4,s5,f0=16,wei,temp,
2、key,i,j,k,jian0,jia0,cheng0,chu0;ucharjia,jian,cheng,chu,dengyu,qingling,yunsuan;unsignedlongnum,M;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--)
3、for(k=125;k>0;k--);}voiddisplay(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;
4、P0=0xf7;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=1;wei++;break;case0xd
5、e:key=2;wei++;break;case0xbe:key=3;wei++;break;case0x7e:jia=1;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;wei++;break;case0xdd:key=5;wei++;break;case0xbd:key=
6、6;wei++;break;case0x7d:jian=1;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=7;wei++;break;case0xdb:key=8;wei++;break;case0xbb:key=9;wei++;break;case0x7b:cheng=1;b
7、reak;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;beep=0;}beep=1;}}P3=0xf7;temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);if(temp!=0xf0){temp=P3;switch(temp){case0xe7:qingling=1;break;case0xd7:key=0;wei++;break;case0xb7:dengyu=1;break;case0x77:chu=1;break;}while(temp!=0xf0){temp=P3;tem