一、电路原理

本电路采用89C2051单片机设计硬件电路如图1所示。AT89C2051具有2k字节闪速可编程可擦除只读存储器(FLASH EEPROM)和128bytes的随机存取数据存储器(RAM),可重复擦写10000次,数据保存时间10年,工作电压范围:2.7V~6V,工作频率:0~24MHz,15根可编程I/0引线,2个16位定时器/计数器,一个5向量两级中断结构,—个全双工串行口,一个精密模拟比较器,两级程序加密,输出口可直接驱动LED显示,低功耗的闲置和调电保护工作方式,以及片内振荡器和时钟电路。本电路的设计,充分利用了单片机的硬件资源,结构简单。

89C2051单片机端口设置:Pl口分别接数码管的段码口(a~h);P3.0、P3.1、P3.2、P3.3、分别接LED数码管的位驱动;P3.4接按键51,P3.5接按键52;P3,7驱动蜂鸣器。C3、R15构成上电复位电路。Q1~Q4为数码管显示驱动三极管。电路中没有画出电源部分,电路中的电源可以利用手机万用充电器作为本电路的供电部分。

图1 采用89C2051单片机设计硬件电路

二、电路功能

本时钟电路采用24小时制,使用四位LED数码管显示时问,DO、Dl两位数码管显示分钟,D2、D3两位数码管显示小时。电路利用D2,D3两数码管的小数点位做秒闪烁。

本电路只有两个操作键S1、S2。S2键为设置按键,每按一下,实现功能切换。S1键为加1键,仅在设置模式时,S1键有效,此键具有连击功能。当按键时问超过1s后能实现自动连加。

电路具有设置时间分钟模式,设置时间小时模式,设置闹钟分钟模式,设置闹钟小时模式,走时等五个模式。不同的模式采用数码管闪烁来区分:正常走时显示,D2、D3两位数码管的小数点闪烁;在设置时间分钟模式和设置小时模式时,相应的数码管不带小数点以0,5s的速度闪烁;在设置时问分钟模式和设置闹钟小时模式时,相应的数码管带小数点以0.5s的速度闪烁。

电路不仅具有时钟显示功能,还具有整点报时和闹钟功能。每到一个整点时间,蜂鸣器以1Hz频率报时,几点响几声。如:中午12点,蜂鸣器响12声。当走时到了设定的闹钟时间,蜂鸣器以0.5Hz频率报警,蜂鸣器响24声停止。

三、程序设计

主程序流程图如图2所示,编程采用C语言编写。

图2 流程图

程序由主程序、定时中断子程序,键盘子程序组成。定时中断子程序要产生Imo日刂钟标志位,用于数码管扫描髋示;20ms时钟标志位,用于键盘扫描、消抖;0,5s的时钟佶号,用于闹钟报瞥;1s时钟标志位,用于时间更新;1s的时钟信号,用于整点报时;及报骛时更新蜂鸣器鸣响次数,以下是该电子钟的部分程序。

主程序如下:

四、安装和调试

PCB板大小为68mm×78mm,采用单面板设计,细线为顶层跳线,D2数码管应当反装,以使小数点位和前一位小数点位交叉。安装时请先按照先低后高的原则,首先安装顶层跳线,数码管安装高度要适当高于三极管和集成电路,以便于加装外壳。测试前用编程器将C程序编译成目标文件即(hex文件),用专用的编程器写人89C2051中。单片机安装在DIP20的脚插座上。

