51单片机实现计算器Word文档格式.docx
- 文档编号:21179330
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:21
- 大小:16.41KB
51单片机实现计算器Word文档格式.docx
《51单片机实现计算器Word文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机实现计算器Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
voidqingchu();
voidmain()
{
while
(1)
{
P3=0xff;
//与独立键盘连用的关键
djp();
keyscan();
display7();
}
}
voiddelay(uintz)
uintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
voiddjp()//独立键盘
if(key1==0)
delay(5);
if(key1==0)
{
num=0;
//pduan=5;
a=b=c=d=e=f=g=0;
while(!
key1);
delay(5);
}
voiddisplay7()
if(num==0)
display1();
if(num==1)
if(a!
=0)
display1();
if(num==2)
//if(b!
//{
display1();
display2();
//}
//if(a!
//display1();
if(num==3)
//if(c!
//{
display2();
display3();
/*}
if(b!
{
}
*/
if(num==4)
//if(d!
display4();
if(c!
if(num==5)
//if(e!
display5();
if(d!
if(num==6)
//if(f!
display6();
if(e!
//if(pduan==5)
//display1();
if(num==7)
num=6;
voidjia()
pduan=1;
num1=f*100000+e*10000+d*1000+c*100+b*10+a;
num=0;
a=b=c=d=e=f=g=0;
voidjian()
pduan=2;
num2=f*100000+e*10000+d*1000+c*100+b*10+a;
voidcheng()
pduan=3;
num3=f*100000+e*10000+d*1000+c*100+b*10+a;
voidchu()
pduan=4;
num4=f*100000+e*10000+d*1000+c*100+b*10+a;
voidqingchu()
g=0;
a=b;
b=c;
c=d;
d=e;
e=f;
f=g;
num=1;
//pduan=5;
num--;
voiddeng()
num5=f*100000+e*10000+d*1000+c*100+b*10+a;
if(pduan==1)
jieguo=num5+num1;
a=jieguo%10;
b=jieguo%100/10;
c=jieguo%1000/100;
d=jieguo%10000/1000;
e=jieguo%100000/10000;
f=jieguo/100000;
if(pduan==2)
jieguo=num2-num5;
if(pduan==3)
jieguo=num5*num3;
if(pduan==4)
jieguo=num4/num5;
if(f==0)//确定位数
if(e==0)
if(d==0)
if(c==0)
{
if(b==0)
{
if(a==0)
num=0;
elsenum=1;
}
elsenum=2;
}
elsenum=3;
elsenum=4;
elsenum=5;
elsenum=6;
voidkeyscan()
P3=0xfe;
//第一部分
temp=P3;
temp=temp&
0xf0;
while(temp!
=0xf0)
P3=0xfe;
temp=P3;
temp=temp&
while(temp!
temp=P3;
switch(temp)
case0xee:
g=1;
f=e;
e=d;
d=c;
c=b;
b=a;
a=g;
num++;
break;
case0xde:
g=2;
case0xbe:
g=3;
case0x7e:
jia();
B1=0;
temp=temp&
while(temp!
temp=P3;
temp=temp&
P3=0xff;
B1=1;
P3=0xfd;
//第二部分
P3=0xfd;
case0xed:
g=4;
case0xdd:
g=5;
case0xbd:
g=6;
case0x7d:
jian();
P3=0xfb;
//第三部分
P3=0xfb;
case0xeb:
g=7;
case0xdb:
g=8;
case0xbb:
g=9;
case0x7b:
cheng();
P3=0xf7;
//第四部分
P3=0xf7;
case0xe7:
deng();
case0xd7:
g=0;
if(num==1)
num=0;
case0xb7:
qingchu();
case0x77:
chu();
voiddisplay1()
wela=1;
//第1个数字
P0=0xdf;
wela=0;
P=0x00;
dula=1;
P0=SHZ[a];
dula=0;
delay
(1);
P0=0x00;
P0=0xff;
voiddisplay2()
//第2个数字
P0=0xef;
P0=SHZ[b];
voiddisplay3()
//第3个数字
P0=0xf7;
P0=SHZ[c];
voiddisplay4()
//第4个数字
P0=0xfb;
P0=SHZ[d];
voiddisplay5()
//第5个数字
P0=0xfd;
P0=SHZ[e];
voiddisplay6()
//第6个数字
P0=0xfe;
P0=SHZ[f];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 实现 计算器