单片机原理课程设计基于单片机的电子时钟系统.doc

上传人:laozhun 文档编号:4147267 上传时间:2023-04-07 格式:DOC 页数:15 大小:117.50KB
返回 下载 相关 举报
单片机原理课程设计基于单片机的电子时钟系统.doc_第1页
第1页 / 共15页
单片机原理课程设计基于单片机的电子时钟系统.doc_第2页
第2页 / 共15页
单片机原理课程设计基于单片机的电子时钟系统.doc_第3页
第3页 / 共15页
单片机原理课程设计基于单片机的电子时钟系统.doc_第4页
第4页 / 共15页
单片机原理课程设计基于单片机的电子时钟系统.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《单片机原理课程设计基于单片机的电子时钟系统.doc》由会员分享,可在线阅读,更多相关《单片机原理课程设计基于单片机的电子时钟系统.doc(15页珍藏版)》请在三一办公上搜索。

1、 单片机原理课程设计 题目:基于单片机的电子时钟系统 学院:电 子 信 息 工 程 学 院 专业:自 动 化 年级:2 0 0 8 级 1 班 姓名: 学号:200810311129 指导老师:目 录绪论1理论基础.3 2课程设计的目的与任务.63课程设计的基本要求.64电子时钟设计基本思想.6硬件设计及软件编程 1在PROTEUS中设计硬件.72 在KEIL51中编写软件.12 仿真结果分析.18参考文献.18绪论一 理论基础 1、MCS51单片机系统简介MCS51芯片一般集成了微处理器,存储器,I/O接口,和一个全双工的串口,中断系统,定时/计数器,时钟电路 2、MCS51单片机内部定时器

2、/计数器、中断系统简介 80C51单片机内部设有两个16位的可编程定时器/计数器。可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1 构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器 TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电

3、路连接起来的。TMOD主要是用于选定定时器的工作方式; TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志 。M1M0:工作方式选择位,定时器计数器的4种工作方式由M1M0设定。M1M0工作方式功能描述00工作方式013位计数器01工作方式116位计数器10工作方式2自动再装入8位计数器11工作方式3定时器0:分成两个8位计数器;定时器1:停止计数8051单片机有5个中断源和两个中断优先级,高优先级的中断源可以中断低优先级的服务程序,反之不行。INT0T0INT1T1串口中断。8051没有专门的开中断和关中断的指令,中断的开放和关闭是由特殊功能寄存器IE来

4、实现两级控制的。有个总开关EA,然后又有ES,ET1,EX1,ET0,EX0五个开关。为1表示开,为0表示关。单片机在复位后,IE各位的状态为0,所以CPU处于关中断的状态。对于串口来说,其中断请求被响应后,CPU不能自动清除中断标志。用指令来实现关中断。其他中断源的中断标志在CPU响应中断后自动清除。中断优先级由IP来控制,PS,PT1,PX1,PT0,PX0,置为1表示高优先级。外部中断源的中断触发方式通过特殊功能寄存器TCON,IT0:外部中断方式,为0低电平触发;为1负沿触发,由指令来设置;IE0:中断申请,检测到有效中断时,硬件置位,CPU转向中断服务程序时,硬件清零。可见定时器和外

5、部中断的申请标志,在CPU响应中断之后能够自动清除。编写中断服务程序:各中断源的入口地址之间仅仅相隔8各单元,如果中断程序长度超过8各地址单元,应该在入口地址安排一个转移指令,转到足够大空间处;若在执行中断服务时需要禁止更高级中断源,需要用软件指令关闭中断,在中断返回之间开中断;及时清除那些不能被硬件自动清“0”的中断请求标志,以免产生错误的中断。3、 键盘和LED数码管显示器简介LED数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极(负极)短接后作为反映出半导体材料的特性。发光颜色不仅与管

