光电信息综合设计报告多功能秒表设计院(系)名称信息工程学院专业名称光电信息科学与工程姓名学号0指导教师2018年5 月20日摘要近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。
本文阐述了基于单片机的多功能电子秒表设计。
本设计主要特点就是具有倒计时功能,还可以按圈计时,而且误差在0、01s,就是各种体育竞赛的必备设备之一,另外硬件部分设置了查瞧按键,还具备有定时提醒功能,让您时时刻刻都掌握时间。
本设计的数字电子秒表系统采用STC89C52单片机为中心器件,利用其定时器/计数器定时与记数的原理,结合显示电路、数码管以及外部中断电路来设计计时器。
将软、硬件有机地结合起来,使得系统能够实现4位LED显示,显示时间99s内,能正确地进行计时,同时能记录10组时间,并在暂停就是对时间进行查询。
其中软件系统采用C语言编写程序,包括显示程序,定时中断服务延时程序等,并在KEIL中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
关键字:单片机;数字电子秒表;提醒目录1 总体设计方案 (1)2 硬件设计 (3)2、1 单片机的选择 (3)2、2 显示电路的选择与设计 (5)2、3 按键电路的选择与设计 (6)2、4 时钟电路的选择与设计 (6)2、5 系统总电路的设计 (7)3 软件设计 (9)3、1 程序设计思想 (9)3、2 主程序设计 (9)3、3 中断程序设计 (10)3、4程序模块设计: (11)主程序................................................................................... 错误!未定义书签。
(2)停止子程序...................................................................... 错误!未定义书签。
(3)复位子程序...................................................................... 错误!未定义书签。
(4)按键消抖程序.................................................................. 错误!未定义书签。
4 多功能秒表的安装与调试 (11)4、1 软件的仿真与调试 (15)4、2 硬件的安装与调试 (15)4、3 实物调试 (16)结论 (18)1 总体设计方案多功能秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。
设计中包括硬件电路的设计与系统程序的设计。
其硬件电路主要有主控制器,时钟功能,倒计时,计时与显示电路与回零、启动与停表电路等。
主控制器采用单片机STC89C52,显示电路采用共阳极LED数码管显示计时时间。
本设计利用STC89C52单片机的定时器/计数器定时与记数的原理,使其能精确计时。
利用中断系统使其能实现开始暂停的功能。
P0口输出段码数据,P2口作位扫描输出,P1^0,P1^1,P1^2,P1^3,P1^4口接5个按钮开关,分别实现开始、记录、清除,方向与调整。
电路原理图设计最基本的要求就是正确性,其次就是布局合理,最后在正确性与布局合理的前提下力求美观。
硬件电路图按照图1-1进行设计。
图1-1 智能秒表显示硬件电路基本原理图根据要求知道秒表设计主要实现的功能就是倒计时、计时与时钟显示。
因此设置了五个按键与四位数码管显示时间,五个按键中,按键1就是开始按钮:可控制系统的开关;按键2为记录按键:在秒表模式运行时,可保存数据,在其她状态时还有复用功能;按键3为清除键:在系统计时时可以复位时间,在查瞧数据、调整时间时,还有其她功能;按键4为方向键,调节时间计时时的正反向;按键5为调整按键:调整与设置时间。
利用这五个建来实现秒表的全部功能,而四个位数码管则能显示最多99秒内的计时。
计时采用定时器T0中断完成,定时溢出中断周期为10ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到2次就对十毫秒位进行加一,就就是进位0、01,然后按时钟的取值范围进行进位。
再瞧按键的处理。
这六个键可以采用中断的方法,也可以采用扫描的方法来识别。
设计中包括硬件电路的设计与系统程序的设计。
其硬件电路主要有主控制器,显示电路与回零、启动、查瞧、停表电路等。
主控制器采用单片机STC89C52,显示电路采用共阳极LED数码管显示计时时间,五个按键均采用触点式按键。
2 硬件设计2、1 单片机的选择本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自己的实际情况,选择了STC公司的STC89C52。
STC公司的89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作,低廉的价格、超强的加密功能,完全替代87C51/62与8751/52,低电压、低电源、低功耗,有DIP、PLCC、QFP封装,有民用型、工业级、汽车级、军品级等多种温度等级,就是当今世界上性能最好、价格最低、最受欢迎的八位单片机。
STC89C52R为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
单片机的外部结构STC89C52单片机采用40引脚的双列直插封装方式。
图2-1为引脚排列图, 40条引脚说明如下:主电源引脚Vss与Vcc① Vss接地② Vcc正常操作时为+5伏电源外接晶振引脚XTAL1与XTAL2① XTAL1内部振荡电路反相放大器的输入端,就是外接晶体的一个引脚。
当采用外部振荡器时,此引脚接地。
② XTAL2内部振荡电路反相放大器的输出端。
就是外接晶体的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
图2-1 单片机引脚图控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN与EA/Vpp① RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD 向内部提供备用电源,以保持内部RAM中的数据。
② ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路。
对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(PROG功能)③PSEN外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,PSEN在每个机器周期内两次有效。
PSEN同样可以驱动八LSTTL 输入。
④EA/Vpp、EA/Vpp为内部程序存储器与外部程序存储器选择端。
当EA/Vpp为高电平时,访问内部程序存储器,当EA/Vpp为低电平时,则访问外部程序存储器。
对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM 编程电源(Vpp)。
输入/输出引脚P0、0 - P0、7,P1、0 - P1、7,P2、0 - P2、7,P3、0 - P3、7。
① P0口(P0、0 - P0、7)就是一个8位漏极开路型双向I/O口,在访问外部存储器时,它就是分时传送的低字节地址与数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。
② P1口(P1、0 - P1、7)就是一个带有内部提升电阻的8位准双向I/O口。
能驱动(吸收或输出电流)四个LSTTL负载。
③ P2口(P2、0 - P2、7)就是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。
P2口可以驱动(吸收或输出电流)四个LSTTL负载。
④ P3口(P3、0 - P3、7)就是一个带有内部提升电阻的8位准双向I/O口。
能驱动(吸收或输出电流)四个LSTTL负载。
STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O口线,瞧门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
CPU就是单片机的核心部件。
它由运算器与控制器等部件组成。
本设计采用STC的STC89C52微处理器,主要基于以下几个因素:① STC89C52为51内核,仿真调试的软硬件资源丰富。
②性价比高,货源充足。
③功耗低,功能强,灵活性高。
④ DIP40封装,体积小,便于产品小型化。
⑤为EEPROM程序存储介质,1000次以上擦写周期,便于编程调试。
工作电压范围宽:2、7V-6V,便于交直流供电。
2、2 显示电路的选择与设计对于数字显示电路,通常采用液晶显示或数码管显示。
对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观瞧;对于具有驱动电路与单片机接口的液晶显示模块(字符或点阵),一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外,STC89C52单片机本身无专门的液晶驱动接口。
而数码管作为一种主动显示器件,具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或就是远距离操作。
因此,本设计的显示电路采用7段数码管作为显示介质。
数码管显示可以分为静态显示与动态显示两种。
由于本设计需要采用四位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。
所以采用动态显示。
图2-2 显示电路基本原理图动态显示就是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。
通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阳极位选线由另外的I/O口线控制。
动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符就是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。