版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/**按键说明S6-S11 数字0-9的输入S12清零S13等于S14-S17加减乘除程序功能:本程序为简易计算器。可以算整数且正数类型的运算。但是暂时没有实现其连算功能,故在每次运算之后,请按下清零键。*/#include#define uchar unsigned charuchar a0=16,b0=16,c0=16,d0=16,e0=16,f0=16,wei,temp,key,i,j,k;uchar jia,jian,cheng,chu,dengyu,jia0,jian0,cheng0,chu0,qingling;uchar s0,s1
2、,s2,s3,s4,s5; /参加运算的各个位unsigned long qian,hou;/定义参于运算的第一个数和第二个数。sbit dula=P26;sbit wela=P27;sbit beep=P23;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00;void delay(uchar i)for(j=i;j0;j-)for(k=125;k0;k-);void display(uchar a,uchar b,ucha
3、r c,uchar d,uchar e,uchar f) dula=0; P0=tablea; dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; delay(5); P0=tableb; dula=1; dula=0; P0=0xfd; wela=1; wela=0; delay(5); P0=tablec; dula=1; dula=0; P0=0xfb; wela=1; wela=0; delay(5); P0=tabled; dula=1; dula=0; P0=0xf7; wela=1; wela=0; delay(5); P0=tabl
4、ee; dula=1; dula=0; P0=0xef; wela=1; wela=0; delay(5); P0=tablef; dula=1; dula=0; P0=0xdf; wela=1; wela=0; delay(5);void keyscan() P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xee: key=0; wei+; break; case 0xde: key=1; wei+; break; case 0xbe:
5、 key=2; wei+; break; case 0x7e: 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) case 0xed: key=4; wei+; break; case 0xdd: key=5; wei+; break; case 0xbd: key=6; wei+; break;
6、 case 0x7d: 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) case 0xeb: key=8; wei+; break; case 0xdb: key=9; wei+; break; case 0xbb: qingling=1; /key=10; /wei+; break; case
7、 0x7b: dengyu=1; /key=11; /wei+; break; 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) case 0xe7: jia=1; /key=12; / wei+; break; case 0xd7: jian=1; break; case 0xb7: cheng=1; break; case 0x77
8、: chu=1; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; void display0()if(key!=20)switch(wei)case 1: a0=key;b0=16;c0=16;d0=16;e0=16;f0=16;break;case 2: b0=key;c0=16;d0=16;e0=16;f0=16;break;case 3: c0=key;d0=16;e0=16;f0=16;break;case 4: d0=key;e0=16;f0=16;break;case 5: e0=key;f0=16
9、; break;case 6: f0=key;/wei=0;break;key=20;display(a0,b0,c0,d0,e0,f0);if(a0!=16) s5=a0;if(b0!=16) s4=b0;if(c0!=16) s3=c0;if(d0!=16) s2=d0;if(e0!=16) s1=e0;if(f0!=16) s0=f0;void main()uchar gongneng,yunsuan; while(1) keyscan();gongneng=jia|jian|cheng|chu|dengyu|qingling;if(gongneng=0)display0();else
10、yunsuan=jia|jian|cheng|chu;if(yunsuan)a0=16;b0=16;c0=16;d0=16;e0=16;f0=16;/wei=0;if(jia)jia=0;jia0=1;jian0=0;cheng0=0;chu0=0;if(jian)jian=0;jia0=0;jian0=1;cheng0=0;chu0=0;if(cheng)cheng=0;jia0=0;jian0=0;cheng0=1;chu0=0;if(chu)chu=0;jia0=0;jian0=0;cheng0=0;chu0=1;switch(wei)case 6:qian=s5*+s4*10000+s
11、3*1000+s2*100+s1*10+s0;break;case 5:qian=s5*10000+s4*1000+s3*100+s2*10+s1;break;case 4:qian=s5*1000+s4*100+s3*10+s2;break;case 3:qian=s5*100+s4*10+s3;break;case 2:qian=s5*10+s4;break;case 1:qian=s5;break;wei=0;s0=0;s1=0;s2=0;s3=0;s4=0;s5=0;display(a0,b0,c0,d0,e0,f0);/P1=0x55;if(dengyu) dengyu=0; /di
12、splay(16,16,16,16,16,16); switch(wei)case 6:hou=s5*+s4*10000+s3*1000+s2*100+s1*10+s0;break;case 5:hou=s5*10000+s4*1000+s3*100+s2*10+s1;break;case 4:hou=s5*1000+s4*100+s3*10+s2;break;case 3:hou=s5*100+s4*10+s3;break;case 2:hou=s5*10+s4;break;case 1:hou=s5;break;wei=0;s0=0;s1=0;s2=0;s3=0;s4=0;s5=0; if
13、(jia0) jia0=0;hou=qian+hou; if(jian0) jian0=0;hou=qian-hou; if(cheng0) cheng0=0;hou=qian*hou; if(chu0) chu0=0;hou=qian/hou; if(hou10) a0=hou;b0=16;c0=16;d0=16;e0=16;f0=16; else if(hou100)a0=hou/10;b0=hou%10;c0=16;d0=16;e0=16;f0=16;elseif(hou1000)a0=hou/100;b0=hou%100/10;c0=hou%10;d0=16;e0=16;f0=16;elseif(hou10000)a0=hou/1000;b0=hou%1000/100;c0=hou%100/10;d0=hou%10;e0=16;f0=16;elseif(hou)a0=hou/10000;b0=hou%10000/1000;c0=hou%1000/100;d0=hou%100/10;e0=hou%10;f0=16;elseif(hou)a0=hou/;b0=hou%/10000;c0=hou%10000/1000;d0=hou%1000/100;e0=hou%100/10;f0=hou%10; display(a0,b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 燃气检验中心合同模板
- 船舶物料代理加盟合同模板
- 二零二四年度库房货物租赁承包合同2篇
- 精准扶贫房改造合同范例
- 版小区车位租赁简单合同
- 汽车购买中介合同模板
- 殡葬设备采购合同模板
- 抚育施工合同范例
- 2024年度防火门安装工程市场营销合同3篇
- 私下解决工伤协议书
- (完整版)护士注册体检表(正式)
- 《民法典》全文学习PPT
- GB_T 22627-2022水处理剂 聚氯化铝_(高清-最新版)
- 小学一到六年级的所有日积月累和读读背背还有古诗及文言文加上四字词大全
- 大坝防渗墙注水试验报告
- 废旧物资回收总体服务方案
- 不锈钢水箱检验报告模板内部信息可改
- 海康设备错误代码【精选文档】
- 扫描电镜原理和应用.
- 光电效应测定普朗克常数.ppt
- 奶茶店项目投资可行性分析报告
评论
0/150
提交评论