6、芯材料有关,还与所掺杂质有关,因此用同一种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管。其他颜色LED数码管的光谱曲线形状与之相似,仅入,值不同。LED数码管的产品中,以发红光、绿光的居多、这两种颜色也比较醒目。LED数码管等效于多只具有发光性能的PN结。当PN结导通时,依靠少数载流子的注人及随后的复合而辐射发光,其伏安特性与普通二极管相似。在正向导通之前,正向电流近似于零,笔段不发光。当电压超过开启电压时,电流就急剧上升,笔段发光。因此,LED数码管属于电流控制型器件,其发光亮度L(单位是cdm2)与正向电流IF有关,用公式表示:L=KIF即亮度与正向电流成正比。LED的正向电压U,

7、则与正向电流以及管芯材料有关。使用LED数码管时,工作电流一般选10mA左右段,既保证亮度适中,又不会损坏器件。 4、 基本原理。一般电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒

8、计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。而该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路

9、,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。二、课程设计的目的与任务 计是利用MCS-51单片机内部的定时计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。三、课程设计的基本要求通过本课程的学习,使

10、学生了解在现有的开发装置上的相关硬件,单片机仿真软件的使用。正确地掌握在计算机编写汇编程序、调试、下载、配合外部电路进行系统功能测试,设计并实现一个单片机电子时钟系统。要求:按设计要求制订方案,正确地仿真、实现系统功能。写出课程设计报告。理解设计方案后再自己动手设计硬件、编写软件程序,通过调试实现设计方案。 四、电子时钟设计思想:用定时计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY(自己计算)。形成定时时间为50ms。用片内RAM的7BH单元对50ms计数,计20次产生秒计数器7BH单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则

11、时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。显示格式为小时十位、小时个位-分十位、分个位-秒十位、秒个位。在处理过程中加上了按键判断程序,能对按键处理。硬件设计及软件编程1、在PROTEUS中设计硬件.根据设计要求和设计思路,硬件电路有两部分组成,即单片机按键电路,LED显示器电路。图1 为硬件电路设计框图。按键电路LED显示电路MC51图1 硬件电路设计框图 硬件电路图 本设计电路,硬件部分共由四模块组成:按键模块、复位电路模块、晶振电路模块、时间显示模块。晶振电路模块负责给单片机提供时钟周期。复

12、位单路模块负责上电后自动复位,或按键后强制复位。上电后,由单片机内部定时器计时,同时通过动态显示函数自动将时分秒显示到数码管上。与此同时,按键扫描函数,一直扫描按键引脚状态,一旦扫描到按键被按下,即进入相应的功能函数。硬件电路说明按键模块按键模块如图所示。图 按键模块本设计的按键模块采用3个按键作为电子时钟的控制输入,通过按键来实现时钟的时间设置、定时、秒表功能。电路中将三个按键的一端接公共地,而单片机的P2口默认为高电平,一旦按键被按下,则该按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。按键的去抖动由软件来实现。(图示多了一个按键) 单

13、片机的复位电路单片机的复位电路,如图所示。图单片机的复位电路当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,保持RST一段高电平时间。单片机的晶振电路单片机的晶振电路,如图所示。图 单片机的晶振电路石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容, 接

14、地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看, 形成一个正反馈以保证电路持续振荡。时间显示模块时间显示模 图 液晶显示电路2、 在KEIL51中编写软件程序流程图 开始显示单元清零T0、T1设为16位计数模式允许T0中断调用显示子程序进入功能程序按下键否?否是开始现场保护,重置初值启动下一个50ms50ms 计数器加1秒单元加1,50ms计数器清0,秒写入秒个位和秒十位50ms 计数器=20?否是分单元加1,秒单元清0,分写入分个位和分十位秒单元=60?时单元加1,分单元清0,时写入时个位和时十位分单元=60?时单元清0时单元=24

15、?中断返回否否否是是是 软件程序:;采用8位LED软件译码动态显示程序;使用AT89C51单片机,12MHZ晶振,P0输出字段码,P2口输出位选码,用共阳;LED数码管,P1.0为调时位选择按键,P1.1为加1键,P1.2为减1键。;片内RAM的70H到77H单元为LED数码管的显示缓冲区;78H,79H,7AH分别为秒、分、小时计数单元;7BH为50ms计数器,7CH为调时按键计数器ORG 0000HLJMP STARTORG 000BH ;定时器/计数器T0中断程序入口LJMP INTT0;主程序START:MOV R0,#70HMOV R7,#0CHINIT: MOV R0,#00HIN

