wulin 发表于 2020-4-6 20:53 太感谢了 |
while(1) { P11=1; P0=zixingma[s/10]; for(t=0;t<10;t++); delay5ms(); P11=0; P10=1; P0=zixingma[s%10]; for(t=0;t<10;t++); delay5ms(); P10=0; } |
机电小生 发表于 2020-4-6 15:22 动态显示要加消隐 void main() { // uint t; s=60; k=20; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1) { P0=0xff;//消隐 P10=1;P11=0; P0=zixingma[s/10]; //for(t=0;t<10;t++); delay5ms(); P0=0xff;//消隐 P10=0;P11=1; P0=zixingma[s%10]; delay5ms(); } } |
机电小生 发表于 2020-4-6 15:22 十位 编码 延时 个位 编码 十位 编码-----少了个延时吧 |
机电小生 发表于 2020-4-6 15:22 个位没有加延时吧 |
程序如下 #include <reg51.h> #define uchar unsigned char #define uint unsigned int uchar code ge[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x90}; uchar code zixingma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x90}; sbit P10=P1^0; sbit P11=P1^1; uchar s,k; void delay5ms() { uchar i,j; for(i=10;i>0;i--) for(j=248;j>0;j--); } void t_0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; k--; if(k==0) { k=20; s--; if(s==0) { s=60; } } } void main() { uint t; s=60; k=20; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1) { P11=1; P0=zixingma[s/10]; for(t=0;t<10;t++); delay5ms(); P10=1; P11=0; P0=zixingma[s%10]; } } |