C程序代码源程序如下:
/*
本程序使用单片机的定时器0和中断实现9到0的倒计时功能,并用数码管显示
*/
#include <reg52.h>
#define uchar unsigned char //宏定义
#define uint unsigned int
uchar num1=9,shu;
uchar num;
sbit dula = P2^6; //段选,申明U1锁存器的锁存端,锁存器使用的是74HC573
sbit wela = P2^7; //位选,申明U2锁存器的锁存端,锁存器使用的是74HC573
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71}; //数组,用于数码管显示数字的数字集,从0到F
/*
延时函数
*/
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
/*
数码管显示函数
*/
void display(uchar x)
{
dula = 1; //打开U1锁存器,用于控制显示的数据
P0 = table[x]; //送入数据到锁存器U1,送入段选