




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉软件工程职业学院 武汉软件工程职业学院2008 级 毕 业 设 计课题名称 单片机电子时钟设计 学生姓名 奚贵兵 学 号 1297808050187 班 级 通 信 0801 班 指导老师 祝 勋 光电子与通信工程系完成时间: 2011年4月11日目 录摘 要 3一、前言 3二、电子时钟设计思路 42.1设计的实施方案 4 2.2设计步骤论述 4三、电路设计 5 3.1 电子时钟电路图 53.2模块设计 6 3.2.1电源部分 6 3.2.2复位部分 6 3.2.3控制部分 7 3.2.4集成数码管 7四、元器件的选取与检测9 4.1元器件清单9 4.2元器件的检测9 4.2.1二极管 94.2.2三极管 9五、程序设计10 5.1程序10单片机电子时钟设计摘 要单片机又称单片微控制器,它自20世纪70年代问世以来,就以其极高的性能价格比,倍受人们的重视和关注,应用广泛、发展迅速。因为单片机具有体积小、重量轻、功耗低、控制功能强、抗干扰能力强、扩展灵活、价格低廉、可靠性高、使用方便等优点,所以得到了广泛的应用,在我国,最早使用单片机是在1982年,如今单片机已被应用于家用电器、办公自动化、航空航天、智能仪表、工业测控、电子产品、机电一体化、医用设备、专用设备的智能化管理以及过程控制等几乎各个领域,电子时钟就是其典型的代表。通过这次简易的电子时钟设计,进一步掌握了如何利用接口电路进行硬件系统的设计,如何进行软件的设计,同时增强了学习兴趣及动手能力。在报告中,详细地记述了整个设计过程的各个环节,其中的不足欢迎老师指出或给予更好的建议关键词:单片机 电子时钟 控制一、前 言时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表.即使现在钟表千奇百怪,但是它们都只是完成一种功能计时功能,只是工作原理不同而易。在当代繁忙的工作与生活中,时间与我们每个人息息相关.在一个单片机应用系统中,时钟有两个方面的含义:一是指为保障系统正常工作的基础振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两中实现方法:一是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法;二是用软件实现,即用单片机内部的可编程定时计数器来实现的,对时间精度要求不高。本文主要介绍用单片机内部的定时计数器来实现电子时钟显示的方法,设计由单片机AT89C52芯片和四位一体数码管(LED)为核心,加上必要的电路,构成一个简易的电子时钟。二、电子时钟设计思路2.1设计的实施方案单片机中最重要的是四个P口,即P0、P1、P2、P3,我们可以根据电路所要实现的功能,在硬件设计部分来选择P口的链接方式;软件部分就需要用到单片机编程,也就是我们熟知的汇编语言,利用Medwin等软件编写电路所要实现的功能及状态。在本次电子时钟设计中,用到的是AT89C52单片机,用其来控制四个集成的数码管,使数码管显示日、月、时、分,并且可以通过控制键来进行时间和日期的调整。先是硬件部分,利用Protel软件画出硬件图,在PCB电路板上连接好各器件,检查并确定电路是否正常,再是软件部分,根据硬件图,写出程序,其中要特别注意P口的连接,软件调试无误后,用USB接口将程序拷进单片机内,观察数码管是否显示正常,通过控制键检查其是否有调时的功能。2.2设计步骤论述1、电子时钟电路的搭建、所需元器件以及电路板的焊接与检测。2、常态下,LED显示的是时间,当按下菜单键首先进入调整时间,再按下菜单键进入日期调整,有两个开关用来调整,再按菜单键恢复显时,菜单键每按下一次,发光二极管就两一次,当日期显示开关按下时,LED显示日期,发光二极管一直亮,当按键抬起,LED恢复显时,二极管熄灭。3、四个按键分别控制菜单的选择、时间和日期的调整、以及时间和日期的切换。数据与代码转换,从P2.4P2.7口输出位选码,即分别与数码管的com1、com2、com3、com4相连;从P0口输出段选码,即与数码管的a、b、c、d、e、f、g、dp脚相,利用P2.4到P2.7来控制四个数码管的显示,P2.0P2.3连接四个控制键。4、com1、com2、com3、com4分别接三极管的发射极,三极管的基极各接一个4.7k的电阻后再分别于P2.4P2.7相连,三极管的集电极都接电源。5、计时功能的实现与中断服务程序,时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。定时计数器T0打开后,进入计时,满60秒后即为1分钟,分钟单位进位,60分钟到了后,时钟单元进位,24小时满后,天单元进位,这样根据进率,得到月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送到LED中显示出来,实现时钟计时功能。6、用Medwin编写程序,拷入单片机观察LED是否显示正常,不正常则修改程序。三、电路设计3.1电子时钟电路图图3-1-13.2模块设计 3.2.1电源部分如下图3-2-1,从外部输入+5V的交流电,为单片机提供电源。图3-2-13.2.2复位部分单片机复位有两种基本方式,即上电复位和按键复位,本次设计用的是按键复位(如图3-2-2),通过接通按钮开关,使单片机进入复位状态。本次设计中单片机复位后显示0000。图3-2-23.2.3控制部分 为了减少寄生电容,保证振荡器稳定可靠地工作,在安装、焊接时钟电路时,晶振C1、电容C2和C3应尽可能地安装在单片机XTAL1和XTAL2引脚的附近。如下图3-2-3所示。 图3-2-3 3.2.4集成数码管 下图3-2-4为四位一体数码管的实物图,是将四个数码管集成在一起,其中四个数码管的a、b、c、d、e、f、g、dp分别集成在一起,利用各控制端com1、com2、com3、com4(图3-1-5中分别为1、2、3、4脚)来控制其工作,12个脚的分布图如下图3-1-5。 图3-2-4 图3-2-5 图3-2-6 图3-2-6是四位一体数码管与三极管之间的连接图,因为本次设计用到的是共阳极的数码管和NPN型的三极管,所以三极管的发射极与数码管的控制端相连,基极与电阻相连,集电极与电源相连。A1、A2、A3、A4置高电平数码管才点亮。四、元器件的选取与检测4.1元器件清单1、AT89C52单片机(1块)。2、四位一体集成数码管(1个),用来显示时间和日期。3、NPN型三极管(4个),分别与四个数码管的控制脚相连。4、4.7K电阻(9个),其中四个与三极管基极相连,四个做开关的上拉电阻, 一个用来复位。5、1K电阻(1个),与发光二极管串联。6、12M的晶体振荡器(1个)。7、10uF的极限电容(1个)。8、22pF的电容(2个),其作用是快速起振、稳定振荡频率、微调振荡频率。9、开关(5个),四个用来调时,一个用来复位。4.2元器件的检测4.2.1二极管在焊接电路板之前先得检测元器件的好坏,以下为二极管的检测方法:将万用表的红表笔和黑表笔分别接在二极管的两个电极,若测得的电阻值很小,则黑表笔所接的电极为二极管的正极,红表笔所接的电极为二极管的负极。若测得的电阻值很大则相反。4.2.2三极管将数字万用表的黑(红)表笔接到某个假定基极的引脚上,用红(黑)表笔先后接到其余两个引脚上,如果两次测得的电阻值都很大(或都很小),即PN结反偏(或正偏)则可确定假定基极是正确的,如果两次测得的阻值一大一小,则可确定假定基极不是基极,重新假定另一个引脚为基极,重复上述测试,当基极确定后,将黑表笔接基极,红表笔分别接其他两个电极,若两次测得的电阻值都较小,三极管为NPN型,然后再基极与假定集电极自检接一个100K的电阻,黑表笔接假定集电极,红表笔接假定发射极,测得一电阻值,将假定的集电极与假定的发射极对调,又测得一电阻值,比较两值的大小,可确定电阻值较小的那一次的假定是正确的,因为电阻值小,说明通过万用表的电流大,三极管处于放大状态,即满足发射结正偏,集电极结反偏。五、程序设计5.1程序电子时钟程序如下: BZ BIT 01H ;秒钟闪点控制位 SET1 BIT P2.0 ;菜单控制位 SET2 BIT P2.1 ;调分钟和日 SET3 BIT P2.2 ;调小时和月 SET4 BIT P2.3 ;时间和日期的转换键 COM1 BIT P2.4 ;数码管控制位 COM2 BIT P2.5 COM3 BIT P2.6 COM4 BIT P2.7 SECOND EQU 29H MINUTE EQU 30H HOUR EQU 31H DAY EQU 32H MONTH EQU 33H TCNT EQU 34H MENU EQU 35H ORG 0000H ;程序入口地址 LJMP START ;跳转到主程序 ORG 000BH ;定时计数器T0的入口地址 LJMP LOOP1START: MOV DPTR,#TABLE MOV SECOND,#0 ;初始化 MOV MINUTE,#0 MOV HOUR,#0 MOV DAY,#0 MOV MONTH,#0 MOV TCNT,#0 MOV MENU ,#0 MOV TMOD,#01H ;选用定时计数器T0,第一种工作方式 MOV TH0,#3CH ;定时50ms MOV TL0,#0B0H MOV IE,#82H ;开中断 SETB TR0 ;开定时计数器;*;判断是否有按键按下,是哪个按键按下 L1: LCALL DISPLAY ;调用时间显示 SETB P1.0 ;将P1.0置1,灭灯 JNB SET1,K1 ;判断SET1是否按下 JNB SET4,K2 ;判断SET2是否按下 LJMP L1 K2: CLR P1.0 ;将P1.0清零,将灯点亮 LCALL LOOP :调用日期的显示 JNB SET4,K2 SETB P1.0 LJMP L1 K1: LCALL DELAY ;调用延时子程序 JB SET1,L1 INC MENU ;将MENU加1 L101: JB SET1,L11 ;去抖动LCALL DISPLAY LJMP L101 L11: MOV A,MENU CJNE A,#01,A1 ;判断按键按下的次数 LJMP L2 A1: CJNE A,#02,A2 LJMP L3 A2: MOV MENU ,#0 LJMP L1 ;*;分钟和小时的调整 L2: CLR P1.0 LCALL DISPLAY ;调用时间显示 LCALL DELAY ;调用延时子程序 JNB SET1,K1 JB SET2,k3 SJMP D1 k3: JB SET3,L2 SJMP D2 D1: LCALL DISPLAY LCALL DELAY JB SET2,L2 INC MINUTE ;SET2按下一次,分钟就加1 MOV A,MINUTE CJNE A,#60,L22 ;判断分钟是否到60 INC HOUR ;小时加1 MOV MINUTE,#0 MOV SECOND,#0 L22: LCALL DISPLAY JNB SET2,L22 LJMP L2 D2: LCALL DISPLAY LCALL DELAY JB SET3 ,L2 INC HOUR ;SET3按下一次,小时加1 MOV A,HOUR CJNE A,#24,L21 ;判断小时是否到24 MOV HOUR,#0 L21: LCALL DISPLAY JNB SET3,L21 LJMP L2;*;日和月的调整 L3: CLR P1.0 LCALL LOOP ;调用日期的显示 LCALL DELAY ;调用延时 JNB SET1,K101 ;判断开关是否按下 JB SET2,K4 LJMP D3 K101: LJMP K1 K4: JB SET3,L3 SJMP D4 D3: LCALL LOOP LCALL DELAY JB SET2,L3 INC DAY ;天数加1 MOV A,DAY CJNE A,#31,L32 ;判断天数是否到31 INC MONTH MOV DAY,#0 ;月份加1 LJMP L32 L32: LCALL LOOP JNB SET2,L32 LJMP L3 D4: LCALL LOOP ;调用日期的显示 LCALL DELAY ;调用延时 JB SET3,L3 INC MONTH ;月份加1 MOV A,MONTH CJNE A,#13,L31 ;判断月份是否到13 MOV MONTH,#1 ;12月过后显示1月 L31: LCALL LOOP JNB SET3,L31 LJMP L3 ;*;定时计数器中断服务,对秒、分钟、小时的计数LOOP1: MOV TH0,#3CH MOV TL0,#0B0H INC TCNT MOV A,TCNT CJNE A,#20,RETUNE ;计时1s CPL BZ ;秒点的闪烁,1秒闪一次 INC SECOND ;秒钟加1 MOV TCNT,#0 MOV A,SECOND CJNE A,#60,RETUNE ;判断秒钟是否到60秒 INC MINUTE ;分钟加1 MOV SECOND,#0 MOV A,MINUTE CJNE A,#60,RETUNE ;判断分钟是否到60 INC HOUR ;小时加1 MOV MINUTE,#0 MOV A,HOUR CJNE A,#24,RETUNE ;判断小时是否到24 INC DAY ;天数加1 MOV HOUR,#0 ;满一天,时分秒都清零 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0 MOV A,DAY CJNE A,#32,RETUNE ;判断天数是否到32 INC MONTH ;月份加1 MOV DAY,#1 MOV A,MONTH CJNE A,#13,RETUNE ;判断月是否到13 MOV MONTH,#1 ;满12月后回到1月RETUNE:RETI ;中断返回;*;显示控制子程序,时间的显示DISPLAY:MOV A,MINUTE ;显示分钟 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P0,A ;显示分钟的十位 SETB COM2 ;点亮第2个数码管 LCALL DELAY CLR COM2 MOV A,B MOVC A,A+DPTR MOV P0,A ;显示分钟的个位 SETB COM1 ;点亮第1个数码管 LCALL DELAY CLR COM1 MOV A,HOUR ;显示小时 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P0,A ;显示小时的十位 SETB COM4 ;点亮第4个数码管 LCALL DELAY CLR COM4 MOV A,B MOVC A,A+DPTR MOV P0,A ;显示小时的个位 SETB COM3 ;点亮第3个数码管 JB BZ,S1 CLR P0.7 ;秒点的闪烁 S1: LCALL DELAY SETB P0.7 CLR COM3 RET ;返回主程序;*;日期的显示 LOOP: MOV A,DAY ;显示日 MOV B,#10 DIV AB MOVC A,A+DPTR SETB COM2 ;点亮第2个数码管 MOV P0,A ;显示日的十位 LCALL DELAY CLR COM2 MOV A,B MOVC A,A+DPTR SETB COM1 ;点亮第1个数码管 MOV P0,A ;显示日的个位 LCALL DELAY CLR COM1 MOV A,MONTH ;显示月 MOV B,#10 DIV AB MOVC A,A+DPTR SETB COM4 ;点亮第4个数码管 MOV P0,A ;显示月的十位 LCALL DEL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽阜阳东盛建设投资有限公司招聘10人考试历年参考题附答案详解
- 2025云南玉溪市澄江市启澄人力资源有限责任公司招聘社会救助服务人员招聘1人考试历年参考题附答案详解
- 2025年大学边防管理专业题库- 重建防线
- 2025年大学边防管理专业题库- 边防管理专业学科竞赛成绩分析
- 2025年大学反恐警务专业题库- 反恐警务专业学生实践经验分享与总结
- 无人驾驶技术市场前瞻分析
- 2024-2025学年青岛远洋船员职业学院妇产护理期末试题预测试卷及答案详解(全优)
- 工会信访接待培训课件
- 2024-2025学年度湖南工艺美术职业学院妇产护理期末通关考试题库(预热题)附答案详解
- 2025年呼伦贝尔市陈巴尔虎旗事业单位引进人才(54人)笔试备考试题含答案详解(培优a卷)
- 光纤技术考试题及答案
- 林则徐虎门销烟课件
- BIM概述课件教学课件
- 退火炉施工方案(3篇)
- 高层办公楼消防知识培训课件
- 健身房股东协议合同范本
- 医疗机构医疗质量安全专项整治行动自查自纠报告
- 待灭菌物品的装载
- 《急性肺栓塞诊断和治疗指南2025》解读
- 2025年职业病诊断医师考核试题(答案)
- 第一单元 100以内数加与减(二) 单元教学设计-2025北师大版二年级数学上册
评论
0/150
提交评论