资源描述
单片机课程设计
题 目: 电子时钟
班 级:
姓 名:
学 号:
指导老师:
设计时间:
评语:
成绩
摘 要
针对数字时钟问题,利用8051单片机,proteus软件,vw(伟福)等软件,利用单片机中定时计数器T0,中止系统和按键控制实现了电子时钟设计。设计电子时钟经过数码管显示,并能经过按键设计实现小时和分钟调整。时间开启和暂停等等。
关键字:数字时钟;单片机;定时计数器
1 引言
时钟,自她发明那天起,就成为人类好友,但伴随时间推移,科学技术不停发展,大家对时间计量进度要求越来越高,应用越来越广。怎样让时钟愈加好地为人类服务,怎样让我们老好友焕发青春呢?这就要求大家不停设计出新型时钟。
现金,高精度计时工具大多数全部使用了石英晶体振荡器,因为电子钟,石英表,石英钟全部使用了石英技术,所以走时精度高,稳定性好,使用方便,不需要常常调校,数字式电子钟用集成电路计时时,译码替换机械式传动,用LED显示器替换指针显示器,减小了计时误差,这种表含有时、分、秒显示功效,还能够进行时、分校对,片选灵活性好。
时钟电路在计算机系统中起着很关键作用,是确保系统正常工作基础。在一个单片机应用系统中,时钟有两方面含义:一是指为保障系统正常工作基准震荡定时信号,关键由晶振和外围电路组成,晶振频率大小决定了单片机系统工作快慢;二是指系统标准定时时钟,及定时时间,它通常有两种方法实现:一是软件实现,即用单片机内部可编程定时/计数器来实现,但误差很大,关键用在对时间精度要起不高场所;二是用专门时钟芯片实现,在对时间精度要求很高情况下,通常采取这种方法。本文关键介绍用单片机内部定时计数器来实现电子时钟方法,以单片机为关键,辅以必需电路,组成了一个单片机电子时钟。
单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机和扩展存放器、I\O接口、外围扩展功效芯片和接口电路。软件系统包含监控程序和多种应用程序。
在单片机应用系统中,单片机是整个系统关键,对整个系统信息输入、处理、信息输出进行控制。和单片机配套有对应复位电路、时钟电路和扩展存放器和I\O接口,使单片机应用系统能够运行。
在一个单片机应用系统中,往往全部会输入信息和显示信息,这就包含键盘和显示器。在单片机应用系统中,通常全部依据系统要求配置对应键盘和显示器。配置键盘和显示器通常全部没有统一要求,有系统功效复杂,需输入信息和显示信息量大,配置键盘和显示器功效相对强大,而有些系统输入/输出信息少,这时可能用多个按键和多个LED指示灯就能够进行处理了。在单片机应用系统在中配置键盘能够是独立键盘,也可能是矩阵键盘。显示器能够是LED指示灯,也能够是LED数码管,也能够是LCD显示器,还能够使用CRT显示器。单片机应用系统中键盘通常见比较多是矩阵键盘,显示器用比较多是LED数码管还有LCD显示器。
2 设计方案及原理
2.1 中止系统介绍
MCS-51单片机提供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”,则对应中止源被设为高优先级;假如某位被清零,则对应中止源被设为低优先级。对于同级中止源,系统有默认优先权次序,从高到低优先权次序为外部中止0、定时计数器T0中止、外部中止1、定时计数器T1中止、串行口中止。经过设置中止优先级寄存器IP能够改变系统默认优先级次序。
2.2 计数器定时器介绍
MCS-51系列中51子系列有两个16位可编程定时\计数器T0和定时\计数器T1。它由加法计数器、方法寄存器TMOD、控制寄存器TCON等组成。方法寄存器用于设定定时计数器T0和T1工作方法,控制寄存器用于对定时计数器开启、停止进行控制。
每个定时计数器既能够对系统时钟计数实现定时,也能够外部信号计数实现计数功效经过编程设定来实现。
定时计数器有四种工作方法,经过编程可设定工作于某种方法。四种工作方法为:13位定时\计数器、16位定时\计数器、8位自动重置定时\计数器、两个8位定时\计数器(只有T0有)。 每一个定时计数器定时计数时间到时产生溢出,使对应溢出位置位,溢出可经过查询或中止方法处理。
2.3 键盘和数码管介绍
键盘是单片机应用系统中最常见输入设备,在单片机应用系统中,操作人员通常全部是经过键盘向单片机系统输入指令、地址和数据,实现简单人机通信。键盘实际上是一组按键开关集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘结构形式通常有两种:独立式键盘和矩阵式键盘。矩阵式键盘工作方法有3种:查询工作方法、定时扫描工作方法和中止工作方法。
LED数码显示管在单片机应用系统中,常常见到LED数码管作为显示输出设备,LED数码管显示器即使显示信息简单,但它含有显示清楚、亮度高、使用电压低、寿命长、和单片机接口方便等特点,基础上能够满足单片机应用系统需要,所以在单片机应用系统中常常见到。LED数码管显示器是由发光二极管按一定结构组合起来显示器件。在单片机应用系统中通常使用是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方法是指由显示字符转换得到对应字段码方法。对于LED数码管显示器,通常译码方法有两种:硬件译码方法和软件译码方法。LED数码管在显示时,通常有两种显示方法:静态显示方法和动态显示方法。在使用时能够把它们组合起来。在实际应用时,假如数码管个数较少,通常见硬件译码静态显示,在数码管个数较多时,则通常见软件译码动态显示。
2.4 设计思想
电子时钟是利用单片机内部定时器\计数器来实现,它处理过程以下:首先设定单片机内部一个定时器\计数器工作于定时方法,对机器周期计数形成基按时间,然后对基按时间计数形成秒,秒计60次形成份,分计60次形成小时,小时计24次则计满一天。然后经过数码管把它们内容在对应位置显示出来即可。
数码管显示能够采取静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示通常见6个或8个数码管。因为系统没有其它复杂任务处理,而且显示时钟信息随时全部可能改变,通常采取动态显示方法。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。
在具体处理时,定时器计数器采取中止方法工作,对时钟形成在中止服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。时间调整方法,设计了简单按键,能够经过按键实现时、分调整,在主程序中加入了键盘设置子程序。
用定时/计数器T0,工作于定时,采取方法1,对12MHZ系统时钟进行定时计数,形成定时时间为50ms,所以定时初值为15536(3CB0H)。用片内RAM7BH单元对50ms计数,计20次秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8个数码管显示缓冲区,经过数码管显示出来。显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。
3 硬件设计
图2.1 硬件原理图1
图2.2 硬件原理图2
4软件设计
4.1 设计模块
程序分为4个部分:主程序,中止服务程序,显示程序,按键处理程序。
4.1.1 主程序
主程序设置显示缓冲区和定时计数器T0初始值,并开始计数,反复调用键盘扫描和显示子程序。步骤图3.1。
开始
显示缓冲单元0
调用扫描件键盘
装载计数初值
定时器0工作方法1
定时开始
调用显示子程序
开中止
图3.1 主程序步骤图
4.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 中止服务程序步骤图
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键可进行加1或减1操作,再按下K0键则恢复计时状态。
4.2 程序清单
ORG 0000H
LJMP START
ORG 000BH ;定时器/计数器T0中止程序入口
LJMP INTT0
START: MOV R0,#70H ;主程序
MOV R7,#0CH
INIT: MOV @R0,#00H
INC R0
DJNZ R7,INIT
MOV 72H,#0AH
MOV 75H,#0AH
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#03CH
SETB EA
SETB ET0
SETB TR0
START1: LCALL SCAN
LCALL KEYSCAN
SJMP START1
DL1MS: MOV R6,#14H ;延时1MS子程序
DL1: MOV R7,#19H
DL2: DJNZ R7,DL2
DJNZ R6 ,DL1
RET
DL20MS: ACALL SCAN ;延时20MS子程序
ACALL SCAN
ACALL SCAN
RET
SCAN: MOV A,78H ; 数码管显示程序
MOV B,#0AH
DIV AB
MOV 71H,A
MOV 70H,B
MOV A,79H
MOV B,#0AH
DIV AB
MOV 74H,A
MOV 73H,B
MOV A,7AH
MOV B,#0AH
DIV AB
MOV 77H,A
MOV 76H,B
MOV R1,#70H ;循环扫描显示
MOV R5,#80H ;选通最右边第一个数码块
MOV R3,#08H
SCAN1: MOV A,R5
MOV P2,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1MS
INC R1
MOV A,R5
RR A
MOV R5,A
DJNZ R3,SCAN1
MOV P2,#00H
MOV P0,#0FFH
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH
;“0~9”,“-”共阳极字段码
INTT0: PUSH ACC ;定时器/计数器T0中止服务程序
PUSH PSW
CLR ET0
CLR TR0
MOV TL0,#0B0H
MOV TH0,#03CH
SETB TR0
INC 7BH
MOV A,7BH
CJNE A,#14H,OUTT0
MOV 7BH,#00
INC 78H
MOV A,78H
CJNE A,#3CH,OUTT0
MOV 78H,#00
INC 79H
MOV A,79H
CJNE A,#3CH,OUTT0
MOV 79H,#00
INC 7AH
MOV A,7AH
CJNE A,#18H,OUTT0
MOV 7AH,#00
OUTT0: SETB ET0
POP PSW
POP ACC
RETI
KEYSCAN: CLR EA ;按键处理程序
JNB P1.0,KEYSCAN0
JNB P1.1,KEYSCAN1
JNB P1.2,KEYSCAN2
KEYOUT: SETB EA
RET
KEYSCAN0: LCALL DL20MS
JB P1.0,KEYOUT
WAIT0: 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 KEYOUT
KEYSCAN1: LCALL DL20MS
JB P1.1,KEYOUT
WAIT1: JNB P1.1,WAIT1
MOV A,7CH
CJNE A,#02H,KSCAN11
INC 79H
MOV A,79H
CJNE A,#3CH,KEYOUT
MOV 79H,#00
SJMP KEYOUT
KSCAN11: INC 7AH
MOV A,7AH
CJNE A,#18H,KEYOUT
MOV 7AH,#00
SJMP KEYOUT
KEYSCAN2: LCALL DL20MS
JB P1.2,KEYOUT
WAIT2: JNB P1.2,WAIT2
MOV A,7CH
CJNE A,#02H,KSCAN21
DEC 79H
MOV A,79H
CJNE A,#0FFH,KEYOUT
MOV 79H,#3BH
SJMP KEYOUT
KSCAN21: DEC 7AH
MOV A,7AH
CJNE A,#0FFH,KEYOUT
MOV 7AH,#17H
SJMP KEYOUT
END
总 结
针对电子时钟问题,利用单片机内部定时计数器T0计时功效以50MS为最小计时单位,进行计时,计20次为一秒,秒单元计60次为一分钟,分单元计60次为一小时,小时单元计24次为一天,每个单元计满则自动清0。单片机外部经过P2口和数码显示管连接,显示秒,分,时,同时还可经过按键调整时间。最终利用proteus软件仿真,并运行成功。在设计软件程序,编写论文过程中还存在部分不足之处,在以后学习中主动改善,深入掌握汇编语言编写技巧,熟练单片机硬件内容,更正缺点。
参 考 文 献
[1] 李华,王思明,张金敏.单片机原理及应用[J].兰州:兰州大学出版社,.
[2] 闫玉德,俞虹.MCS-51单片机原理和应用[J].北京:机械工业出版社,.
[3] 肖靖.单片机入门和试验设计[J].北京:北京航天航空大学出版社,.
展开阅读全文