c语言编写闹钟主程序流程图,由89C2051设计的电子钟
一、电路原理
本电路采用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设计的电子钟相关推荐
- c语言编写闹钟主程序流程图,基于STC15W4K58S4单片机的电子万年历设计源码与报告(数码管显示)...
基于STC15W4K58S4单片机的电子万年历(数码管显示)该压缩包包含源码TXT文件 源工程文件(Keil uVision4文件)和课程设计报告 电子时钟的设计 -单片机综合设计报告 目录 1 任 ...
- c语言编写闹钟主程序流程图,[]C51单片机课程设计--定时闹钟.doc
[]C51单片机课程设计--定时闹钟 单片机课程设计定时闹钟PAGE \* MERGEFORMATiii 计算机及信息工程学院 课程设计报告 学年学期 题 目 专业.学号 授课班号 学生姓名 指导教师 ...
- c语言编写闹钟主程序流程图,课程设计基于单片机的定时闹钟.docx
课程设计基于单片机的定时闹钟.docx 课程设计 设计题目:基于单片机的定时闹钟 院 系:电气工程 专 业:电子信息工程 年 级: 姓 名: 指导教师: 课程设计任务书 专业电子信息工程姓名学号 开题 ...
- 使用C语言编写DTMF检测程序,DSP课程设计---DTMF信号的产生及检测.doc
DSP课程设计---DTMF信号的产生及检测 DSP课程设计 实 验 报 告 DTMF信号的产生及检测 院(系): 电子信息工程学院通信工程专业 设计人员:宋佳阳 学号目录 一.设计任务书- 3 - ...
- c语言简单收银系统程序编码,我有个C语言编写的超市收银系统,请高手修改下,帮做流程图,可追加分...
我有个C语言编写的超市收银系统,请高手修改下,帮做流程图,可追加分0 #includestruct goods{ char no[8];3char name[20]; float price; i ...
- 用c语言设计一个年历系统流程图,用C语言编写一个年历.docx
黑龙江八一农垦大学理学院 <C 程序设计>课程设计报告 2011-2012 学年第二学期 设计题目: 指导教师: 用 C 语言设计一个年历系统 魏老师 完成时间:2012 年 6 月 13 ...
- C语言二叉树实验报告流程图,二叉树的建立与遍历实验报告(c语言编写,附源代码).doc...
二叉树的建立与遍历实验报告(c语言编写,附源代码).doc 第 1 页,共 9 页二叉树的建立与遍历实验报告级 班 年 月 日 姓名 学号_ 1实验题目建立一棵二叉树,并对其进行遍历(先序.中序.后序 ...
- c语言双重for循环流程图_使用C语言编写程序对数据进行排序
使用C语言编写程序对数据进行排序 C语言是一种强大的编程软件,使用十分广泛,用户众多,也是学习其他语言的基础.我作为一个C语言忠实粉丝,以一些常见的C程序来剖析C语言的格式和结构,希望能够为广大初学者 ...
- 单片机c语言出租车计时程序,基于单片机出租车计价器课题设计c语言编写(样例3)...
<基于单片机出租车计价器课题设计(c语言编写).doc>由会员分享,可免费在线阅读全文,更多与<基于单片机出租车计价器课题设计(c语言编写)>相关文档资源请在帮帮文库(www. ...
最新文章
- 在“DNS管理器”中手工增加DNS主机(A)或者别名(CNAME)记录时,出现被拒绝的错误...
- 创建了联合索引还用在单个字段上创建索引吗_数据库 索引并不是万能的
- CTF短秘钥的RSA解密
- python语言能够整合各类程序代码-python语言概述
- node.js express架构安装部署
- 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
- SWT中非UI线程更新UI的方法
- Windows 拥抱 Android,微软在下怎样的一步棋?
- JavaSE学习笔记(七)—— 继承final关键字
- 如何进行ASP.NET MVC 的测试
- 汇编语言转c语言的软件,Arm汇编转换器下载
- 分析了获得家庭摇号新能源指标的数据后,我发现了一个秘密
- 易语言雷电模拟器adb模块制作实现一键模拟器多开
- 数字后端设计相关文件说明
- ks3云存储本地上传限速
- DNS基础之使用dig查询DNS解析过程
- 【转载】Android 第三方ROM定制之适配谷歌Play Store
- 电脑提醒没有权限在此位置保存文件怎么办?
- 配置Dot1q终结子接口实现跨设备VLAN间通信示例
- 记阿里巴巴的一次面试