本帖最后由 骑士城堡 于 2012-5-30 15:35 编辑
- #include
- #define uchar unsigned char
- #define uint unsigned int
- uchar bai,shi,ge;
- uint a,b,c;
- uchar code tabled[]={
- 0xc0,0xf9,0xa4,0xb0,
- 0x99,0x92,0x82,0xf8,
- 0x80,0x90,0x88,0x83,
- 0xc6,0xa1,0x86,0x8e};
- void delay(uint z);
- void display(uchar,uchar,uchar);
- void init();
- void main()
- {
- init();
- while(1)
- {
- if(b==40)
- {
- b=0;
- a++;
- if(a==1000)
- {
- a=0;
- }
- bai=a/100;
- shi=a%100/10;
- ge=a%10;
- }
- display(bai,shi,ge);
- }
- }
- void display(uchar bai,uchar shi,uchar ge)
- {
- delay(1);
- P0=tabled[bai];
- P1=0x7f;
- delay(1);
- P0=tabled[shi];
- P1=0xbf;
- delay(1);
- P0=tabled[ge];
- P1=0xdf;
- delay(1);
- }
- void delay(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=1;y>0;y--);
- }
- void init()
- {
- TMOD=0x01;
- TH0=(65535-500)/256;
- TL0=(65535-500)%256;
- EA=1;
- ET0=1;
- TR0=1;
- a=0;
- }
- void time0() interrupt 1
- {
- TH0=(65535-500)/256;
- TL0=(65535-500)%256;
- b++;
- }
复制代码
加到260就停了 然后会缓慢的往上加 但是往上加的量 是随机的 也不是逐个往上加的 260-269-289-300-303-309.。。。。。 这是怎么回事 求助
|