标题: 精确到百分之一秒的跑表 [打印本页]

作者: huyun    时间: 2015-6-5 00:29
标题: 精确到百分之一秒的跑表
#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit key1=P3^4;

                                                                                        sbit wexu=P2^7;


sbit duxu=P2^6;

uchar code table[]=

{0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71

};

uint shu;

uchar bai,shi,ge;

void chushi();

void yanshi(uint z);

void xianshi(uint shu);

void main()

{

        chushi();

        while(1)

        {

                if(key1==0)

                {

                        yanshi(5);

                        if(key1==0)

                        {

                                TR0=0;

                        }

                        while(!key1);

                        yanshi(5);

                        while(!key1);

                }

                TR0=1;

                xianshi(shu);

        }


}

void chushi()

{

        key1=1;               

        EA=1;

        ET0=1;

        TMOD=0x01;

        TH0=(65536-10000)/256;

        TL0=(65536-10000)%256;

        TR0=1;

        wexu=0;

        duxu=0;

        shu=0;

       

}

void xianshi(uint shu)

{

        ge=shu%10;

        shi=shu%100/10;

        bai=shu/100;

       


        wexu=1;

        P0=0xfb;

        wexu=0;

        P0=0xff;

       

        duxu=1;

        P0=table[ge];

        duxu=0;

        yanshi(5);





        wexu=1;

        P0=0xfd;

        wexu=0;

        P0=0xff;

        duxu=1;

        P0=table[shi];

        duxu=0;

        yanshi(5);





        wexu=1;

        P0=0xfe;

        wexu=0;

        P0=0xff;

        duxu=1;

        P0=table[bai];

        duxu=0;

        yanshi(5);


}

void yanshi(uint z)

{

        uint x,y;

        for(x=z;x>0;x--)

                for(y=110;y>0;y--);

}

void timer0() interrupt 1

{

        TH0=(65536-10000)/256;

        TL0=(65536-10000)%256;

        shu++;

        if(shu==1000)

                shu=0;

       

}













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