单片机计算器设计
void main(void)
{
TMOD=0x01;
TH0=(65536-4000) / 256;
TL0=(65536-4000) % 256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
P3=0xff;
P3_4=0;
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
for(i=50;i>0;i--)
for(j=200;j>0;j--);
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
temp=P3;
temp=temp 0x0f;
switch(temp)
{
case 0x0e:
key=7;
break;
case 0x0d:
key=8;
break;
case 0x0b:
key=9;
break;
case 0x07:
key=10;
break;
}
if ((key>=0) (key10))
{
keypos++;
if(keypos8)
{
change(dispbuf,keypos);
dispbuf[0]=key;
}
else
{
keypos=8;
alarmflag=1;
}
}
temp=P3;
P1_0=~P1_0;
temp=temp 0x0f;
while(temp!=0x0f)
{
temp=P3;
temp=temp 0x0f;
}
alarmflag=0;
}
}
P3=0xff;
P3_5=0;
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
for(i=50;i>0;i--)
for(j=200;j>0;j--);
temp=P3;
temp=temp 0x0f;
if (temp!=0x0f)
{
temp=P3;
temp=temp 0x0f;
switch(temp)
{
case 0x0e:
key=4;
break;
case 0x0d:
key=5;
break;
case 0x0b:
key=6;
break;
case 0x07:
key=11;
break;
}
if ((key>=0) (key10))
{
keypos++;
if(keypos8)
{
change(dispbuf,keypos);
dispbuf[0]=key;
}
else
{
keypos=8;
alarmflag=1;
}
}
temp=P3;
P1_0=~P1_0;
temp=temp 0x0f;
while(temp!=0x0f)
{
temp=P3;
temp=temp 0x0f;
}
alarmflag=0;
}
}
c语言相关文章:c语言教程
单片机相关文章:单片机教程
单片机相关文章:单片机视频教程
单片机相关文章:单片机工作原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理
评论