16、C R0DJNZ R7,INITMOV 72H,#10MOV 75H,#10MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#03CHSETB EASETB ET0SETB TR0START1:LCALL SCANLCALL KEYSCANSJMP START1;延时1MS子程序DL1MS:MOV R6,#14HDL1:MOV R7,#19HDL2:DJNZ R7,DL2DJNZ R6,DL1RET;延时20MS子程序DL20MS:ACALL SCANACALL SCANACALL SCANRET;数码管显示程序SCAN:MOV A,78H ;时间存入显示缓冲区相应位置MO

17、V B,#0AHDIV ABMOV 71H,AMOV 70H,BMOV A,79HMOV B,#0AHDIV ABMOV 74H,AMOV 73H,BMOV A,7AHMOV B,#0AHDIV ABMOV 77H,AMOV 76H,BMOV R1,#70H ;循环扫描显示MOV R5,#80HMOV R3,#08HSCAN1:MOV A,R5MOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,AMOV A,R5LCALL DL1MSINC R1MOV A,R5RR AMOV R5,ADJNZ R3,SCAN1MOV P2,#00HMOV P0,#

18、0FFHRETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;“09”,“-”的共阳极字段码;定时器/计数器T0中断服务程序INTT0:PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0MOV 7BH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0MOV 78H,#00INC 79HMOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00INC

19、 7AHMOV A,7AHCJNE A,#18H,OUTT0MOV 7AH,#00OUTT0:SETB ET0pop pswpop accRETI;按键处理程序KEYSCAN:CLR EAJNB P1.0,KEYSCAN0JNB P1.1,KEYSCAN1JNB P1.2,KEYSCAN2KEYOUT:SETB EARETKEYSCAN0:LCALL DL20MSJB P1.0,KEYOUTWAIT0:JNB P1.0,WAIT0INC 7CHMOV A,7CHCLR TR0CLR ET0CJNE A,#03H,KEYOUTMOV 7CH,#00SETB TR0SETB ET0SJMP KEY

20、OUTKEYSCAN1:LCALL DL20MSJB P1.1,KEYOUTWAIT1:JNB P1.1,WAIT1MOV A,7CHCJNE A,#02H,KSCAN11INC 79HMOV A,79HCJNE A,#3CH,KEYOUTMOV 79H,#00SJMP KEYOUTKSCAN11:INC 7AHMOV A,7AHCJNE A,#18H,KEYOUTMOV 7AH,#00SJMP KEYOUTKEYSCAN2:LCALL DL20MSJB P1.2,KEYOUTWAIT2:JNB P1.2,WAIT2MOV A,7CHCJNE A,#02H,KSCAN21DEC 79HMOV

21、A,79HCJNE A,#0FFH,KEYOUTMOV 79H,#3BHSJMP KEYOUTKSCAN21:DEC 7AHMOV A,7AHCJNE A,#0FFH,KEYOUTMOV 7AH,#17HSJMP KEYOUTEND 仿真结果分析功能太过单调,只能实现时分秒的显示,设计比较简单。电路图的设计过于单调,用的器件太少,实现调节时间的按钮太少,不能很好的实现时间的调节。在测试过程中,六位数码显示管只显示五位数字,有一位数字不亮,通过多次的修改程序并在PROTEUS软件环境中进行仿真,最终解决了这个问题,同时也透露出本人在单片机电路设计和程序设计方面的不足。不过最后的仿真效果非常好,实现了预期的效果,能过通过多功能控制键调节时间和是否进入省电模式,是一个比较令人满意的设计。参考文献1、杨加国.单片机原理与运用及C51程序设计第二版.清华大学出版社2、阎石 数字电子技术基础 第五版 高等教育出版社

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号