基于单片机编程计算器的实现Word格式.docx
- 文档编号:20170460
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:14
- 大小:16.18KB
基于单片机编程计算器的实现Word格式.docx
《基于单片机编程计算器的实现Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机编程计算器的实现Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
for(j=i;
j>
0;
j--)
for(k=125;
k>
k--);
}
voiddisplay(uchara,ucharb,ucharc,uchard,uchare,ucharf)
dula=0;
P0=table[a];
dula=1;
wela=0;
P0=0xfe;
wela=1;
delay(5);
P0=table[b];
P0=0xfd;
P0=table[c];
P0=0xfb;
P0=table[d];
P0=0xf7;
P0=table[e];
P0=0xef;
P0=table[f];
P0=0xdf;
voidkeyscan()
{
P3=0xfe;
temp=P3;
temp=temp&
0xf0;
if(temp!
=0xf0)
{
delay(10);
switch(temp)
case0xee:
key=0;
wei++;
break;
case0xde:
key=1;
case0xbe:
key=2;
case0x7e:
key=3;
}
while(temp!
=0xf0)
beep=0;
beep=1;
P3=0xfd;
case0xed:
key=4;
case0xdd:
key=5;
case0xbd:
key=6;
case0x7d:
key=7;
P3=0xfb;
case0xeb:
key=8;
case0xdb:
key=9;
case0xbb:
qingling=1;
//key=10;
//wei++;
case0x7b:
dengyu=1;
//key=11;
P3=0xf7;
case0xe7:
jia=1;
//key=12;
//wei++;
case0xd7:
jian=1;
case0xb7:
cheng=1;
case0x77:
chu=1;
voiddisplay0()
if(key!
=20)
switch(wei)
{
case1:
a0=key;
b0=16;
c0=16;
d0=16;
e0=16;
f0=16;
break;
case2:
b0=key;
case3:
c0=key;
case4:
d0=key;
case5:
e0=key;
case6:
f0=key;
//wei=0;
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;
voidmain()
{uchargongneng,yunsuan;
while
(1)
keyscan();
gongneng=jia|jian|cheng|chu|dengyu|qingling;
if(gongneng==0)
display0();
}
else
{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;
if(cheng)
{cheng=0;
cheng0=1;
if(chu)
{chu=0;
jia0=0;
chu0=1;
switch(wei)
{
case6:
qian=s5*100000+s4*10000+s3*1000+s2*100+s1*10+s0;
break;
case5:
qian=s5*10000+s4*1000+s3*100+s2*10+s1;
case4:
qian=s5*1000+s4*100+s3*10+s2;
case3:
qian=s5*100+s4*10+s3;
case2:
qian=s5*10+s4;
case1:
qian=s5;
}
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;
//display(16,16,16,16,16,16);
hou=s5*100000+s4*10000+s3*1000+s2*100+s1*10+s0;
hou=s5*10000+s4*1000+s3*100+s2*10+s1;
hou=s5*1000+s4*100+s3*10+s2;
hou=s5*100+s4*10+s3;
hou=s5*10+s4;
hou=s5;
if(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(hou<
10)
a0=hou;
b0=16;
c0=16;
d0=16;
e0=16;
f0=16;
else
if(hou<
100)
{a0=hou/10;
b0=hou%10;
else
{
if(hou<
1000)
{a0=hou/100;
b0=hou%100/10;
c0=hou%10;
else
{
if(hou<
10000)
{a0=hou/1000;
b0=hou%1000/100;
c0=hou%100/10;
d0=hou%10;
else
{
if(hou<
100000)
{a0=hou/10000;
b0=hou%10000/1000;
c0=hou%1000/100;
d0=hou%100/10;
e0=hou%10;
else
{
if(hou<
1000000)
{a0=hou/100000;
b0=hou%100000/10000;
c0=hou%10000/1000;
d0=hou%1000/100;
e0=hou%100/10;
f0=hou%10;
}
}
}
}
P1=hou;
if(qingling)
jia=0;
jian=0;
cheng=0;
chu=0;
jia0=0;
qingling=0;
dengyu=0;
qian=0;
hou=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 编程 计算器 实现