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