基于51单片机的电子时钟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

算法流程图
开始
初始化
判断K1是否按 下?
N
判断K2是否按 下?
N
设置时间加
Y
判断K3是否按 下?
N
设置时间减
Y
设置闹钟
Xianshi_flag= =4?
写入时间显示初值
闹钟判断
蜂鸣器不响 蜂鸣器响
显示时间
主函数

void main() { init(); while(1) { key(); //动态显示
软件系统设计


单片机资源使用说明
P0口作为LED数码管的位选控制端 P1口作为LED数码管的段选控制端

数码管显示模块
LED数码管的显示要具有实时性,将显示


P3.0~P3.2口作为键盘输入端
P2.0口作为蜂鸣器控制端
函数放到中断中,程序每进入一次中断就会显示 八位LED中的一位,实现LED的动态扫描。
硬件电路

显示电路
本次设计采用八位数码管显示原理和单个LED的显示原理完全相同。
闹钟提醒电路
本次设计是通过蜂鸣器来完成闹钟提醒的功能的,蜂鸣器与芯片的P2.0相连。

按键控制电路
键盘是最常用的输入设备,是实现人机对话的纽带,具体来说键盘接口应完成以下操作功能: (1)键盘扫描,以判定是否有键被按下; (2)键识别,以确定闭合键的位置; (3)排除多建、复键及去抖。 以上这些功能通常是以软硬件结合的方式来完成的,即在软件的配合下由接口电路来完成。
电路原理图
软件系统设计

单片机
本次设计采用八位数码管显示原理和单个LED的显示原理完全相同。

按键控制电路
键盘是最常用的输入设备,是实现人机对话的纽带,具体来说键盘接口应完成以下操作功能:
(1)键盘扫描,以判定是否有键被按下;
(2)键识别,以确定闭合键的位置; (3)排除多建、复键及去抖。
以上这些功能通常是以软硬件结合的方式来完成的,即在软件的配合下由接口电路来完成。

按键控制模块
即在 STC89C52 的 P0 口和 P1 口外接八个 开启/暂停由外部中断来实现,时间调整按 LED数码管构成显示器,用P0口作LED的段码输 键由按键扫描来实现。 出口(P0.0~P0.7对应于LED的a~dp) P1口作为LED的位控输出线,P1口外接四个按键 A、B、C、D(分别对应于P1.4、P1.5、P1.6、 P1.7)用于调整显示接口电路。
延时实现闹钟功能。该方案节省硬件成本,并且可以对单片机指令系统有更深入的了解, 从而锻炼我们C语言编程能力。

键盘显示方案
AT89C52的P0口和P1口外接八个LED数码管(LED7~LED0)构成显示器,用P0口
LED的段码输出口,P1口做八个LED数码管的位选输出口,P3.0~P3.2外接三个按键K1、 K2、K3构成键盘电路。


display(a1,a2,a3,a4,a5,a6); }

中断函数

void time() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt++; if(tt==20) { tt=0; miao++; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) {






if(xianshi_flag==4) write_n_sfm(n_shi,n_fen,n_miao); else write_sfm(shi,fen,miao);




if(n_shi==shi&&n_fen==fen) beep=1; else beep=0;
//闹钟响1分钟



基于51单片机的电子时钟
目录
CONTENTS
1 功能介绍
2 总体方案设计 3 硬件电路
4 软件详解
电子时钟功能介绍
基本功能
(1)显示时,分,秒,如13-14-00; (2) 通过按键调整时间。
附加功能
(1)闹钟功能
总体方案设计

计时方案
利用AT89C52单片机内部的定时/计数器进行中断定时以及时间显示功能,配合软件
//定时器中断


















shi=0; }

百度文库
相关文档
最新文档