1、单片机课程设计题 目: 电子时钟 班 级: 姓 名: 学 号: 指导老师: 设计时间: 评语:成绩 摘 要针对数字时钟问题,利用8051单片机,proteus软件,vw(伟福)等软件,利用单片机中定时计数器T0,中止系统和按键控制实现了电子时钟设计。设计电子时钟经过数码管显示,并能经过按键设计实现小时和分钟调整。时间开启和暂停等等。关键字:数字时钟;单片机;定时计数器1 引言时钟,自她发明那天起,就成为人类好友,但伴随时间推移,科学技术不停发展,大家对时间计量进度要求越来越高,应用越来越广。怎样让时钟愈加好地为人类服务,怎样让我们老好友焕发青春呢?这就要求大家不停设计出新型时钟。现金,高精度计
2、时工具大多数全部使用了石英晶体振荡器,因为电子钟,石英表,石英钟全部使用了石英技术,所以走时精度高,稳定性好,使用方便,不需要常常调校,数字式电子钟用集成电路计时时,译码替换机械式传动,用LED显示器替换指针显示器,减小了计时误差,这种表含有时、分、秒显示功效,还能够进行时、分校对,片选灵活性好。时钟电路在计算机系统中起着很关键作用,是确保系统正常工作基础。在一个单片机应用系统中,时钟有两方面含义:一是指为保障系统正常工作基准震荡定时信号,关键由晶振和外围电路组成,晶振频率大小决定了单片机系统工作快慢;二是指系统标准定时时钟,及定时时间,它通常有两种方法实现:一是软件实现,即用单片机内部可编程
3、定时/计数器来实现,但误差很大,关键用在对时间精度要起不高场所;二是用专门时钟芯片实现,在对时间精度要求很高情况下,通常采取这种方法。本文关键介绍用单片机内部定时计数器来实现电子时钟方法,以单片机为关键,辅以必需电路,组成了一个单片机电子时钟。单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机和扩展存放器、IO接口、外围扩展功效芯片和接口电路。软件系统包含监控程序和多种应用程序。在单片机应用系统中,单片机是整个系统关键,对整个系统信息输入、处理、信息输出进行控制。和单片机配套有对应复位电路、时钟电路和扩展存放器和IO接口,使单片机应用系统能够运行。在一个单片机应用系统中,往往全部
4、会输入信息和显示信息,这就包含键盘和显示器。在单片机应用系统中,通常全部依据系统要求配置对应键盘和显示器。配置键盘和显示器通常全部没有统一要求,有系统功效复杂,需输入信息和显示信息量大,配置键盘和显示器功效相对强大,而有些系统输入/输出信息少,这时可能用多个按键和多个LED指示灯就能够进行处理了。在单片机应用系统在中配置键盘能够是独立键盘,也可能是矩阵键盘。显示器能够是LED指示灯,也能够是LED数码管,也能够是LCD显示器,还能够使用CRT显示器。单片机应用系统中键盘通常见比较多是矩阵键盘,显示器用比较多是LED数码管还有LCD显示器。2 设计方案及原理2.1 中止系统介绍MCS-51单片机
5、提供5个硬件中止源,2个外部中止源,2个定时计数器T0和T1溢出中止TF0和TF1,1个串行口发送TI和接收RI中止。MCS-51单片机中没有专门开中止和关中止指令,对各个中止源许可和屏蔽是由内部中止许可寄存器IE各位来控制。中止许可寄存器IE字节地址为A8H,能够进行位寻址。系统复位时,中止许可寄存器IE内容为00H,假如要开放某个中止源,则必需使IE中总控置位和对应中止许可位置“1”。MCS-51单片机有5个中止源,为了处理方便,每个中止源有两级控制,高优先级和低优先级。经过由内部中止优先级寄存器IP来设置,中止优先级寄存器IP字节地址为B8H,能够进行位寻址。假如某位被置“1”,则对应中
6、止源被设为高优先级;假如某位被清零,则对应中止源被设为低优先级。对于同级中止源,系统有默认优先权次序,从高到低优先权次序为外部中止0、定时计数器T0中止、外部中止1、定时计数器T1中止、串行口中止。经过设置中止优先级寄存器IP能够改变系统默认优先级次序。2.2 计数器定时器介绍MCS-51系列中51子系列有两个16位可编程定时计数器T0和定时计数器T1。它由加法计数器、方法寄存器TMOD、控制寄存器TCON等组成。方法寄存器用于设定定时计数器T0和T1工作方法,控制寄存器用于对定时计数器开启、停止进行控制。每个定时计数器既能够对系统时钟计数实现定时,也能够外部信号计数实现计数功效经过编程设定来
7、实现。定时计数器有四种工作方法,经过编程可设定工作于某种方法。四种工作方法为:13位定时计数器、16位定时计数器、8位自动重置定时计数器、两个8位定时计数器(只有T0有)。 每一个定时计数器定时计数时间到时产生溢出,使对应溢出位置位,溢出可经过查询或中止方法处理。2.3 键盘和数码管介绍键盘是单片机应用系统中最常见输入设备,在单片机应用系统中,操作人员通常全部是经过键盘向单片机系统输入指令、地址和数据,实现简单人机通信。键盘实际上是一组按键开关集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘结构形式通常有两种:独立式键盘和矩阵式键盘。矩阵式键盘工作方法有3种:查询工作方法、定时扫描
8、工作方法和中止工作方法。LED数码显示管在单片机应用系统中,常常见到LED数码管作为显示输出设备,LED数码管显示器即使显示信息简单,但它含有显示清楚、亮度高、使用电压低、寿命长、和单片机接口方便等特点,基础上能够满足单片机应用系统需要,所以在单片机应用系统中常常见到。LED数码管显示器是由发光二极管按一定结构组合起来显示器件。在单片机应用系统中通常使用是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方法是指由显示字符转换得到对应字段码方法。对于LED数码管显示器,通常译码方法有两种:硬件译码方法和软件译码方法。LED数码管在显示时,通常有两种显示方法:静态显示方法和动态显示方法。
9、在使用时能够把它们组合起来。在实际应用时,假如数码管个数较少,通常见硬件译码静态显示,在数码管个数较多时,则通常见软件译码动态显示。2.4 设计思想电子时钟是利用单片机内部定时器计数器来实现,它处理过程以下:首先设定单片机内部一个定时器计数器工作于定时方法,对机器周期计数形成基按时间,然后对基按时间计数形成秒,秒计60次形成份,分计60次形成小时,小时计24次则计满一天。然后经过数码管把它们内容在对应位置显示出来即可。数码管显示能够采取静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示通常见6个或8个数码管。因为系统没有其它复杂任务处理,而且显示时钟信息随时全部可
10、能改变,通常采取动态显示方法。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。在具体处理时,定时器计数器采取中止方法工作,对时钟形成在中止服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。时间调整方法,设计了简单按键,能够经过按键实现时、分调整,在主程序中加入了键盘设置子程序。用定时计数器T0,工作于定时,采取方法1,对12MHZ系统时钟进行定时计数,形成定时时间为50ms,所以定时初值为15536(3CB0H)。用片内RAM7BH单元对50ms计数,计20次秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1
11、,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8个数码管显示缓冲区,经过数码管显示出来。显示格式为小时十位、小时个位-分十位、分个位-秒十位、秒个位。3 硬件设计图2.1 硬件原理图1图2.2 硬件原理图24软件设计4.1 设计模块程序分为4个部分:主程序,中止服务程序,显示程序,按键处理程序。4.1.1 主程序主程序设置显示缓冲区和定时计数器T0初始值,并开始计数,反复调用键盘扫描和显示子程序。步骤图3.1。 开始显示缓冲单元0调用扫描件键盘装载计数初值定时器0工作方法1定时开始调用显示子程序开中止图3.1 主程序步骤图4
12、.1.2 中止服务程序定时计数器T0用于时间计时。选择方法1,反复定时,定时时间设为50ms,定时时间到则中止,在中止服务程序中用7BH对50ms计数,计20次则对秒单元(78H)加1,秒单元加到60则对分单元(79H)加1,同时秒单元清0;分单元加到60则对时单元(80H)加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。中止服务程序步骤图图3.2否是否否否是是是开始现场保护,重置初值,开启下一个50ms定时计数器加1秒单元加1,计数器清0是否满20是否满60分单元加1,秒单元清0是否满60时单元加1,分单元清0是否满24时单元清0现场恢复返回图3.2 中止服务程序步骤图
13、4.1.3 显示程序本系统共采取8个显示块,从右向左依次是秒各位、秒十位、横线、分各位、分十位、横线、时各位、时十位,分别连接P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0,对应显示缓冲区70H、71H、72H、73H、74H、75H、76H、77H。P2口作为位选线,P0口作为段码线,数码块为共阳极连接,采取动态显示方法。4.1.4 按键处理程序按键从上到下依次为K0、K1、K2,分别和P1.0、P1.1、P1.2相连接。按下K0键后,时钟停止计时,并进入小时调整状态,按K1或K2键可进行加1或减1操作,再按一次K0键,进入分钟调整状态,一样按K1或K2键可进
14、行加1或减1操作,再按下K0键则恢复计时状态。4.2 程序清单ORG 0000HLJMP STARTORG 000BH ;定时器/计数器T0中止程序入口LJMP INTT0START: MOV R0,#70H ;主程序MOV R7,#0CHINIT: MOV R0,#00HINC R0DJNZ R7,INITMOV 72H,#0AHMOV 75H,#0AHMOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#03CHSETB EASETB ET0SETB TR0START1: LCALL SCANLCALL KEYSCANSJMP START1DL1MS: MOV R6,#14
15、H ;延时1MS子程序DL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6 ,DL1 RETDL20MS: ACALL SCAN ;延时20MS子程序 ACALL SCAN ACALL SCANRETSCAN: MOV A,78H ; 数码管显示程序MOV B,#0AHDIV ABMOV 71H,AMOV 70H,BMOV A,79HMOV B,#0AHDIV ABMOV 74H,AMOV 73H,B MOV A,7AHMOV B,#0AHDIV ABMOV 77H,A MOV 76H,B MOV R1,#70H ;循环扫描显示MOV R5,#80H ;选通最右边第一
16、个数码块 MOV R3,#08HSCAN1: MOV A,R5MOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,ALCALL DL1MSINC R1MOV A,R5RR AMOV R5,ADJNZ R3,SCAN1MOV P2,#00HMOV P0,#0FFHRETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;“09”,“-”共阳极字段码INTT0: PUSH ACC ;定时器/计数器T0中止服务程序PUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV T
17、H0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0MOV 7BH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0MOV 78H,#00 INC 79H MOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00 INC 7AH MOV A,7AHCJNE A,#18H,OUTT0MOV 7AH,#00OUTT0: SETB ET0 POP PSW POP ACCRETIKEYSCAN: CLR EA ;按键处理程序JNB P1.0,KEYSCAN0JNB P1.1,KEYSCAN1 JNB P1.2,KE
18、YSCAN2KEYOUT: SETB EA RETKEYSCAN0: LCALL DL20MS JB P1.0,KEYOUTWAIT0: JNB P1.0,WAIT0 INC 7CH MOV A,7CH CLR ET0 CLR TR0 CJNE A,#03H,KEYOUT MOV 7CH,#00 SETB ET0 SETB TR0 SJMP KEYOUTKEYSCAN1: LCALL DL20MS JB P1.1,KEYOUTWAIT1: JNB P1.1,WAIT1 MOV A,7CH CJNE A,#02H,KSCAN11 INC 79H MOV A,79H CJNE A,#3CH,KEY
19、OUT MOV 79H,#00 SJMP KEYOUTKSCAN11: INC 7AH MOV A,7AH CJNE A,#18H,KEYOUTMOV 7AH,#00 SJMP KEYOUTKEYSCAN2: LCALL DL20MS JB P1.2,KEYOUTWAIT2: JNB P1.2,WAIT2 MOV A,7CH CJNE A,#02H,KSCAN21 DEC 79H MOV A,79HCJNE A,#0FFH,KEYOUTMOV 79H,#3BH SJMP KEYOUTKSCAN21: DEC 7AH MOV A,7AH CJNE A,#0FFH,KEYOUT MOV 7AH,#
20、17H SJMP KEYOUTEND总 结针对电子时钟问题,利用单片机内部定时计数器T0计时功效以50MS为最小计时单位,进行计时,计20次为一秒,秒单元计60次为一分钟,分单元计60次为一小时,小时单元计24次为一天,每个单元计满则自动清0。单片机外部经过P2口和数码显示管连接,显示秒,分,时,同时还可经过按键调整时间。最终利用proteus软件仿真,并运行成功。在设计软件程序,编写论文过程中还存在部分不足之处,在以后学习中主动改善,深入掌握汇编语言编写技巧,熟练单片机硬件内容,更正缺点。参 考 文 献1 李华,王思明,张金敏.单片机原理及应用J.兰州:兰州大学出版社,.2 闫玉德,俞虹.MCS-51单片机原理和应用J.北京:机械工业出版社,.3 肖靖.单片机入门和试验设计J.北京:北京航天航空大学出版社,.
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100