基于51单片机的简易计算器

上传人:jiz****88 文档编号:38885821 上传时间:2021-11-09 格式:DOC 页数:12 大小:100KB
返回 下载 相关 举报
基于51单片机的简易计算器_第1页
第1页 / 共12页
基于51单片机的简易计算器_第2页
第2页 / 共12页
基于51单片机的简易计算器_第3页
第3页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 基于51单片机的简易计算器 /* 阿斌独家制作: 计算器数码管显示 可计算 10 以下数加减乘除 可连续运算最大显示结果数值 9999 */ 键盘设置: 主程序: #in clude #defi ne uint un sig ned int #defi ne uchar un sig ned char uchar nu m,temp,jia=O,jia n=O,che ng=O,chu二 O,qin g=0; uint key,key1; uchar table= 0 x3f,0 x06,0 x5b,0 x4f, 0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x0; 2 void delay( uint z) uint x,y; for(x二z;x0;x-) for(y=110;y0;y-); void keysca n() P3=0 xfe; temp二P3; temp二temp&0 xf0; while(temp!=OxfO) delay(5); temp=P3; temp二temp&0 xf0; while(temp!=0 xf0) temp=P3; switch(temp) case 0 xee:key=1; num=0;break;3 case 0 xde:key=2 ;num=O;break; case 0 xbe:key=3 ;num=O;break; case 0 x7e:num=1;break; while(temp!=OxfO) temp=P3; temp二temp&0 xf0; P3=0 xfd; temp=P3; temp二temp&0 xf0; while(temp!=0 xf0) delay(5); temp=P3; temp二temp&OxfO; while(temp!=0 xf0) /加号 4 temp=P3;5 switch(temp) case Oxed:key二 4;num=O;break; case 0 xdd:key=5 ;num=O;break; case 0 xbd:key=6 ;num=O;break; while(temp!=OxfO) temp=P3; temp二temp&OxfO; P3=0 xfb; temp=P3; temp二temp&OxfO; while(temp!=0 xf0) delay(5); temp=P3; temp二temp&OxfO;case 0 x7d:num=2;break; II减号 while(temp!=OxfO) temp二P3; switch(temp) case 0 xeb:key=7 ;num=O;break; case 0 xdb:key=8 ;num=O;break; case 0 xbb:key=9 ;num=O;break; case 0 x7 b:num=3;break; / 乘号 while(temp!=0 xf0) temp=P3; temp二temp&0 xf0; P3=0 xf7; temp=P3; temp二temp&0 xf0; while(temp!=OxfO) 5 delay(5); temp二P3; temp二temp&0 xfO; while(temp!=OxfO) temp=P3; switch(temp) case 0 xe7:key=0;num=O;break; case 0 xd7:num=6;break; / 清除 case 0 xb7:num=5;break; /等于号 case 0 x77:num=4;break; / 除号 while(temp!=0 xf0) temp=P3; temp二temp&0 xf0; void display( uint shu) 6 8 uint qia n,bai,shi,ge; qia n=shu/1000; bai二shu%1000/100; shi=shu%100/10; ge=shu%10; P2=0 x1f; if(qia n=0) P0=table10; else P0=tableqia n; delay(5); P2=0 x2f; if(qia n=0&bai=0) P0=table10; else P0=tablebai; delay(5); P2=0 x4f; if(qia n=0&bai=0&shi=0) P0=table10; else9 P0二tableshi; delay(5); P2=0 x8f; P0=tablege; delay(5); void jia1() jia=1; jia n=che ng二chu二 qin g=0; key1=key; void jia n1() jia n=1; jia二che ng二chu二 qin g=0; key1=key; void che ng1() cheng=1; jia=jia n=chu二 qin g=0;10 keyl二key; void chu1() chu=1; jia=jia n=che ng二qin g=0; key1=key; void qin g1() qin g=1; jia=jia n=che ng二chu=0; key1=key=0; void den g1() if(jia) key=key1+key; if(jia n) key=key1-key; if(che ng) key=key1*key;5 “ if(chu) key二keyl/key; display(key); jia=jia n=che ng二chu二 qin g=0; void deal() switch( num) case 0: display(key);break; case 1: jia1();break; case 2: jia n1();break; case 3: che ng1();break; case 4: chu1();break; case 5: den g1();break; case 6: qin g1();break; void mai n() P2=0 x0f; while(1)12 keysca n(); deal(); 11
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!