收藏 分享(赏)

基于51单片机的简易电子时钟.doc

上传人:精品资料 文档编号:8216883 上传时间:2019-06-15 格式:DOC 页数:47 大小:423.63KB
下载 相关 举报
基于51单片机的简易电子时钟.doc_第1页
第1页 / 共47页
基于51单片机的简易电子时钟.doc_第2页
第2页 / 共47页
基于51单片机的简易电子时钟.doc_第3页
第3页 / 共47页
基于51单片机的简易电子时钟.doc_第4页
第4页 / 共47页
基于51单片机的简易电子时钟.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、微机原理与单片机接口技术课程设计报告I基于51单片机的简易电子时钟设计摘 要今天,电子时钟是生活中不可或缺的一部分。电子时钟通过数码管显示,具有整点报时等功能,可以使得我们的生活变得更加有序。电子时钟也通过不断地改进,变得功能越来越强大。本次设计的电子时钟利用单片机STC89C51进行控制的,利用单片机自身的定时器功能,采用数码管显示,可对电子时钟进行调整校准。此设计具有相当重要的现实意义和实用价值。基于单片机STC89C51的电子时钟,采用数码管显示“时“分“秒”而且可用按键进行调整校准。此次设计与传统的机械表相比,它具有走的更精准,显示更直观等特点,而且单片机的数字时钟具有灵活编程,便于功

2、能扩充等特点。本次所设计主要有三个模块:显示模块,按键模块,闹铃模块。该时钟采用STC89C51单片机自身定时器进行计时,按键模块采用独立式键盘(4个按键) ,闹铃部分由8550三极管和蜂鸣器构成,显示时、分、秒用两个四位共阴极数码管显示,具有可调整时间功能和设定闹钟功能,在设计过程中硬件和软件应同时进行。关键词:电子时钟,单片机,闹钟,蜂鸣器微机原理与单片机接口技术课程设计报告II微机原理与单片机接口技术课程设计报告IIISIMPLE ELECTRONIC CLOCK DESIGN BASED ON 51 MCUABSTRACTToday , the electronic clock is

3、an integral part of life . Through the digital display electronic clock , with the whole point timekeeping function , can make our life more orderly . The electronic clock also through continuous improvement , has become more and more powerful .The design of the electronic clock using STC89C51 MCU t

4、o control the use of single-chip , self timer function , the use of digital tube display , can adjust the calibration of the electronic clock . Has very important realistic significance and practical value of this design .The electronic clock based on MCU STC89C51 , using digital tube display “ when

5、 “ “ seconds “ and the button can be used to adjust the calibration . And the design of the traditional mechanical watch , it has to go 微机原理与单片机接口技术课程设计报告IVmore accurate , more intuitive display characteristics , and the digital clock has flexible programming , easy to function expansion and so on .

6、This design has three main modules : the display module , keyboard module , alarm module . The clock uses STC89C51 microcontroller timer timing , key module with separate keyboard (4 buttons), the alarm is composed of 8550 transistors and a buzzer , when the display is divided by two seconds , four

7、common cathode digital display , which can adjust the time and set the alarm function , hardware and software in the design process should be carried out at the same time .Key Words : electronic clock , microcontroller , alarm clock , a buzzer微机原理与单片机接口技术课程设计报告目 录第一章 绪论 .- 1 -1.1 课题背景及意义 - 1 -1.2 课题

8、内容 - 1 -1.2.1 题目及要求 .- 1 -1.2.2 主要部分 .- 2 -第二章 方案 .- 3 -2.1 功能要求 - 3 -2.3 数码管显示方案 - 3 -第三章 电子时钟的硬件设计 .- 5 -3.1 电子时钟的组成 - 5 -3.2 单片机最小系统图 - 5 -3.3 STC89C51 引脚功能 - 6 -3.4 数码管显示模块 - 7 -3.5 闹铃部分 - 8 -3.6 按键模块 - 8 -第四章 电子时钟的软件设计 .- 9 -4.1 电子时钟程序流程框图 - 9 -4.2 按键调整流程图 .- 10 -4.3 子程序的设计 .- 11 -4.3.1 数码管显示模块

9、 - 11 -4.3.2 按键子模块 - 11 -4.3.3 主程序 - 12 -第五章 硬件的制作与测试分析 - 13 -5.1 电子时钟的硬件制作 .- 13 -5.2 硬件测试 .- 13 -微机原理与单片机接口技术课程设计报告5.3 软件调试 .- 13 -5.4 测试结果分析与结论 .- 14 -5.4.1 数码管测试结果分析 - 14 -5.4.2 按键测试结论 - 14 -5.4.3 测试结论 - 15 -总结与致谢 .- 17 -参考文献 .- 19 -附录 .- 21 -附录一 分组表 - 21 -附录二 程序 - 22 -附录三 电子时钟实物图 - 33 -微机原理与单片机