c语言编写闹钟主程序流程图,由89C2051设计的电子钟相关推荐

  1. c语言编写闹钟主程序流程图,基于STC15W4K58S4单片机的电子万年历设计源码与报告(数码管显示)...

    基于STC15W4K58S4单片机的电子万年历(数码管显示)该压缩包包含源码TXT文件 源工程文件(Keil uVision4文件)和课程设计报告 电子时钟的设计 -单片机综合设计报告 目录 1  任 ...

  2. c语言编写闹钟主程序流程图,[]C51单片机课程设计--定时闹钟.doc

    []C51单片机课程设计--定时闹钟 单片机课程设计定时闹钟PAGE \* MERGEFORMATiii 计算机及信息工程学院 课程设计报告 学年学期 题 目 专业.学号 授课班号 学生姓名 指导教师 ...

  3. c语言编写闹钟主程序流程图,课程设计基于单片机的定时闹钟.docx

    课程设计基于单片机的定时闹钟.docx 课程设计 设计题目:基于单片机的定时闹钟 院 系:电气工程 专 业:电子信息工程 年 级: 姓 名: 指导教师: 课程设计任务书 专业电子信息工程姓名学号 开题 ...

  4. 使用C语言编写DTMF检测程序,DSP课程设计---DTMF信号的产生及检测.doc

    DSP课程设计---DTMF信号的产生及检测 DSP课程设计 实 验 报 告 DTMF信号的产生及检测 院(系): 电子信息工程学院通信工程专业 设计人员:宋佳阳 学号目录 一.设计任务书- 3 - ...

  5. c语言简单收银系统程序编码,我有个C语言编写的超市收银系统,请高手修改下,帮做流程图,可追加分...

    我有个C语言编写的超市收银系统,请高手修改下,帮做流程图,可追加分0 #includestruct goods{ char no[8];3char name[20];  float price;  i ...

  6. 用c语言设计一个年历系统流程图,用C语言编写一个年历.docx

    黑龙江八一农垦大学理学院 <C 程序设计>课程设计报告 2011-2012 学年第二学期 设计题目: 指导教师: 用 C 语言设计一个年历系统 魏老师 完成时间:2012 年 6 月 13 ...

  7. C语言二叉树实验报告流程图,二叉树的建立与遍历实验报告(c语言编写,附源代码).doc...

    二叉树的建立与遍历实验报告(c语言编写,附源代码).doc 第 1 页,共 9 页二叉树的建立与遍历实验报告级 班 年 月 日 姓名 学号_ 1实验题目建立一棵二叉树,并对其进行遍历(先序.中序.后序 ...

  8. c语言双重for循环流程图_使用C语言编写程序对数据进行排序

    使用C语言编写程序对数据进行排序 C语言是一种强大的编程软件,使用十分广泛,用户众多,也是学习其他语言的基础.我作为一个C语言忠实粉丝,以一些常见的C程序来剖析C语言的格式和结构,希望能够为广大初学者 ...

  9. 单片机c语言出租车计时程序,基于单片机出租车计价器课题设计c语言编写(样例3)...

    <基于单片机出租车计价器课题设计(c语言编写).doc>由会员分享,可免费在线阅读全文,更多与<基于单片机出租车计价器课题设计(c语言编写)>相关文档资源请在帮帮文库(www. ...

最新文章

  1. 在“DNS管理器”中手工增加DNS主机(A)或者别名(CNAME)记录时,出现被拒绝的错误...
  2. 创建了联合索引还用在单个字段上创建索引吗_数据库 索引并不是万能的
  3. CTF短秘钥的RSA解密
  4. python语言能够整合各类程序代码-python语言概述
  5. node.js express架构安装部署
  6. 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
  7. SWT中非UI线程更新UI的方法
  8. Windows 拥抱 Android,微软在下怎样的一步棋?
  9. JavaSE学习笔记(七)—— 继承final关键字
  10. 如何进行ASP.NET MVC 的测试
  11. 汇编语言转c语言的软件,Arm汇编转换器下载
  12. 分析了获得家庭摇号新能源指标的数据后,我发现了一个秘密
  13. 易语言雷电模拟器adb模块制作实现一键模拟器多开
  14. 数字后端设计相关文件说明
  15. ks3云存储本地上传限速
  16. DNS基础之使用dig查询DNS解析过程
  17. 【转载】Android 第三方ROM定制之适配谷歌Play Store
  18. 电脑提醒没有权限在此位置保存文件怎么办?
  19. 配置Dot1q终结子接口实现跨设备VLAN间通信示例
  20. 记阿里巴巴的一次面试

热门文章

  1. Xiyou linux 2019面试题知识点
  2. Knn算法实现鸢尾花分类
  3. Discuz手机版不能显示用户头像,电脑版可以正常显示用户头像
  4. 利用kail破解wifi密码2021
  5. JProfiler10: 功能介绍
  6. Python matplotlib动态图
  7. android skin 的参数选择,Android-skin-support框架使用的一些些坑
  8. 尽一份孝心,为家人做一个老人防摔报警系统
  9. 数据库-概念-优点-特点
  10. mac清除node小黑框内容