51定时器四位数码管实现0-999

一、初值计算(使用1ms,12Mhz),可用来快捷计算,如图所示

51定时器四位数码管实现0-999_第1张图片

#include 
#define TIME 1000
sbit LSA=P2^2;  
sbit LSB=P2^3;
sbit LSC=P2^4;
unsigned int code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管段码,共阴极段码
unsigned int disbuff[3];//存放00~999的数组
unsigned int t=0;//数值00~999
//函数功能:定时器0初始化
void In0Init()
{
	TMOD &= 0xF0;              //开启定时器0
    TH0 = 0xD1;                //赋初值
    TL0 = 0x20;
    EA = 1;                    //开启总中断
    ET0 = 1;                   //开启定时器0的中断
    TR0 = 1;
}

//函数功能:数码管显示
void DigDisplay()
{
unsigned int i,j;
for (i=0;i<3;i++)
        {
       

你可能感兴趣的:(51单片机,c语言)