10、接口技术课程设计报告- 1 -第一章 绪论1.1 课题背景及意义二十一世纪的今天,电子时钟已经融入到千千万万户家庭中,它已经成为了人们生活中不可或缺的一部分。电子时钟通过数码管显示,使其直观明了,更能实现整点报时等功能,使其更符合当今人们的生活需求,电子时钟的出现使人们的生活更加的有条不紊。目前市场上的电子时钟很多,为了迎合市场的需要,满足广大的消费人群,人们通过自己的 DIY 设计让电子时钟富有创意。电子时钟通过不断地改进,使其更具有市场。本次设计的电子时钟利用单片机 STC89C51 进行控制的,利用单片机自身的定时器功能,采用数码管显示,可对电子时钟进行调整校准。电子时钟既可广泛应用于家

11、庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。因而,此设计具有相当重要的现实意义和实用价值。1.2 课题内容1.2.1 题目及要求基于 51 单片机的电子时钟设计与制作。利用单片机的计时、校时等功能,设计并制作出一个以单片机STC89C51 为核心组件,采用数码管显示“时“分“秒”的电子时钟,要微机原理与单片机接口技术课程设计报告- 2 -求能正常显示,并可用按键进行调整校准。此次设计与传统的机械表相比,它具有走的更精准,显示更直观等特点,同时具有不同的操作方式,让此次设计更符合现代生活的需求,而且单片机的数字时钟具有编程灵活,便于功能扩充

12、等特点。1.2.2 主要部分本次设计可分为两部分:软件部分、硬件部分。硬件部分包括: STC89C51 单片机模块,数码管模块,蜂鸣器模块,按键模块,闹铃模块。通过正确连接电路以及单片机的编程来实现上述要求。软件部分的主程序包括:数码管显示程序,按键控制程序。使其实现时分秒正常显示,并可通过按键进行调试功能。微机原理与单片机接口技术课程设计报告- 3 -第二章 方案2.1 功能要求1、能显示时、分、秒2、通过按键可以对电子时钟进行调整校准3、可实现设定闹钟并报警功能4、上电后,电子钟显示“12-59-00” ,蜂鸣器同时发出声音2.2 数字时钟方案在本次设计中,数字时钟是最主要的部分:采用单片

13、机本身的定时器进行计时,来实现数字时钟功能。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现 1秒定时中断,每产生一次中断,存储器内相应的秒值加 1;若秒值达到60,则将其清零,并将相应的分字节值加 1;若分值达到 60,则清零分字节,并将时字节值加 1;若时值达到 24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。微机原理与单片机接口技术课程设计报告- 4 -2.3 数码管显示方案采用动态显示。所谓动态显示就是一位一位的

14、轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了 I/O 口,降低了能耗。微机原理与单片机接口技术课程设计报告- 5 -第三章 电子时钟的硬件设计3.1 电子时钟的组成本次设计制作的电子时钟组成部分为:STC89C51 主控制模块,按键模块,复位电路,数码管显示模块,闹铃模块。组成图如图 3-1 所示。图 3.1 电子时钟系统组成3.2 单片机最小系统图单片机最小系统又称为最小应用系统,即用最

15、少的元器件组成单片机可以工作的系统。一般应包括:电源、单片机、晶振电路、复位电路等。如图 3.2 所示为单片机最小系统图。微机原理与单片机接口技术课程设计报告- 6 -图 3.2 单片机最小系统图3.3 STC89C51 引脚功能微机原理与单片机接口技术课程设计报告- 7 -图 3.3 STC89C51 引脚如图 3.3 所示,STC89C51 主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接 12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V 电源的正负端。P

16、0P3 为可编程通用 I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为功能控制端口,分别与其相应功能管脚相连接,13 脚定义为 IR 输入端。3.4 数码管显示模块图 3.4 数码管显示模块如图 3.4 所示,在这次的设计中,数码管接在单片机的 P0 和 P2 口,P0 控制段选信号,P2 控制位选信号。通过位选信号依次点亮各个数码管,由于人眼有视觉暂留的特性,因此如果第一个数码管灭和第二个数码管亮之间的时间足够短,人眼是感觉不出数码管的变化的。微机原理与单片机接口技术课程设计报告- 8 -3.5 闹铃部分图 3.5 闹铃图闹铃如下图 3.5 所示,主要由 85

17、50 三极管和蜂鸣器构成,可通过手动设置来实现闹铃功能。3.6 按键模块如图 3.6 所示,本次设计是采用四个独立式按键,分别为“时间设置”键, “闹钟设置”键, “+”键, “-”键, ,通过这四个按键来调整电子时钟的时间显示和闹钟响应。“时间设置” “闹钟设置” “+” “-”图 3.6 按键图微机原理与单片机接口技术课程设计报告- 9 -第四章 电子时钟的软件设计本次设计主要是对单片机,数码管,按键和闹铃部分进行编写的。4.1 电子时钟程序流程框图图 4.1 系统程序流程框图本次的设计主程序是根据每个模块的特性来进行编写,先对各个模块进行初始化,然后再按照各自不同来分模块编写,最后得出总

