标题: 利用单片机定时器,动态扫描方法在六位数码管上显示出稳定的654321 [打印本页]

作者: 15533300877    时间: 2018-12-15 23:22
标题: 利用单片机定时器,动态扫描方法在六位数码管上显示出稳定的654321
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint a=1;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,};
/*uchar code table2[]={
0xfe,0xfd,0xfb,0xf7,        
0xef,0xdf};*/

void main()
{
        TMOD=0x01;
        TH0=(65536-40000)/256;
        TL0=(65536-40000)%256;
        EA=1;
        ET0=1;
        TR0=1;
        while(1);
        
        
}
void T0_time() interrupt 1
{        
    TH0=(65536-917)/256;
        TL0=(65536-917)%256;
//         a++;
//   if(a>6)
//   a=1;
                switch(a)
            {
             case 1:wela=1;P0=0xfe;wela=0;P0=0xff;dula=1;P0=table[6];dula=0;a++;break;//a++;
             case 2:wela=1;P0=0xfd;wela=0;P0=0xff;dula=1;P0=table[5];dula=0;a++;break;//;a++;
             case 3:wela=1;P0=0xfb;wela=0;P0=0xff;dula=1;P0=table[4];dula=0;a++;break;//a++;
             case 4:wela=1;P0=0xf7;wela=0;P0=0xff;dula=1;P0=table[3];dula=0;a++;break;//a++;
             case 5:wela=1;P0=0xef;wela=0;P0=0xff;dula=1;P0=table[2];dula=0;a++;break;//a++;
             case 6:wela=1;P0=0xdf;wela=0;P0=0xff;dula=1;P0=table[1];dula=0;a=1;break;
             default: break;
                }         
}



作者: admin    时间: 2018-12-16 01:12
补全原理图或者详细说明一下电路连接即可获得100+黑币




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1