单片机数码管60分钟倒计时c程序

发布时间:2018-06-30 07:46:46   来源:文档文库   
字号:

#include

#define uchar unsigned char

#define uint unsigned int

uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阴数码管 0-9

uint a=20;

uchar buffer[]={59,59};

sbit P2_7=P2^7;

sbit P2_6=P2^6;

sbit P2_5=P2^5;

sbit P2_4=P2^4;

sbit P2_3=P2^3;

sbit P2_2=P2^2;

void delay(uint x);

void display();

void init()

{

TH0=0x4c;

TL0=0x00;

TMOD=0X01;

IE=0X82;

TR0=1;

}

void main()

{

init();

while(1)

{

display();

}

}

timer0() interrupt 1 using 1

{

TH0=0x4c;

TL0=0x00;

a--;

if(a==10)

{

P2_3=0;

P2_2=0;

}

if (a==0)

{

a=20;

P2_3=1;

P2_2=1;

buffer[1]--;

if(buffer[1]==0)

{

buffer[1]=59;

buffer[0]--;

if(buffer[0]==0)

{

buffer[0]=59;

}

}

}

}

void display()

{

P0=tab[buffer[0]/10];

P2_7=0;

delay(50);

P2_7=1;

P0=tab[buffer[0]%10];

P2_6=0;

delay(50);

P2_6=1;

P0=tab[buffer[1]/10];

P2_5=0;

delay(50);

P2_5=1;

P0=tab[buffer[1]%10];

P2_4=0;

delay(50);

P2_4=1;

}

void delay(uint x)

{

uint j ,k;

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

for(k=100;k>0;k--);

}

本文来源:https://www.2haoxitong.net/k/doc/c3ebf9b402d276a201292e08.html

《单片机数码管60分钟倒计时c程序.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式