18、的流程图。4.2 按键调整流程图图 4.2 按键调整流程图进入程序后,先将单片机,数码管,按键等进行初始化,数码管显示固定数值“12-59-00” ,程序开始等待按键按下,当有按键按下,单片机检测一次,确定按下,单片机调用程序,同时数码管刷新一次,显示当前操作结果。完后,程序返回按键等待,如此循环执行。4.3 子程序的设计4.3.1 数码管显示模块4 位独立数码管显示,电路相对简单,主要特点,简单易用,显示清晰,性价比高。微机原理与单片机接口技术课程设计报告- 10 -数码管显示程序:(见附录 2.1)4.3.2 按键子模块本次设计是采用四个独立式按键,分别为“设置”键, “+”键, “-”键

19、, “复位”键,通过这四个按键来调整电子时钟的时间显示和闹钟响应。按键操作子程序:(见附录 2.2)图 4.3 按键抖动新号波形当用手按下一个键时,如图 4.3 所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于 10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms 来等待抖动消失,这之后,在读入键盘码。此次设计过程中电路的工作原理:微机原理与单片机接口技术课程设计报告- 11 -数字电子钟是一个将“ 时”

20、 , “分” , “秒”显示于人的视觉器官的计时装置。它的计时周期为 24 小时,显示满刻度为 23 时 59 分 59 秒,另外还有校时功能。因此,一个基本的数字钟电路主要由显示器“时” ,“分” , “秒”和单片机,还有校时电路组成。8 个数码管的段选接到单片机的 P0 口,位选接到单片机的 P2 口。数码管按照数码管动态显示的工作原理工作, 将标准秒信号送入“秒单元” , “秒单元”采用 60 进制计数器,每累计 60 秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。 “分单元”也采用 60 进制计数器,每累计 60 分钟,发出一个“时脉冲”信号,该信号将被送到“时单元” 。

21、 “时单元”采用24 进制计时器,可实现对一天 24 小时的累计。显示电路将“时” 、 “分” 、“秒”通过七段显示器显示出来。校时电路时用来对“时” 、 “分” 、 “秒”显示数字进行校对调整,按一下设置键进入时设置,按下“+”时加一次,按下“-”键,时减一次,同理,按设置键两次即进行分调整,按下三次进行秒调整。4.3.3 主程序(见附录 2.3)微机原理与单片机接口技术课程设计报告- 12 -第 5 章 硬件的制作与测试分析5.1 电子时钟的硬件制作此次的电子时钟是根据所设计的原理图,把每个部分都焊接好,连接起来,然后接入电源,上电,最后将所编写的程序烧入单片机中。5.2 硬件测试电子时钟

22、的硬件相对简单,只用几个模块构成,但在检查电路的时候容易因掉以轻心而出错,主要检查电路连接是否有短路或者短路现象(通过万用表检测) ,元器件的型号和规格是否使用合理。其次,检测电源。检测方法:一种是断开稳压电源的输出端,检查空载时电源工作情况;另一种是拔下电源上的主要集成芯片,检查电源的负载能力(用假负载) ,确保电源无故障并性能符合设计要求。检测完电路,确保其不发生电路故障的前提下才可上电。5.3 软件调试电子时钟虽然看着硬件比较少,但是写起程序来并非那么简单,在设计阶段,因为我们是刚入手单片机没多久的,所以对挺多的程序并不是很了解,我们查阅了很多资料,研究了很多关于按键,数码管等方面的内容

23、,我们通过参考查阅到的资料,根据自己的删改添加终于完成了自己的程序。微机原理与单片机接口技术课程设计报告- 13 -在电子时钟的程序设计阶段,让数码管显示“12-59-00” ,由于对十六进制不够熟练,所以在实现显示的时候总是出现乱码,后面静下心慢慢算,终于能够正常显示,不过只是实现数码管的静态显示,动态显示才是关键,通过我们在课上讲的数码管累加计时,仿照其原理,通过改进,也实现了动态显示。在按键方面,按键因为是独立的,所以我一个个按键的功能慢慢实现,先做加减后做调整和复位,刚开始做按键的时候因为考虑的不够全面,虽然按键能够实现加减,但是出现按一次跳很多次的现象,经过查找资料并观看视频,原来按

