我用
proteus做一个00-50的数码显示,
仿真时候没问题,
P3.6,P3.7脚连接开关,接低电平时分别控制数字上升下降,
但是自己买了
芯片搭
电路时却没反应
一开
电源,数码管初始显示正确,为00
但是之后P3.6,P3.7无法控制,数字一直为00
用万用表测量P3.6,P3.7时正常,即平时为高电平,需要控制时接地转低电平
我的程序就是判断低电平则升高或降低
仿真完全没问题,运行的杠杠的。
晶振12MHZ,电容33pF
20脚接地,40脚接VCC,RST脚如图,31脚EA接VCC高电平。
求教大虾,哪里有问题啊,如何解决啊?
#include<reg51.h>
unsigned char tabe[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char i,j,k,count;
sbit s1=P3^7;
sbit s2=P3^6;
void delay(j)
{for(i=40;i>0;i--)
for(j=500;j>0;j--);
}
void main(void)
{ count=0;
P0=tabe[count/10];
P2=tabe[count%10];
while(1)
{if(s1==0)
delay();
if(s1==0)
{if(count==30)
continue;
else{count++;
}
P0=tabe[count/10] ;
P2=tabe[count%10];
}
else
if(s2==0)
delay();
if(s2==0)
{if(count==0)
continue;
else{count--;}
}
P0=tabe[count/10] ;
P2=tabe[count%10];
}
}
这是我对应上图的程序,唯一不同的是这段程序我昨晚改写成了00-30。
请指正,谢谢。
一周热门 更多>