C语言51单片机之电子时钟

本文详细介绍了如何使用C语言在51单片机上开发一个电子时钟。从硬件连接到软件编程,涵盖了时钟显示、时间设置和中断处理等关键步骤,帮助读者掌握51单片机的基础应用和C语言编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*******************************************************
电子钟   
显示格式:**-**-**,分别为时,分,秒
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++)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值