资源描述
1
�7�THKSCM-1型单片机实验系统
(5)电阻箱,5V电源,电阻若干�导线若干
�6�KEIL软件
�4�0.125W、8欧姆的扬声器
�3�89C51多功能接口芯片
�2�LED七段数码显示器
�1�8031集成定时器
二、
已知技术参数和条件
际本领�通过此综合训练�为以后毕业设计打下一定的基础。
学知识的能力�提高分析解决实际问题的能力。锻炼分析、解决电子电路问题的实
方案设计、方案比较�以及单元电路设计计算等环节�进一步提高学生综合运用所
通过课程设计�使学生巩固和加深对单片机基本知识的理解�学会查寻资料、
课程设计�论文�目的
室
点
间
设计时
号
学
名
学生姓
设计地单片机实验
课程编号
术
单片机原理及接口技
电子时钟
一、
课程名称
题目名称
年级专业
课程设计�论文�任务书
单片机电子时钟设计
2
2009年6月29日-7月1日�答辩
2009年6月26日-28日�整理书写设计说明书
2009年6月24日-25日�系统调试改进
2009年6月20日-23日�软件设计
2009年6月17日-19日�硬件电路设计
2009年6月15日-16日�总体方案设计
2009年6月8日-14日�收集和课程设计有关的资料�熟悉课题任务何要求
五、进度安排
4、李光才.单片机课程设计实例指导���.北京北京航空航天大学出版社2004
3、数字控制与PLC实验室”THKSCM-1型单片机实验系统”。
2、THKSCM-1型单片机实验系统实验指导书、KEIL软件�WAVE软件
社�1998
1、李朝青.单片机原理及接口技术�简明修订版�.杭州�北京航空航天大学出版
四、参考文献
8�程序运行时有友好的用户界面.
7�系统的各各功能模块要清楚�有序。
6�利用查表�中断等方式实现目的。
5�用汇编语言编实现程序设计。
4.用PROTEUS进行仿真�
3.设计出软件编程方法�并写出源代码�
2.设计出硬件电路�
1.设计一个基于单片机的电子时钟�并且能够实现时分秒的现实和调节。
任务和要求
单片机电子时钟设计
三、
3
学生�签字��
指导教师�签字��
八、备注
日
年
主管主任�签字��
月
七|、主管教学主任意见
日
年
教研室主任�签字��
月
六、教研室审批意见
单片机电子时钟设计
4
用显示数组中与之对应的编码实现实时显示�最后与程序一同烧进
随时间的变化�要显示的时间变量随之变化�通过显示程序实时调
线方法
是通过单片机的控制来实现显示信息的�通过网上固定的显示编码�
技术路
单片机及按键开关�显示系统共同构成了整个硬件设计�8段数码管
的主要
采取如屏灯电路及上电复位及手动复位电路�这些简单的辅助电路加上
模块相结合实现不同多种功能�此外还有一些简单的辅助电路�例
本设计采取单片机STC89S51、按键开关与7段数码显示管显示
所查的大量资料及单片机设计中常见的电路而构思出来的。
计是在结合老师的指导及同学的帮助下完成的�并通过本人在网上
电子时钟方面的内容�所以在做设计时总会遇见很多问题�本次设
及很常见的多功能时钟。由于之前没有独立做过单片机实现多功能
的功能。该设计硬件结构简单�软件设计条理清晰�是一个很实用
所以该毕业设计在这两大主题的基础上结合keil与protues等软件
用的基础上而做出的�而单片机更是电子电路中运用最普遍的芯片�
遍�该设计的可行性已变的可能�所以本设计是在结合生活实际运
数码管以及一些简单辅助电路实现的。随着生活中电子表使用的普
钟集成多种功能�方便人们的日常生活�该功能是通过单片机、8段
课题的主要内容就是结合单片机的强大功能�在一块普通的电子时
随着现代生活的推进�电子时钟在人们的生活中已经普及�本
源
自选
来
题
课
称
单片机电子时钟设计
名
目
题
名
业
专
号
学
学
姓
生
主
内
要
容
开题报告
单片机电子时钟设计
5
备注
日
月
年
师意见
指导教
签名�
第十三周�毕业答辩
第十二周�交毕业设计论文
第十一周�写毕业设计论文
第十周�烧写程序
第九周�调试
第八周�检查电路板
第七周�焊电路板
第六周�购买电路元件
第五周�编写软件程序
第四周�构思硬件设计
第三周�整理所有资料
第二周�查芯片的资料并整理
第一周�查与题目有关的资料
安排
时间
能实现简单的时钟功能�同时附带时间调整�定时闹钟以及秒
及形式
表功能。
的成果
预期
较清晰。
功能函数实现电子时钟的不同功能�结构化�模块化较高�流程比
件方面采用结构化的C51作为编程语言�通过按键检测调用不同的
码管的接口电路及接口技术而设计出来的�硬件电路比较简单。软
个构思是结合单片机的原理及应用等书籍上常见的辅助电路加上数
单片机�在上电复位等相关的辅助电路下�从而完成整个设计。这
单片机电子时钟设计
6
第四章控制系统的软件设计…………………………16
3.3硬件电路说明…………………………………………12
3.2硬件电路的原理图………………………………………11
3.1硬件电路的设计方案……………………………………11
第三章设计方案…………………………………………11
2.5数码管显示工作原理……………………………………10
…………………………………10
2.4单片机型号的选择
2.389C51单片机介绍………………………………………7
2.2单片机的发展史…………………………………………5
2.1单片机的介绍……………………………………………3
第二章单片机识的相关知识……………………………3
1.4电子时钟的工作原理……………………………………2
1.3电子时钟的应用…………………………………………2
1.2电子时钟的基本特点……………………………………2
1.1电子时钟简介…………………………………………2
第一章电子时钟的设计…………………………………2
摘要…………………………………………………………1
录
目
单片机电子时钟设计
7
参考文献……………………………………………26
总结……………………………………………25
4.4仿真结果分析…………………………………………24
4.3仿真结果……………………………………………23
4.2程序流程图……………………………………………20
4.1程序设计……………………………………………16
单片机电子时钟设计
8
关键字�单片机�子时钟�键盘控制。
仿真效果真实、准确�节省了硬件资源。
换。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法
示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转
本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显
硬的能力。
一种。这次课程设计通过对它的学习�应用�从而达到学习、设计、开发软、
产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的
和多种接口于一体的微控制器。它体积小�成本低�功能强�广泛应用于智能
单片计算机即单片微型计算机。由RAM,ROM,CPU构成�定时�计数
摘要
单片机电子时钟设计
9
号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电
功能和报时功能。因此�一个基本的数字钟电路主要由译码显示器、“时”�
一般电子钟是一个将“时”�“分”�“秒”显示于人的视觉器官的计时装置。
“分”�“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信
它的计时周期为24小时�显示满刻度为23时59分59秒�另外应有校时
1.4电子时钟的工作原理
不管白天黑夜色�随时可以看时间�非常方便。
看时间�是否有点麻烦�现在车上改装了一个蓝色背光的液晶电子钟后�
耗电问题。在骑摩托车时�为了看时间�先要停下车子�取出手机�才能
显示也不会清零�因LCD的显示耗电量很省的�所以一直工作也不必担心
光下也能非常清楚的看到显示时间�关钥匙可以关闭蓝色背光�时间还能
LCD数字电子钟除了在城市的主要营业场所、车站、码头等公共场所使
用�还可以改装在摩托车和汽车上�LCD显示�带蓝色背光�白天在太阳
1.3电子时钟的应用
的功能�还可以进行时和分的校对�片选的灵活性好。
代替指针显示进而显示时间�减小了计时误差�这种表具有时、分、秒显示时间
调试�数字式电子钟用集成电路计时时�译码代替机械式传动�用LED显示器
石英表都采用了石英技术�因此走时精度高�稳定性好�使用方便�不需要经常
现在高精度的计时工具大多数都使用了石英晶体振荡器�由于电子钟、石英钟、
1.2电子时钟的基本特点
断改善和美化�在许多场合都用到电子时钟。
走时准确、显示直观、无机械传动装置等优点�因而得到广泛应用。随着人们生活环境的不
电子钟是一种利用数字电路来显示秒、分、时的计时装置�与传统的机械钟相比�它具有
1.1电子时钟简介
第一章电子时钟的设计
单片机电子时钟设计
10
为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51
早期的单片机都是8位或4位的。其中最成功的是INTEL的8031�因
器�从此以后�单片机和专用处理器的发展便分道扬镳。
要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理
CPU集成在一个芯片中�使计算机系统更小�更容易集成进复杂的而对体积
有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和
缩写MCU表示单片机�它最早是被用在工业控制领域。单片机由芯片内仅
单片机也被称为微控制器�MicrocontrollerUnit��常用英文字母的
2.1单片机的介绍
第二章单片机识的相关知识
一。
加一�而连续两次按下按键不放松�则可实现小时的调节�同样每按一次小时加
省电的目的�直接按下不松开�则可以通过按键实现分钟的累加�每按一次分钟
键却拥有多种不同的功能�按下又松开�可以实现屏蔽数码管显示的功能�达到
为一分钟�六十分钟为一小时�满二十四小时为一天。而电路中唯一的一个控制
驱动电路�由延时程序和循环程序产生的一秒定时�达到时分秒的计时�六十秒
而该电子时钟由89C51�BUTTON�六段数码管等构成�采用晶振电路作为
进行校对调整。
触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字
出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号�然后去
器”采用24进制计时器�可实现对一天24小时的累计。译码显示电路将“时”、
计60分钟�发出一个“时脉冲”信号�该信号将被送到“时计数器”。“时计数
“秒计数器”采用60进制计数器�每累计60秒发出一个“分脉冲”信号�该信
号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器�每累
“分”、“秒”计数器的输出状态用七段显示译码器译码�通过七段显示器显示
度�一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”�
路组成。秒信号产生器是整个系统的时基信号�它直接决定计时系统的精
单片机电子时钟设计
11
来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚
的家用电脑弱很多�不过价钱也是低的�一般不超过10元即可......用它
还有和硬盘作用相同的存储器件�不同的是它的这些部件性能都相对我们
单片机内部也用和电脑功能类似的模块�比如CPU�内存�并行总线�
同时�学习使用单片机是了解计算机原理与结构的最佳选择。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
相比�单片机只缺少了I/O设备。概括的讲�一块芯片就成了一台计算机。
一个计算机系统集成到一个芯片上。相当于一个微型的计算机�和计算机
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把
机的数量不仅远超过PC机和其他计算的总和�甚至比人类的数量还要多。
片机�复杂的工业控制系统上甚至可能有数百台单片机在同时工作�单片
而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单
用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家
应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的
单片机比专用处理器更适合应用于嵌入式系统�因此它得到了最多的
Linux操作系统。
上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和
大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌
号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用�
代中期的专用处理器�而普通的型号出厂价格跌落至1美元�最高端[1]的型
数百倍。目前�高端的32位单片机主频已经超过300MHz�性能直追90年
传统的8位单片机的性能也得到了飞速提高�处理能力比起80年代提高了
用�32位单片机迅速取代16位单片机的高端地位�并且进入主流市场。而
术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应
想并未得到很广泛的应用。90年代后随着消费电子产品大发展�单片机技
着工业控制领域要求的提高�开始出现了16位单片机�但因为性价比不理
系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随
单片机电子时钟设计
12
单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才
按钮�也会达到几十K的尺寸�对于家用PC的硬盘来讲没什么�可是对于
样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个
呢�原因很简单�就是单片机没有家用计算机那样的CPU�也没有像硬盘那
什么还要用呢�很多高级的语言已经达到了可视化编程的水平为什么不用
汇编语言�它是除了二进制机器码以上最低级的语言了�既然这么低级为
由于单片机对成本是敏感的�所以目前占统治地位的软件还是最低级
现高智能�高效率�以及高可靠性�
单片机�结果就会有天壤之别�只因为单片机的通过你编写的程序可以实
路一定是一块大PCB板�但是如果要是用美国70年代成功投放市场的系列
代开发的74系列�或者60年代的CD4000系列这些纯硬件来搞定的话�电
有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年
尤其是特殊的独特的一些功能�这是别的器件需要费很大力气才能做到的�
单片机是靠程序运行的�并且可以修改。通过不同的程序实现不同的功能�
单片机芯片
的主要区别。
较强的抗干扰能力�较低的成本�这也是和离线式计算机的�比如家用PC�
它是一种在线式实时控制计算机�在线式就是现场控制�需要的是有
要是作为控制部分的核心部件。
筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影�......它主
单片机电子时钟设计
13
先推出MCS-48系列单片机。在这以后�8位单片机纷纷面市。例如�莫斯特克
1972年�美国Intel公司首先推出8位微处理器8008�并于1976年9月率
2.8位单片机
制及遥控器�电子玩具�钟表�计算器�多功能电话等。
克威尔公司的PPS/1系列等。四位单片机的主要应用领域有�PC机的输入装置�
1975年�美国德克萨斯仪器公司首次推出4位单片机TMS-1000�此后�
各个计算机公司竞相推出四位单片机。日本松下公司的MN1400系列�美国洛
1.4位单片机
电池充电器�运动器材�带液晶显示的音/视频产品控制器�一般家用电器的控
2.2单片机的发展史
逻辑器件上。
且极易被仿制。究其原因�可能就卡在产品未使用单片机或其它可编程
业余电子开发者搞出来的某些产品�不是电路太复杂�就是功能太简单
——“智能型”�如智能型洗衣机等。现在有些工厂的技术人员或其它
片机�就能起到使产品升级换代的功效�常在产品名称前冠以形容词
实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单
置就瘫痪了。现在�这种单片机的使用领域已十分广泛�如智能仪表、
里。它在整个装置中�起着有如人类头脑的作用�它出了毛病�整个装
可进行简单运算和控制。因为它体积小�通常都藏在被控机械的“肚子”
控制器�。顾名思义�这种计算机的最小系统只用了一片集成电路�即
却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机�亦称微
称PC机。它由主机、键盘、显示器等组成。还有一类计算机�大多数人
代和现已进入的电脑时代。不过�这种电脑�通常是指个人计算机�简
可以说�二十世纪跨越了三个“电”的时代�即电气时代、电子时
了的。
机上的操作系统和应用软件拿到家用PC上来运行�家用PC的也是承受不
行�所以汇编虽然原始却还是在大量使用。一样的道理�如果把巨型计算
单片机电子时钟设计
14
GND�接地。
VCC�电源。
2.389C51单片机介绍
算法密集的实时控制场合已有应用�如英国Inmos公司的TransputerT800是高
5.64位单片机
及近年来流行的ARM系列单片机。32位单片机是单片机的发展趋势�随着技术
的发展及开发成本和产品价格的下降�将会与8位单片机并驾齐驱。
性能的64位单片机。
近年来�64位单片机在引擎控制�智能机器人�磁盘控制�语音图像通信�
处理�复杂实时控制�网络服务器等领域的应用与发展�20世纪80年代末推出
随着高新技术只智能机器人�光盘驱动器�激光打印机�图像与数据实时
4.32位单片机
等场合。
的783XX系列等。16位单片机主要用于工业控制�智能仪器仪表�便携式设备
年Intel推出了80C96�美国国家半导体公司推出的HPC16040�NEC公司推出
了32位单片机�如Motorlora公司的MC683XX系列�Intel的80960系列�以
1983年以后�集成电路的集成度可达几十万只管/片�各系列16位单片机纷
纷面市。这一阶段的代表产品有1983年Intel公司推出的MCS-96系列�1987
3.16位单片机
通信、家用电器等各个领域。
片机由于功能强�被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、
片内除带有并行I\O口外�还有串行I\O口�甚至还有A\D转化器功能。8位单
UPD78XX系列。这类单片机的寻址能力达64KB�片内ROM容量达4--8KB�
罗拉公司的MC6801系列及齐洛格公司的Z8系列�1979年NEC公司的
和仙童公司合作生产的3870系列�摩托罗拉公司生产的6801系列等。随着集成
单片机电子时钟设计
电路工艺水平的提高�一些高性能的8位单片机相继问世。例如�1978年摩托
15
17
16
15
14
13
12
11
10
P3.7/RD
P3.6/WR
P3.5/T1
P3.4/T0
P3.3/INT1
P3.2/INT0
P3.1/TXD
P3.0/RXD
AT89C51
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
8
7
6
5
4
3
2
1
28
27
26
25
24
23
22
21
P2.7/A15
P2.6/A14
P2.5/A13
P2.4/A12
P2.3/A11
P2.2/A10
P2.1/A9
P2.0/A8
EA
ALE
PSEN
31
30
29
RST
9
32
33
34
35
36
37
38
39
P0.7/AD7
P0.6/AD6
P0.5/AD5
P0.4/AD4
P0.3/AD3
P0.2/AD2
P0.1/AD1
P0.0/AD0
XTAL2
XTAL1
18
19
U4
势�当对外部八位地址数据存储器进行读写时�P2口输出其特殊功能寄存器的
器进行存取时�P2口输出地址的高八位。在给出地址“1”时�它利用内部上拉优
且作为输入。并因此作为输入时�P2口的管脚被外部拉低�将输出电流。这是
由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储
内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
收�输出4个TTL门电流�当P2口被写“1”时�其管脚被内部上拉电阻拉高�
P2口�P2口为一个内部上拉电阻的8位双向I/O口�P2口缓冲器可接
编程和校验时�P1口作为第八位地址接收。
能接收输出4TTL门电流。P1口管脚写入1后�被内部上拉为高�可用作输入�
P1口�P1口是一个内部提供上拉电阻的8位双向I/O口�P1口缓冲器
为原码输入口�当FIASH进行校验时�P0输出原码�此时P0外部必须被拉高。
P1口被外部下拉为低电平时�将输出电流�这是由于内部上拉的缘故。在FLASH
流。当P1口的管脚第一次写1时�被定义为高阻输入。P0能够用于外部程序
P0口�P0口为一个8位漏级开路双向I/O口�每脚可吸收8TTL门电
单片机电子时钟设计
数据存储器�它可以被定义为数据/地址的第八位。在FIASH编程时�P0口作
16
时�将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此
对外部输出的脉冲或用于定时目的。然而要注意的是�每当用作外部数据存储器
的地位字节。在FLASH编程期间�此引脚用于输入编程脉冲。在平时�ALE端
ALE/PROG�当访问外部存储器时�地址锁存允许的输出电平用于锁存地址
以不变的频率周期输出正脉冲信号�此频率为振荡器频率的1/6。因此它可用作
时�ALE只有在执行MOVX�MOVC指令是ALE才起作用。另外�该引脚被
略微拉高。如果微处理器在外部执行状态ALE禁止�置位无效。
电平时间。
RST�复位输入。当振荡器复位器件时�要保持RST脚两个机器周期的高
P3口同时为闪烁编程和编程校验接收一些控制信号。
P3.7/RD�外部数据存储器读选通�
P3.6/WR�外部数据存储器写选通�
P3.5T1�记时器1外部输入�
P3.4T0�记时器0外部输入�
P3.3/INT1�外部中断1�
P3.2/INT0�外部中断0�
P3.1TXD�串行输出口�
P3.0RXD�串行输入口�
口管脚备选功能
P3口也可作为AT89C51的一些特殊功能口�如下表所示�
故。
作为输入�由于外部下拉为低电平�P3口将输出电流�ILL�这是由于上拉的缘
P3口�P3口管脚是8个带内部上拉电阻的双向I/O口�可接收输出4
图2.189C51单片机
单片机电子时钟设计
个TTL门电流。当P3口写入“1”后�它们被内部上拉为高电平�并用作输入。
17
子的注人及随后的复合而辐射发光�其伏安特性与普通二极管相似。在正向导通
LED数码管等效于多只具有发光性能的PN结。当PN结导通时�依靠少数载流
红光、绿光的居多、这两种颜色也比较醒目。
种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管。其他颜色LED
化镓可发蓝光。发光颜色不仅与管芯材料有关�还与所掺杂质有关�因此用同一
是将发光二极管的阴极(负极)短接后作为反映出半导体材料的特性。常见管芯材
LED数码管分共阳极与共阴极两种�其工作特点是�当笔段电极接低电平�
料有磷化镓(GaP)、砷化镓(GaAs)、磷砷化镓(GaAsP)、氮化镓(GaN)等�其中氮
数码管的光谱曲线形状与之相似�仅入�值不同。LED数码管的产品中�以发
公共阳极接高电平时�相应笔段可以发光。共阴极LED数码管则与之相反�它
2.5数码管显示工作原理
MCS-51兼容�且具有4K字节可编程闪烁存储器和1000写/擦循环�数据保留
时间为10年等特点�是最好的选择。
芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压�高性能
通过对多种单片机性能的分析�最终认为89C51是最理想的电子时钟开发
CMOS8位微处理器�器件采用ATMEL高密度非易失存储器制造技术制造�与
工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁
存储器组合在单个芯片中�ATMEL的89C51是一种高效微控制器�而且它与
2.4单片机型号的选择
硬件电路设计
FLASH编程期间�此引脚也用于施加12V编程电源�VPP�。
�0000H-FFFFH��不管是否有内部程序存储器。注意加密方式1时�/EA
EA/VPP�当/EA保持低电平时�则在此期间外部程序存储
将内部锁定为RESET�当/EA端保持高电平时�此间内部程序存储器。在
信号将不出现。
每个机器周期两次/PSEN有效。但在访问外部数据存储器时�这两次有效的/PSEN
PSEN�外部程序存储器的选通信号。在由外部程序存储器取指期间�
单片机电子时钟设计
18
设计原理图�如图所示。
3.2硬件电路的原理图
硬件电路设计框图
图1
电路
LED显示
8
279
M
C51
电路
按键
LED显示器电路。图1为硬件电路设计框图。
根据设计要求和设计思路�硬件电路有两部分组成�即单片机按键电路�
3.1硬件电路的设计方案
第三章设计方案
的正向电压U�则与正向电流以及管芯材料有关。使用LED数码管时�工作电
流一般选10mA左右�段�既保证亮度适中�又不会损坏器件。
cd�m2)与正向电流IF有关�用公式表示�L=KIF即亮度与正向电流成正比。LED
升�笔段发光。因此�LED数码管属于电流控制型器件�其发光亮度L(单位是
之前�正向电流近似于零�笔段不发光。当电压超过开启电压时�电流就急剧上
单片机电子时钟设计
19
按键模块如图所示。
3.3.1按键模块
3.3硬件电路说明
相应的功能函数。如果检测到定时时间到�则驱动蜂鸣器发声提示。
同时�按键扫描函数�一直扫描按键引脚状态�一旦扫描到按键被按下�即进入
机内部定时器计时�同时通过动态显示函数自动将时分秒显示到数码管上。与此
周期。复位单路模块负责上电后自动复位�或按键后强制复位。上电后�由单片
电路模块、发声指示模块、时间显示模块。晶振电路模块负责给单片机提供时钟
本设计电路�硬件部分共由五个模块组成�按键模块、复位电路模块、晶振
图设计原理图
单片机电子时钟设计
20
单片机的晶振电路�如图所示。
3.3.3单片机的晶振电路
RST一段高电平时间。
电或开关复位。上电复位要求接通电源后�自动实现复位操作。上电后�保持
循环复位状态。根据应用的要求�复位操作通常有两种基本形式�上电复位和上
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上
图单片机的复位电路
的高电平时�单片机就执行复位操作。如果RST持续为高电平�单片机就处于
单片机的复位电路,如图所示。
3.3.2单片机的复位电路
作。按键的去抖动由软件来实现。
件扫描按键即可知道用户所要实现的功能�调用相应的按键子程序来完成该操
P2口默认为高电平�一旦按键被按下�则该按键对应的额管脚被拉低�通过软
的时间设置、定时、秒表功能。电路中将四个按键的一端接公共地�而单片机的
在该模块中�采用四个按键作为电子时钟的控制输入�通过按键来实现时钟
按键模块
图
单片机电子时钟设计
21
电平�LED两端没有电压差�不发光�一旦按键按下�或定时时间到�Led引脚
发声指示模块分为发声部分�指示部分两部分。发声部分由电源�380欧限
发声指示模块
图
流电阻R1�LED发光二极管三部分组成。正常情况下�Led引脚�P2_0�为高
发声指示模块�如图所示。
3.3.4发声指示模块
形成一个正反馈以保证电路持续振荡。
点�振荡引脚的输入和输出是反相的�但从并联谐振回路即石英晶体两端来看,
是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考
振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地�实际上就
石英晶体也连接在晶振引脚的输入和输出之间�等效为一个并联谐振回路�
单片机的晶振电路
图
单片机电子时钟设计
22
驱动数码管点亮。
码数字转换为七段数码管段选码通过其输出端输出�同时提供约500mA的电流
灯�加上一个4511译码驱动电路组成。在显示过程中�单片机将要显示的数字
时间显示部分的电路也很简单�由三个两位的共阴8段数码管、四盏Led
液晶显示电路
图
传递给4511芯片�同时通过位选选通要显示的数码管。4511芯片实现将BCD
时间显示模块如图所示。
3.3.5时间显示模块
级没电压差�三极管截止�反之�三极管导通�有电流流经蜂鸣器�蜂鸣器发声。
�P2_0�被拉低�LED被点亮。发生部分由蜂鸣器、电源、9018三极管、限流
单片机电子时钟设计
电阻组成。蜂鸣器由PNP三极管驱动�当BZ管脚�P2_1�为高时�三极管be
23
�允许T0中断
�启动T0
SETBETO
SETBTR0
MOVTLO,#0CH
�写定时常数
;写控制字
MOVTH0,#0F0H
MOVTMOD,#00H
定时计数中断程序�
下面对部分模块作介绍。
程序、延时程序四大模块。在程序设计过程中�加强了部分软件抗干扰措施�
本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整
4.1程序设计
第四章控制系统的软件设计
数码管译码驱动驱动电路
图
单片机电子时钟设计
24
;调整单元数据小于60转SET4循环
;调整单元数据与60比较
;清进位标志
;取调整单元数据
;调用加1子程序
;按下时间小于0.5秒加1分钟操作
;按下时间大于0.5秒转调小时状态
;有键按下�延时0.5秒
;等待键按下
;键释放�分调整闪烁标志置1
;P3.7口为0�键未释放��等待
;开启定时器T1
;进入调时状态�赋闪烁定时初值
;键按下时间小于1秒�关闭显示
;调用1秒延时程序
;关闭定时器T0
;关定时器T0中断
ET0
;允许T1中断
SET4
HHH:JC
CJNE
CLR
MOV
LCALL
MOV
JNB
LCALL
JB
SET4:
SETB
SET2:
A,#60H,HHH
C
A,R3
ADD1
R0,#77H
P3.7,SETHH
DL05S
P3.7,SET3
00H
P3.7,SET1
JNB
SETBTR1
R2,#06H
SETBET1
MOV
JB
�省电�
P3.7,CLOSEDIS
DL1S
TR0
cLR
LCALL
CLR
SETMM:
时间调整程序�
AJMP$
�开放CPU中断
单片机电子时钟设计
SETBEA
25
;计时单元数据与24比较
;
;
;调加1子程序
;按下时间小于0.5秒加1小时操作
;按下时间大于0.5秒退出时间调整
;有键按下延时0.5秒
;等待按键按下
;小时调整标志置1
;等待键释放
;分闪烁标志清除�进入调小时状态�
;返回主程序�LED数据显示亮�
;等待键释放
;是干扰返回CLOSE等待
;有键按下�调显示子程序延时削抖
;无按键按下�等待。
;开启T0定时器�开时钟�
;省电�LED不显示�状态。开T0中
;跳转到SET4循环
;清进位标志
;调整单元数据大于或等于60时清0
单片机电子时钟设计
A,#24H,HOUU
C
A,R3
ADD1
R0,#79H
P3.7,SETOUT
DL05S
P3.7,SET7
01H
P3.7,SET5
00H
JNB
CLR
START1
P3.7,WAITH
JNB
JB
CJNE
CLR
MOV
LCALL
MOV
JNB
LCALL
SET6:
SETB
SETHH1:
SETHH:
LJMP
WAITH:
JB
P3.7,CLOSE
LCALLDISPLAY
P3.7,CLOSE
JB
TR0
ET0
CLOSE:
SETB
断
CLOSEDIS:SETB
SET4
C
AJMP
CLR
LCALLCLR0
26
;等待调小时按键时时钟显示用
;防止键按下时无时钟显示
;键释放等待时调用显示程序�调小
DISPLAY
LCALL
SET7:
AJMP
时�
SET5:
AJMP
SET3:
AJMP
SET1:
LJMP
SETB
SETB
CLR
CLR
CLR
CLR
CLR
JNB
SETHH1
DISPLAY
LCALL
SET4
;等待调分按键时时钟显示用
;防止键按下时无时钟显示
;键释放等待时调用显示程序�调分�
;跳回主程序
;开定时器T0中断�计时开始�
;开启定时器T0
;关定时器T1中断
;关闭定时器T1
;清闪烁标志
;清调分标志
;清调小时标志
;是抖动�返回SETOUT再等待
;延时削抖
;调时退出程序。等待键释
;跳转到SET6循环
;大于或等于24时清0操作
;小于24转SET6循环
单片机电子时钟设计
DISPLAY
LCALL
SET2
DISPLAY
LCALL
START1
ET0
TR0
ET1
TR1
02H
00H
01H
P3.7,SETOUT
LCALLDISPLAY
放
P3.7,SETOUT1
SETOUT:JNB
SET6
AJMP
LCALLCLR0
SET6
HOUU:JC
27
系统的流程图如图a和图b所示�
4.2程序流程图
RET
ACALLDISPLAY
ACALLDISPLAY
DISPLAY
DS20MS:ACALL
;;20MS延时程序�采用调用显示子程序以改善LED的显示闪烁现象
RET
R6,DL1
DJNZR7,DL2
R7,#19H
MOV
DJNZ
DL2:
DL1:
DL1MS:MOVR6,#14H
1MS延时程序�LED显示程序用
延时程序�
;防止键按下时无时钟显示
;退出时钟调整时键释放等待
DISPLAY
SETOUT
AJMP
SETOUT1:LCALL
SET6
AJMP
单片机电子时钟设计
28
图a主程序流程图
单片机电子时钟设计
29
图b中断处理流程图
单片机电子时钟设计
30
开始运行程序仿真图
图
4.3仿真结果
单片机电子时钟设计
31
是一个比较令人满意的设计。
好�实现了预期的效果�能过通过多功能控制键调节时间和是否进入省电模式�
露出本人在单片机电路设计和程序设计方面的不足。不过最后的仿真效果非常
修改程序并在PROTEUS软件环境中进行仿真�最终解决了这个问题�
展开阅读全文