24、下去的时候会出现所谓的“抖动” ,这时候就需要多添加几句程序来进行消抖,最终数码管才正常加减,同样道理实现选择位跟复位功能,在一步步添加程序的同时也一步步地掌握了按键的使用方法。5.4 测试结果分析与结论5.4.1 数码管测试结果分析数码管主要是分清楚共阴还是共阳,在写程序的时候一定要注意,通过肉眼看数码管是否出现亮度不够判断其电路是否供电异常或者程序占用太多 CPU,进行电路调整及程序修改,让数码管正常显示。5.4.2 按键测试结论在对按键进行测试的时候主要出现按键按下去有时候会出现连续加跟连续减的现象,经过查找相关资料,原来按键按下去的时候会出现微机原理与单片机接口技术课程设计报告- 14

25、 -“抖动” ,所以我们就要在程序中进行删改,做“消抖”处理。5.4.3 测试结论经过多次的反复测试,分析跟修改,程序越来越完善,我也对电路的原理跟功能更加熟悉,同时在编程方面也更加的熟练,很多平时老师没有教到的知识我通过自学,也都能基本掌握,可说在编程上得到了很大的提高,以及对所学的知识也得到很大的巩固。调试展示如下 5.1 图所示:图 5.1 调试展示图微机原理与单片机接口技术课程设计报告- 15 -微机原理与单片机接口技术课程设计报告- 16 -总结与致谢在这 2016 年的年末,经过我们的努力,我们圆满的完成了本学期的课程设计。此次我们的课程设计是微机原理与单片机接口技术课程设计,而我

26、们小组做的是基于 51 单片机的简易电子时钟设计。电子时钟与我们的生活息息相关,尽管它作为我们的日常用品,但说实话我们对其很不了解。这种很熟悉却又很遥远的感觉激发了我的求知欲望。经过我们认真的查阅资料,我们了解了电子时钟和 51 单片机的原理以及如何使用 51 单片机设计电子时钟。然后我们开始设计属于我们自己的电子时钟,我们通过仿真软件设计了原理图,编写了 C 语言程序。微机原理与单片机接口技术课程设计报告- 17 -本次课程设计我和另外两位同学主要负责硬件部分,即按照原理图购买和焊接实物电路并烧写单片机和最后调试。这真正做之前我感觉并不难,但是真正上手之后却是错漏百出。比如我们在焊接排阻时,

27、由于不仔细没有注意到它的极性,最后才发现焊反了,还有部分地方存在虚焊等问题。虽然最后在大家的努力下一一得以解决,但是这也说明我们还存在很多问题。类似于对原理不是特别懂,还有就是粗心不仔细,再就是动手能力极差。看的时候感觉很简单,但是自己动手焊接时却发现非常不容易。总而言之,通过这次课程设计我感觉收获颇丰。不仅仅是学习能力的提升,还有动手能力的提升,更重要的是收获了一份钻研精神以及一种不畏困难勇往直前的勇气!微机原理与单片机接口技术课程设计报告- 18 -参考文献1郭天祥.新概念51单片机C语言教程M.北京:电子工业出版社,20092张靖武,周灵斌.单片机原理、应用与PROTEUS仿真M.北京:

28、电子工业出版社,20083张道德.单片机接口技术M.北京:中国水利水电出版社,2007微机原理与单片机接口技术课程设计报告- 19 -微机原理与单片机接口技术课程设计报告- 20 -微机原理与单片机接口技术课程设计报告- 21 -附录附录一 分组表任务/人设计电路编写程序 焊接烧写调试 备注 焊接烧写 焊接烧写 焊接烧写 总体电路设计 总体程序编写微机原理与单片机接口技术课程设计报告- 22 - 数码管显示模块程序设计 按键模块程序设计 复位模块与电源开关模块 数码显示模块和蜂鸣器电路模块 晶振电路模块和单片机电路模块附录二 程序数码管显示程序:void display(void)P0=led

29、hour/10; /p0 口送数据 拆数显示P2=0xFE; /片选delay(); /延时P2=0xFF; /片选关P0=ledhour%10;P2=0xFD;delay();P2=0xFF;P0=0x40;微机原理与单片机接口技术课程设计报告- 23 -P2=0xFB;delay();P2=0xFF;P0=ledminit/10;P2=0xF7;delay();P2=0xFF;P0=ledminit%10;P2=0xEF;delay();P2=0xFF;P0=0x40;P2=0xDF;delay();P2=0xFF;P0=ledsecond/10;P2=0xBF;delay();P2=0xFF;P0=ledsecond%10;P2=0x7F;delay();微机原理与单片机接口技术课程设计报告- 24 -P2=0xFF;按键操作子程序:void display(void)P0=ledhour/10; /p0 口送数据 拆数显示P2=0xFE; /片选delay(); /延时P2=0xFF; /片选关P0=ledhour%10;P2=0xFD;delay();P2=0xFF;P0=0x40;P2=0xFB;delay();P2=0xFF;P0=ledminit/10;P2=0xF7;delay();P2=0xFF;P0=ledminit%10;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报