数字秒表系统的设计
更新时间:2024-01-20 16:44:01 阅读量: 教育文库 文档下载
单片机原理及系统课程设计报告”
基于单片机的数字秒表系统设计 1.引言
在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展,它在人们日常生活中已经崭露头角。大多数电子产品多是由计算机电路组成,如:手机、MP3等。而且将来的不久它们的身影将会更频繁的出现在我们身边,各种家用电器多会实现微电脑技术。电脑各部分在工作时多是以时间为基准的。本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出来的数字秒表,秒表在很多领域充当一个很重要的角色。在各种比赛中对秒表的精确度要求更高,尤其是一些科学实验,它们对时间精确度达到了几纳秒的要求。
本设计是设计一个单片机控制的数字电子秒表本秒表采用8051为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现两位LED显示,显示时间为00~99秒,每秒自动加1,能正确地进行计时,且具有快加功能。其软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,快加程序,外部中断服务程序,延时程序等,并在keil下调试通过,硬件电
路通过proteus模拟连接,并与软件相结合,调试修改,使达到预期的目的。
2.设计方案及原理
2.1该数字秒表所要实现的功能。
设计一个秒表,按“开始”按键,开始计数,数码管显示从00每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当前的计数;按“快加”按键,系统每10ms快速加一,即数码管显示在原先的计数上快速加一。
(1) 使用两位数码管显示,显示时间00~99秒; (2)正常计数时,每秒自动加一;
(3) 一个开始按键,一个复位按键,一个暂停按键和一个快加按键; (4) 实现计数、复位、清零和快加功能;
(5) 单片机通电后,首先初始化,然后进行对按键扫描。开始键用来控制秒表工作的开始;暂停键用来暂停程序的运行;快加键控制快速计数的开始,利用暂停键停止;复位键是用来对程序复位用的,当程序出现死循环或想从00开始重新计时,按下复位键可返回程序开始,重新执行。
2.2该设计要求进行计时并在数码管上显示时间。
(1)引脚应用说明。
- 1 -
单片机原理及系统课程设计报告”
1)利用MCS系列单片机微机仿真实验系统中的芯片8051中的P3.2管脚作为外部中断0的入口地址,并实现“开始”按键的功能(如图2.1); 2)将P3.3作为外部中断1的入口地址,并实现“清零”按键的功能; 3)使用P0口作为段码数据输出控制口,74LS164用作驱动输出控制,P1.1、P1.2口分别实现暂停、快加的功能。
图2.1 MCS—51单片机引脚图 (2)显示电路。
1)显示电路由两位共阴极数码管组成。使用定时器T0实现10ms的定时,进行快加延时;当想实现正常计数时的1s延时,只需要实现40次25ms的定时器T1控制延时就可以实现。其中“开始”按键当开关由1拨向0时开始计时;“清零”按键当开关由1拨向0时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
2)初始状态下计时器显示00,当按下开始键时,外部中断INT0向CPU发出中断请求,CPU转去执行外部中断0服务程序,即开启定时器T0,并且进行100次计数,当到100次时,即延时1s时,产生一个中断信号,向CPU发出请求,执行计数器加一且送往数码管显示。在计时过程中,只要按下暂停键,即根据P1.0口电平变化去执行控制程序,关断定时器T0和T1,调用显示子程序,实现暂停功能。在按下暂停键时,将此时的计时时间存入中间缓存区,当再次按下开始键时,则讲中间缓存区的数据转入最终缓存区。
3)计时采用定时器T1中断完成,定时溢出中断周期为25ms,并同时进行40
- 2 -
单片机原理及系统课程设计报告”
次计数,当有溢出时,会产生中断信号,向CPU发出中断请求,每发出一次中断请求就对计数单元低位进行加一,达到10次就对高位进行加一,送数码管显示,依此类推,直到99秒后再加一后返回00,重新开始。
数码管显示电路采用动态扫描的方式,由于数码管采用共阴极的接法,当位选信号为高电平时,该位选通,P0口中的数据送到该段上显示,节省接口资源,又能实时动态的性能。
4)按键的处理。这四个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键和开始键功能在于使程序从头执行,对于时间的要求即单片机上电初始化时的值00;而停止键则要用于对时间的锁定,需要比较准确的控制;而对于快加键,当检测到有快加信号时,则启动定时器T0, 完成一个周期定时时产生一个溢出中断请求,向CPU发送请求,每发一次就对计数单元低位进行加一操作,达到10次就对高位进行加一操作,送数码管显示,依次循环;同时检测是否有暂停信号,有暂停信号时,跳出快加程序,执行显示子程序。因此可以对暂停和快加按键采取扫描的方式,而对开始和复位键采用外部中断的方式。
3.硬件设计
3.1数字秒表硬件设计的基本要求
(1)数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 (2)设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,计时与显示电路和回零、启动和快加电路等。主控制器采用单片机8051,显示电路采用两位共阴极LED数码管显示计时时间。
(3)本设计利用8051单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始和复位的功能。P0口输出段码数据,74LS164用作驱动输出,P1.1、P1.2、P3.2、P3.3口接四个按钮开关,分别实现暂停、快加、开始和复位功能。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图3.1进行设计。主电路见附录。
两位数码管控制开关8051单片机控制器位驱动
图3.1 数字秒表硬件电路基本原理图 根据要求知道秒表设计主要实现的功能是计时和显示。本设计中,数码管显示的数据存放在内存单元11H和12H中。其中12H存放低位数据,11H存放高位数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示
- 3 -
单片机原理及系统课程设计报告”
功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,分别取出11H、12H地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。采用了汇编语言编写,汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。
3.2 电源电路
电源电路是系统的最基本部分,任何部分都离不开电源部分,单片机系统也不例外,而且我们应该高度重视电源部分,不能因为电源部分电路比较简单而有所疏忽,其实有一半的故障或制作失败都和电源有关,电源部分做好才能保证电路的正常工作。
3.3 单片机晶振电路
MCS-51单片机内部的振荡电路是一个增益反相放大器,引线XYAL1和XTAL2分别为反相放大器的输入和内部时钟电路输入和来自反相放大器的输出,该反相放大器可以配置为片内振荡器。单片机内部虽然有震荡电路,但要形成时钟,外部还需要附加电路石晶振荡和陶瓷振荡均可采用,有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,单必须保证脉冲的高低电平要求的宽度。晶振电路如图3.2、图3.3所示。
VCC C2 XTAL2 MCS-51 C1 XTAL1 外部振荡信号 GND XTAL2 XTAL1 VSS
图3.2内部晶振电路 图3.3外部晶振电路
单片机的时钟产生方式有两种,分别为:内部时钟方式和外部时钟方式。利用其内部的震荡电路XTAL1和XTAL2外接定时元件,内部震荡电路便产生自激震荡,用示波器可以观察到XTAL2的输出时钟信号。在MCS-52中通常用内部时钟方式,也就是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激震荡器。
晶体和电容决定了单片机的工作精度为1微秒,晶体可在1.2-12MHZ之间选择。MCS-51单片机在通常情况下,使用震荡频率为6MHZ的石英晶体,而12MHZ频率主要是在高速串行通信情况才使用,在这里我们用的是12MHZ的石英晶体。对电容无严格要求,但它在取值对震荡频率的输出的稳定性、大小及震荡电路起震荡速度有点影响。C1和C2可在10-100pF之间取值,一般情况下取30pF。外部
- 4 -
单片机原理及系统课程设计报告”
时钟方式是把外部震荡信号源直接接入XTAL1或XTAL2。由于XTAL2的逻辑电平不是TTL,所以还要接上拉电阻。
3.4 单片机复位电路
(1)该单片机系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。单片机要完成复位,必须向复位端输出并持续两个机器周期以上的高电平,从而实现复位操作。上电自动复位通过电容C1充电来实现和限流电阻R2。手动按键复位是通过按键将电阻R1与VCC接通来实现。R1作为上拉电阻,当复位键按下是产生一个触发脉冲,进行复位操作。
(2)在MCS-51中,复位电路的外部逻辑电路由通过二极管的单向导通性和施密特触发器组成(图3.4),最常见的几种方式的复位电路如图(图3.5、3.6、3.7),它能有效的实现上电复位和手动复位。RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期以上才能完成复位操作,若使用6MHz晶振,则需持续4μs以上才能完成复位操作。如图中在通电瞬间,由于RC的充电过程,在 RST端出现一定宽度的正脉冲,只要该正脉冲保持10ms以上,就能使单片机自动复位,在6MHz时钟时,通常CR取22μF,R1取200Ω,R2取1KΩ,这时能可靠的上电复位和手动复位。
C1 22uF MCS-51 RST RST/VPD 复位电路 VCC VCC 施密特触发器 R1 1K 内部RAMVSS
图3.4内部复位电路逻辑图 图3.5上拉复位电路
VCC C1 22uF C1 22uF
MCS-51 RST VCC MCS-51 RST R2 200 R1 1K R2 200 C2 R1 22uF 1K
图3.6 按键电平复位电路 图3.7 按键脉冲复位电路
- 5 -
单片机原理及系统课程设计报告”
附录
附录1:
ORG 0000H
AJMP MAIN ;主程序入口地址 ORG 0003H
AJMP ZHONGDUAN0 ;中断0入口地址 ORG 000BH
AJMP YANSHI ;定时器T0入口地址 ORG 0013H
AJMP ZHONGDUAN1 ;中断1入口地址 ORG 001BH
AJMP DINGSHI ;中断1入口地址 ORG 0030H ;主程序入口地址 主程序
MAIN:MOV TCON,#05H ;主程序开始,外部中断跳变模式 MOV TMOD,#11H ;定时器0、1工作模式1下 MOV IE,#8FH ;中断允许
MOV DPTR,#TAB ;指向数据表首地址 MOV 12H,#00H ;初始化设置 MOV 11H,#00H MOV R1,#00H MOV R2,#00H
MOV R3,#40 ;循环40次 MOV TL0,#58H ;定时25ms MOV TH0,#9EH
MOV TL1,#0F0H ;定时10ms MOV TH1,#0D8H
CLR TR0 ;关断定时器 CLR TR1 暂停和快加程序
HERE:JB P1.0,HERE ;位扫描,为0顺序执行 SHOW:CLR TR1 CLR TR0
ACALL XIANSHI
KUAIJIA:JB P1.2,KUAIJIA ;等待快加信号,为0时快加 CLR TR0 SETB TR1 HERE1:JNB P1.2,HERE1 AJMP HERE
外部中断0子程序,计时按键K1子程序
ZHONGDUAN0:SETB TR0 ;正常计时 1s延时 RETI
外部中断1子程序,复位键K2子程序
ZHONGDUAN1:CLR TR0 ;复位 CLR TR1
- 11 -
单片机原理及系统课程设计报告”
MOV 12H,#00H MOV 11H,#00H
ACALL XIANSHI ;调用显示子程序 MOV R1,#00H MOV R2,#00h RETI 加一子程序
JIA1: INC R1 ;加一子程序
CJNE R1,#0AH,LOOP ;判断低位是否有溢出 MOV R1,#00H INC R2
CJNE R2,#0AH,LOOP MOV R2,#00H
LOOP:MOV 12H, R1 MOV 11H,R2 RET 显示子程序
XIANSHI:MOV R7,#02H MOV R0,#12H
LOOP1:MOV R6,#08H MOV A,@R0
MOVC A,@A+DPTR
LOOP2:RLC A CLR P3.1 MOV P3.0,C SETB P3.1
DJNZ R6,LOOP2 DEC R0
DJNZ R7,LOOP1 RET
定时器T0子程序
YANSHI:MOV TL0,#58H MOV TH0,#9EH
DJNZ R3,LOOP7 ACALL JIA1 ACALL XIANSHI MOV R3,#40 LOOP7: RETI 定时器T1子程序
DINGSHI:MOV TL1,#0F0H MOV TH1,#0D8H CLR TR0
SETB TR1 MOV 12H,R1 MOV 11H,R2
JNB P1.0,SHOW ACALL JIA1 ;重新加载计数值 ;2个数码管显示子程序 ;8位2进制数 ;循环左移,带进位 ;判断数据是否扫描完成 ;判断2位是否扫描完成 ;定时器T0赋初值 ;实现1s延时 ;调用加一子程序 ;调用显示子程序 ;循环次数重加载 ;定时器T1子程序 ;实现10ms延时 ;实现快加功能 ;子程序调用
- 12 -
单片机原理及系统课程设计报告”
ACALL XIANSHI RETI
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共阴接法数码管 END 地址表
- 13 -
单片机原理及系统课程设计报告”
附录2:
- 14 -
单片机原理及系统课程设计报告”
- 15 -
正在阅读:
数字秒表系统的设计01-20
南京大学口腔医学专业考研考试科目、参考书目—新祥旭考研10-01
进口代付业务管理办法05-27
员工浴室管理规定03-29
小学生关于春天的作文03-31
非木材植物纤维改性研究进展05-15
浅析集团公司资金管理的问题和建议05-21
超市晋升主管述职报告04-13
检验科质量与安全管理计划04-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 秒表
- 数字
- 设计
- 系统
- 城市轨道交通词汇
- 企业突发环境事件风险分级方法(HJ941 - 2018年) - 图文
- 弹性力学复习题
- 数据结构(C语言)经典试题库附含答案解析
- 导游词(1)
- 《住户收支与生活状况调查编码手册》
- 园林植物学参观实习 - 图文
- 计量经济学 - (第二版)庞皓 - - 第三章练习题答案
- 赵国军+教学论文+《黑板变白板,风景是那般》
- 东北大学 自动控制原理 王建辉 清华大学复习题
- 国际贸易练习题四新
- 贵州大学 法学院 法硕(法法)刘谦 2015020496(1)
- 2011建筑工程项目管理实务(部分案例讲义0612)
- 植物学 总结 - 图文
- 课时跟踪检测(四) 地球的运动 - 自转
- 一年级语文上册3 b p m f-优质教案
- 广西梧州市初中化学毕业升学考试抽样调研测试卷试题(一)
- 中国春茶铁观音市场发展研究及投资前景报告(目录) - 图文
- 2015年河南公务员行测答题技巧:定义判断习题精解
- 山东省塔式起重机司机考试安全生产知识题库