本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
//两位数码管定时显示//??
??
?? #include<reg52.h>
?? unsigned char m;
?? unsigned char i;
?? unsigned char j;
?? unsigned char Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
?
?void delay()
?{??? unsigned char j;
?
?? for(j=0;j<55;j++)
? {}
?
?
?
?}?
?void displaycode()
?{???
??? if(m==20)
??? {? ???
??? P2=0xbf;//P2.6引脚输出低电平,DS6点亮
??? P0=Tab[i/10];//显示十位
??? ??
??? ?? ??? ? delay();
??? ?delay();
??? ???? ?delay();
??? ? delay();
??? ?delay();
??? P2=0x7f;????? //P2.7引脚输出低电平,DS7点亮
??? P0=Tab[i%10];? //显示个位
? ??? ???? ? delay();
??? ?delay();
??? ???? ?delay();
??? ? delay();
??? ?delay();
??? ?m=0;
??? ?i++;
??? }
?
?
?}
?? void main()
?? {? i=0;
???? ? m=0;
??? ?EA=1;
??? ?ET0=1;
??? ?TMOD=0x01;
??? ?TR0=1;
??? ?TH0=(65536-50000)/256;
??? ?TL0=(65536-50000)%256;
??? ?while(1)
??? ?{
??? ?? displaycode();
??? ?
??? ?}
??
?? }
?? void int0() interrupt 1
?? {
?? ??? ?m++;
?? ??? ??? ?TH0=(65536-50000)/256;
??? ?TL0=(65536-50000)%256;
??
?? }
我把这个程序烧写到实验班上,可是十位数码管一闪一闪的,却找不到原因.我是C51的初学者,请把不会一闪一闪的程序回复我.谢谢
我不知道这个程序哪里的问题导致十位会一闪一闪的,(个位数码管很正常,一直都是亮的) |