/*******************************************************
电子钟
显示格式:**-**-**,分别为时,分,秒
Author:Vivien
*******************************************************/
#include <reg51.h>
#define DataPort P0 //数据端口
sbit Seg = P2^2; //段码锁存
sbit Bit = P2^3; //位码锁存
unsigned char code Seg_Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x40};
unsigned char code Bit_Code[] = {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
unsigned char Disp_Num[8];
//七段显示子函数,FirstBit表示显示开始的位置(0-7),Num表示显示的位数(1-8)
void Display(unsigned char FirstBit,unsigned char Num);
void delay_1ms()
{
unsigned char i;
TMOD = 0x01; //T0工作在定时方式,方式1
TH0 = 0xff; //50us的初值
TL0 = 0xce;
TR0 = 1; //开T0
for(i = 0;i < 20;i++)
{
while(!TF0); //等待时间,原地踏步
TF0 = 0; //清除标志位
TH0 = 0xff; //重新赋初值
TL0 = 0xce;
}
}
//七段显示子函数,FirstBit表示显示开始的位置(1-8),Num表示显示的位数(1-8)
void Display(unsigned char FirstBit,unsigned char Num)
{
unsigned char i;
for(i = 0;i < Num;i++)
C语言51单片机之电子时钟
最新推荐文章于 2025-05-22 16:37:26 发布