基于单片机的数字电子秒表的设计与实现(1)

更新时间:2024-03-30 16:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

沈阳理工大学应用技术学院

毕业设计(论文)

题 目: 基于单片机的数字电子秒表的设计与实现

系 别: 信息工程系 专 业: 自动化 学生姓名: 胡 培 指导教师: 唐朝仁

年 月 日

摘 要

近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于

单片机的数字电子秒表设计。本设计主要特点是计时精度达到0.001s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。另外硬件部分设置了查看按键,可以对秒表上一次计时时间进行保存,供使用者查询。

本设计的数字电子秒表系统采用AT89C52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现五位LED显示,显示时间为0~99.999秒,计时精度为0.001秒,能正确地进行计时,同时能记录一次时间,并在下一次计时后对上一次计时时间进行查询。其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。

关键字:单片机;数字电子秒表;仿真

I

Abstract

With the rapid development of science and technology in recent years, SCM applications are constant-depth manner. In this paper, based on single chip design of digital electronic stopwatch. The main characteristics of this design timing accuracy of 0.001s, to solve the traditional result of a lack accuracy due to timing errors and unfair, and is a variety of sports competitions, one of the essential equipment. In addition the hardware part of the set View button on the stopwatch can be the last time to save time for user queries.

The design of the multi-function stopwatch system uses STC89C52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. The software and hardware together organically, allowing the system to achieve two LED display shows the time from 0 to 99.999 seconds, Timing accuracy of 0.001 seconds, Be able to correctly time at the same time to record a time, and the next time after the last time the time to search.automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and WAVE in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition.

Keyword:LED display;High-precision stopwatch;STC89C52

II

目 录

绪 论 ............................................................................................................................. 1 1 硬件设计 ...................................................................................................................... 4

1.1 总体方案的设计 ............................................................................................... 4 1.2 单片机的选择 ................................................................................................... 5 1.3 显示电路的选择与设计 ................................................................................... 8 1.4 按键电路的选择与设计 ................................................................................. 11 1.5 时钟电路的选择与设计 ................................................................................. 12 1.6 复位电路的选择与设计 ................................................................................. 14 1.7 系统总电路的设计 ......................................................................................... 16 2 软件设计 .................................................................................................................... 19

2.1 程序设计思想 ................................................................................................. 19 2.2 系统资源的分配 ............................................................................................. 19 2.3 主程序设计 ..................................................................................................... 20 2.4 中断程序设计 ................................................................................................. 21 3 数字电子秒表的安装与调试 .................................................................................... 26

3.1 软件的仿真与调试 ......................................................................................... 26 3.2 硬件的安装与调试 ......................................................................................... 26 3.3 系统程序的烧录 ............................................................................................. 27 3.4 数字电子秒表的精度调试 ............................................................................. 28 结 论 .............................................................................................................................. 29 致 谢 .............................................................................................................................. 30 参考文献 .......................................................................................................................... 31 附录A 资料翻译 .......................................................................................................... 32

A.1 英文原文 ........................................................................................................ 32 A.2 中文翻译 ........................................................................................................ 39 附录B 程序 .................................................................................................................. 44 附录C 电路原理图 ...................................................................................................... 51 附录D 硬件实物图 ...................................................................................................... 52

沈阳理工大学应用技术学院学士学位论文

绪 论

秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。

奥运男子百米飞人大战中,牙买加飞人博尔特以9秒69的成绩夺得冠军。而博尔特冲过终点的瞬间,荧屏显示其成绩为9秒68。相差的这个0.01秒,系由电子计时系统确认。

奥运会男子100米蝶泳决赛上,美国选手菲尔普斯以50秒58的成绩惊险夺冠,距离“八金梦想”仅一步之遥。塞尔维亚选手查维奇以50.59秒获得银牌,只比菲尔普斯慢0.01秒。这种细微的差距,即使是现场大屏幕用经典超慢镜头回放,也无法分辨。

2004年8月28日15点15分,中国选手孟关良/杨文军在雅典奥运会男子500米划艇决赛中,以1分40秒278的成绩获得中国在雅典奥运会的第28金。这是中国皮划艇项目的第一枚奥运金牌,也是中国水上项目在历届奥运会上所获得的第一枚金牌。孟关良/杨文军的成绩比获得银牌的古巴选手只快了 0.072秒,以至于两人在夺冠之后还不敢相信。

自首届现代奥运会在希腊雅典举办以来,奥运计时技术一直在不断地向前发展。一百多年过去了,首届现代奥运会上计时所用的跑表如今换成了一系列高科技计时装 置,如高速数码摄像机、电子触摸垫、红外光束、无线应答器等等。鉴于当今计时技术的快速发展,即便千分之一秒(为眨眼的40倍)的毫微差距,也决定着冠军的归属。

在现在的体育竞技比赛中,随着运动员的水平不断提高,差距也在不断缩小。有些运动对时间精度的要求也越来越高,有时比赛冠亚军之间的差距只有几毫秒,因此就需要高精度的秒表来记录成绩。

有关计时钟表的发展历史,大致可以分为三个演变阶段。

一、从大型钟向小型钟演变。二、从小型钟向袋表过渡。三、从袋表向腕表发展。 每一阶段的发展都是和当时的技术发明分不开的。

1088年,当时我国宋朝的科学家苏颂和韩工廉等人制造了水运仪象台,它是把浑仪、浑象和机械计时器组合起来的装置。它以水力作为动力来源,具有科学的擒纵机构,虽然几十年后毁于战乱,但它在世界钟表史上具有极其重要的意义。

1656年,荷兰的科学家惠更斯应用伽利略的理论设计了钟摆,第二年,在他的指导下年轻钟匠S.Coster制造成功了第一个摆钟。1675年,他又用游丝取代了原始的钟摆,

1

沈阳理工大学应用技术学院学士学位论文

这样就形成了以发条为动力、以游丝为调速机构的小型钟,同时也为制造便于携带的袋表提供了条件。

18世纪期间发明了各种各样的擒纵机构,为袋表的进一步产生与发展奠定了基础。英国人George Graham在1726年完善了工字轮擒纵机构,它和之前发明的垂直放置的机轴擒纵机构不同,所以使得袋表机芯相对变薄。

20世纪初,尤其是第一次世界大战的爆发,袋表已经不能适应作战军人的需要,腕表的生产成为大势所趋。许多新的设计和技术也被应用在腕表上,成为真正意义上的带在手腕上的计时工具。紧接着的二战使腕表的生产量大幅度增加,价格也随之下降,使普通大众也可以拥有它。腕表的年代到来了!

1998年:建立超冷铯原子钟,比微微秒又要精确10万倍。

从我国水运仪像台的发明到现在各国都在研制的原子钟这几百年的钟表演变过程中,我们可以看到,各个不同时期的科学家和钟表工匠用他们的聪明的智慧和不断的实践融合成了一座时间的隧道,同时也为我们勾勒了一条钟表文化和科技发展的轨迹。

本设计利用AT89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。P0口输出段码数据,P2.0-P2.4口作列扫描输出,P1.1、P3.2、P3.3、P2.5分别接四个按钮开关,分别实现开始、暂停、清零和查看上次时间的功能。显示电路由五位共阴极数码管组成。

初始状态下计时器显示00.000,当按下开始键时,外部中断INT1向CPU发出中断请求,CPU转去执行外部中断1服务程序,即开启定时器T0。计时采用定时器T0中断完成,定时溢出中断周期为1ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到99.999秒重新复位。在计时过程中,只要按下暂停键,外部中断INT0向CPU发出中断请求,CPU转去执行外部中断0服务程序,即关闭定时器T0,调用显示程序,实现暂停功能,同时将此次计时时间存入寄存区。然后对P1.1进行扫描。当P1.1按下时就跳转回主程序。等待下一次计时开始。

在按下暂停键时,将此时的计时时间存入中间缓存区,当再次按下开始键时,则讲中间缓存区的数据转入最终缓存区。秒表停止后对查看键P2.5进行扫描,P2.5按下为低电平时,调用最终缓存区的数据进行显示,即显示上一次计时成绩。当P2.5位高电平时,调用显示缓存区的数据进行显示,即显示当此计时的成绩。根据以上设计思路从而实现数字电子秒表的计时和查看上一次计时时间的功能。

2

沈阳理工大学应用技术学院学士学位论文

本文主要内容包括三部分:第一部分介绍硬件部分设计思路及方案;第二部分介绍了软件部分的设计思路和设计;最后一部分则是整个系统的安装与调试过程。

3

沈阳理工大学应用技术学院学士学位论文

1 硬件设计

1.1 总体方案的设计

数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。

设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。主控制器采用单片机AT89C52,显示电路采用共阴极LED数码管显示计时时间。

本设计利用AT89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。P0口输出段码数据,P2.0-P2.4口作列扫描输出,P1.1、P3.2、P3.3、P2.5口接四个按钮开关,分别实现开始、暂停、清零和查看上次计时时间功能。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。

五位数码管AT89C52单片机控制器控制开关图1.1 数字秒表硬件电路基本原理图

位驱动

根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了四个按键和五位数码管显示时间,三个按键分别是开始,停止、复位和查看上次计时时间按键。利用这四个建来实现秒表的全部功能,而五位数码管则能显示最多99.999秒的计时。

本设计中,数码管显示的数据存放在内存单元79H-7DH中。其中79H存放毫秒位数据,7AH存放十毫秒位数据,7BH存放百毫秒位数据,7CH存放秒位数据,7DH存放十秒位数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出79H-7dH某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将

4

沈阳理工大学应用技术学院学士学位论文

对应的数码管选中供电,就能显示该地址单元的数据值。

最终缓存区则设置为59H-5DH,数据存放规则和79H-7DH一样。分别对应存放毫秒位至十秒位数据。与79H-7DH存储区不一样的是:59H-5DH存储的内容为数字秒表上一次计时显示的时间。而79H-7DH为当前计时时间存储区。

计时采用定时器T0中断完成,定时溢出中断周期为1ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到99.999秒重新复位。

再看按键的处理。这四个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键和查看主要功能在于数值复位和查询上次计时时间,对于时间的要求不是很严格。而开始和停止键则是用于对时间的锁定,需要比较准确的控制。因此可以对复位和查看按键采取扫描的方式。而对开始和停止键采用外部中断的方式。

设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,显示电路和回零、启动、查看、停表电路等。主控制器采用单片机AT89C52,显示电路采用共阴极LED数码管显示计时时间,四个按键均采用触点式按键。

1.2 单片机的选择

本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自己的实际情况,选择了ATMEL公司的AT89S51。

ATMEL公司的89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作,低廉的价格、超强的加密功能,完全替代87C51/62和8751/52,低电压、低电源、低功耗,有DIP、PLCC、QFP封装,有民用型、工业级、汽车级、军品级等多种温度等级,是当今世界上性能最好、价格最低、最受欢迎的八位单片机[3]。

AT89C52P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

单片机的外部结构

AT89S52单片机采用40引脚的双列直插封装方式。图1.2为引脚排列图, 40条引脚说明如下:

主电源引脚Vss和Vcc

5

沈阳理工大学应用技术学院学士学位论文

① Vss接地

② Vcc正常操作时为+5伏电源 外接晶振引脚XTAL1和XTAL2

① XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。

② XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。

图1.2 单片机引脚图

控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp

① RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。

② ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据

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负载[6]。

AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。CPU是单片机的核心部件。它由运算器和控制器等部件组成[2]。

(1) 运算器

运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。

89C52运算器还包含有一个布尔处理器,用来处理位操作。它是以进位标志位C为

7

沈阳理工大学应用技术学院学士学位论文

累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他可寻址的位之间进行数据传送等位操作,也能使进位标志位与其他可移位寻址的位之间进行逻辑与、或操作[5]。

(2) 程序计数器PC

程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。

(3) 令寄存器

指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。

本设计采用ATMEL的AT89C52微处理器,主要基于以下几个因素: ① AT89C52为51内核,仿真调试的软硬件资源丰富。 ② 性价比高,货源充足。 ③ 功耗低,功能强,灵活性高。

④ DIP40封装,体积小,便于产品小型化。

⑤ 为EEPROM程序存储介质,1000次以上擦写周期,便于编程调试。 ⑥ 工作电压范围宽:2.7V-6V,便于交直流供电。

1.3 显示电路的选择与设计

对于数字显示电路,通常采用液晶显示或数码管显示。对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观看;对于具有驱动电路和单片机接口的液晶显示模块(字符或点阵),一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外,AT89S52单片机本身无专门的液晶驱动接口。而数码管作为一种主动显示器件,具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或是远距离操作。因此,本设计的显示电路采用7段数码管作为显示介质。

数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用五位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。

8

沈阳理工大学应用技术学院学士学位论文

段驱五位数码管AT89C52动位驱动图1.3 显示电路基本原理图

动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。

数码显示管分为共阳数码管和共阴数码管两种

共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,如图1.4(b),通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起,如图(c),通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

9

沈阳理工大学应用技术学院学士学位论文

图1.4 (a)数码管引脚图 (b)共阳极内部结构图 (c)共阴极内部结构图

本设计采用共阴极数码显示管做显示电路,由于采用的是共阴的数码显示管,所以只要数码管的a、b、c、d、e、f、g、h引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码见表1.1。

表1.1 共阴极数码显示管字型代码

字型 0 1 2 3 4

共阴极代码

3FH 06H 5BH 4FH 66H

字型 5 6 7 8 9

共阴极代码

6DH 7DH 07H 7FH 6FH

动态显示电路由显示块、字形码驱动模块、字位驱动模块三部分组成。如图1.3所示为本系统的5位LED动态显示器接口电路。图中,5个数码管的8段段选线分别与外接上拉电阻的单片机P0口对应相连,而5个数码管的位控制端则和NPN型三极管的集电极相连接。单片机的P2.0~P2.4口则分别对应数码显示管的最低位到最高位,P2.0~P2.4口分别和五个NPN型三极管的基极相连,做三极管导通的控制端,而NPN型三极管选用9013型三极管。根据9013的资料显示:其耐压值为40V,最大功率为0.65W,最大电流为0.5A,电气性能完全满足本设计的要求。另外数码管显示是采用动态显示,所以对三极管的开关频率有一定的要求。根据电子秒表的设计计算可知动态显示的频率最高为3KHz,而9013的导通频率为150MHz,完全能满足本设计的要求,所以最终选取9013三极管最为位控制开关。

10

沈阳理工大学应用技术学院学士学位论文

由于数码管是有P0口来驱动,它内部没有上拉电阻,作为输出口时驱动能力比较弱,不能点亮数码显示管,因此P0口必须接上拉电阻来提高驱动能力。另外一位共阴数码管的驱动电流一般为20mA左右,如果电流太大容易造成数码管损坏,所以也需要根据电源的电压值来确定上拉电阻的大小。如果电阻过小,势必会形成灌电流过大,造成单片机IO的损坏,如果电阻过大,那么对拉电流没有太大的影响。电源供电电压为5V,当上拉电阻选用220Ω电阻时灌电流为22mA。不会损坏单片机的I/O口,同时也可以为数码显示管起到限制电流的保护作用。

1.4 按键电路的选择与设计

本设计中有四个按键,分别实现开始、暂停、复位和查看功能。这三个键可以采用中断的方法,也可以采用查询的方法来识别。对于复位键和查看键,主要功能在于数值复位和对上次计时时间的查看,对于时间的要求不是很严格,而开始和暂停键主要用于时间的锁定,需要比较准确的控制。因此可以考虑,对复位键和查看键采用查询的方式,而对于开始和暂停键采用外部中断。四个按键均采用低电平有效,具体电路连接图如图1.5所示。

当按键没有按下时,单片机的I/O口直接连接电源,因此需要接上拉电阻来进行限流,本设计中选取阻值为2kΩ 的电阻作为上拉电阻,根据计算可知此时的灌电流为2.5mA,查看AT89C52的资料得知次电流在安全范围内,符合安全设计要求。

VCC开始 P3.3(INT1)暂停复位 P1.1查看 P2.5 P3.2(INT0)

图1.5 按键电路

11

沈阳理工大学应用技术学院学士学位论文

按键电路中由于采用了外部中断,所以需要用到P3口的第二功能。P3口引脚的第二功能如表1.2

表1.2 P3口引脚第二功能表

P3口引脚

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

特殊功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断0请求输入端) INT1(外部中断1请求输入端) T0(定时器/计数器0计数脉冲输入端) T1(定时器/计数器1计数脉冲输入端) WR(片外数据存储器写选通信号输出端) RD(片内数据存储器读选通信号输出端)

1.5 时钟电路的选择与设计

单片机的时钟信号用来提供单片机内各种微操作的时间基准,89S52片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,89S52单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。

时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。本设计采用的内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。本设计系统的时钟电路如图1.4所示。只要按照图1.6所示电路进行设计连接就能使系统可靠起振并能稳定运行。图中,电容器C1 、C2起稳定振荡频率、快速起振的作用,电容值一般为5~33pF。但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称性,尽可能匹配,选用正牌的瓷片或云母电容,如果可能的话,温度系数尽可能低。本设计中采用大小为30pF的电容和12MHz的晶振[8]。

12

沈阳理工大学应用技术学院学士学位论文

图1.6 内部振荡电路

(4) 时序

AT89S52典型的指令周期(执行一条指令的时间称为指令周期)为一个机器周期,一个机器周期由六个状态(十二振荡周期)组成。每个状态又被分成两个时相P1和P2。所以,一个机器周期可以依次表示为S1P1,S1P2??,S6P1,S6P2。通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。

时钟ALE读操作码读操作码(无效)读下一指令(a) 1字节1周期指令S1S2S3S4S5S6读操作码读第二字节读下一指令(b) 2字节1周期指令S1S2S3S4S5S6读操作码读操作码(无效)读下一指令(c) 1字节2周期指令S1S2S3S4S5S6S1S2S3S4S5S6图1.7 89S52时序

图1.7给出了AT89S52单片机的取指和执行指令的定时关系。这些内部时钟信号不能从外部观察到,所用XTAL2振荡信号作参考。在图中可看到,低8位地址的锁存信号ALE在每个机器周期中两次有效:一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。

13

沈阳理工大学应用技术学院学士学位论文

对于单周期指令,当操作码被送入指令寄存器时,便从S1P2开始执行指令。如果是双字节单机器周期指令,则在同一机器周期的S4期间读入第二个字节,若是单字节单机器周期指令,则在S4期间仍进行读,但所读的这个字节操作码被忽略,程序计数器也不加1,在S6P2结束时完成指令操作。图1.7的(a)和(b)给出了单字节单机器周期和双字节单机器周期指令的时序。89S52指令大部分在一个机器周期完成。乘(MUL)和除(DIV)指令是仅有的需要两个以上机器周期的指令,占用4个机器周期。对于双字节单机器周期指令,通常是在一个机器周期内从程序存储器中读入两个字节,唯有MOVX指令例外。MOVX是访问外部数据存储器的单字节双机器周期指令。在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。图1.7中(c)给出了一般单字节双机器周期指令的时序[9]。

1.6 复位电路的选择与设计

关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。

当AT89C52单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态。而本系统选用的是12MHz的晶振,因此一个机器周期为1μs,那么复位脉冲宽度最小应为2μs。在实际应用系统中,考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,必须有足够的余量。

根据应用的要求,复位操作通常有两种基本形式:上电复位、手动复位。 上电复位要求接通电源后,自动实现复位操作。80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。在单片机每次初始加电时,首先投入工作的功能部件是复位电路。复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时。

14

沈阳理工大学应用技术学院学士学位论文

上述一系列的延时,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。典型复位电路如图1.8(a)所示,其中的阻容值是原始手册中提供的。在经历了一系列延时之后,单片机才开始按照时钟源的工作频率,进入到正常的程序运行状态。在电源电压以及振荡器输出信号稳定之后,又等待了一段较长的延时才释放RST信号,使得CPU脱离复位锁定状态;而RST信号一旦被释放,立刻在ALE引脚上就可检测到持续的脉冲信号[8]。

图1.8 上电复位延时电路

由于标准80C51的复位逻辑相对简单,复位源只有RST一个(相对新型单片机来说,复位源比较单一),因此各种原因所导致的复位活动以及复位状态的进入,都要依靠在外接引脚RST上施加一定时间宽度的高电平信号来实现。

标准80C51不仅复位源比较单一,而且还没有设计内部上电复位的延时功能,因此必须借助于外接阻容支路来增加延时环节,如图1.8(a)所示。其实,外接电阻R还是可以省略的,理由是一些CMOS单片机芯片内部存在一个现成的下拉电阻Rrst。例如,AT89系列的Rrst阻值约为50~200 kΩ;P89V51Rx2系列的Rrst阻值约为40~225 kΩ,如图1.9所示。因此,在图1.8(a)基础上,上电复位延时电路还可以精简为图1.8(b)所示的简化电路(其中电容C的容量也相应减小了)。

图1.9 复位引脚RST内部电路

在每次单片机断电之后,须使延时电容C上的电荷立刻放掉,以便为随后可能在很短的时间内再次加电作好准备。否则,在断电后C还没有充分放电的情况下,如果很快

15

沈阳理工大学应用技术学院学士学位论文

又加电,那么RC支路就失去了它应有的延迟功能。因此,在图1.8(a)的基础上添加一个放电二极管D,上电复位延时电路就变成了如图1.8(c)所示的改进电路。也就是说,只有RC支路的充电过程对电路是有用的,放电过程不仅无用,而且会带来潜在的危害。于是附加一个放电二极管D来大力缩短放电持续时间,以便消除隐患。二极管D只有在单片机断电的瞬间(即VCC趋近于0 V,可以看作VCC对地短路)正向导通,平时一直处于反偏截止状态。

手动复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。单片机要完成复位,必须向复位端输出并持续两个机器周期以上的

高电平,从而实现复位操作。

本设计采用上电且开关复位电路,如图1.10所示上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C=10~30μF,R=1K,本设计采用的电容值为22μF的电容和电阻为1K的电阻。

VCCC3R4200Ω22uFS4R51KΩ

图1.10 单片机复位电路

接RSET1.7 系统总电路的设计

系统总电路由以上设计的显示电路,时钟电路,按键电路和复位电路组成,只要将单片机与以上各部分电路合理的连接就组成了系统总电路。系统总电路图如图1.11所示。

AT89C52单片机为主电路的核心部分,各个电路均和单片机相连接,由单片机统筹和协调各个电路的运行工作。

AT89C52单片机提供了XTAL1和XTAL2两个专用引脚接晶振电路,因此只要将

16

晶振电路接到两个专用引脚即可为单片机提供时钟脉冲,但在焊接晶振电路时要尽量使

复位电路同晶振电路,单片机设有一个专用的硬件复位接口,并设置为高电平有效。

123455V5VDR7R8R9R10R11R12R13R14R12kΩ220Ω220Ω220Ω220Ω220Ω220Ω220Ω220Ω5VR22kΩR32kΩU1S16D晶振电路靠近单片机,这样可以为单片机提供稳定的始终脉冲。

沈阳理工大学应用技术学院学士学位论文

复位S2停止S3开始CC130pFY1XTALC230pFAT89C525V12345678DS5BLUECCabcdefgdpafegdGND9bcdpGND9GND9GND9GNDR62kΩS3接P2.5接RESET查看Q59013Q49013Q3NPNQ290139Q19013C35V22uFBR4200ΩR51kΩS4B5V5V5V5V5V硬件复位R191kΩR181kΩR171kΩR161kΩR151kΩATitleASizeBDate:File:12345NumberRevision28-Dec-2009Sheet of C:\\Users\\HP\\Desktop\\新建文件夹\\秒表电Drawn B路图.Bkpy:

6

17

12345678abcdefgdpafegdbcdp12345678abcdefgdpafegdbcdp12345678abcdefgdpafegdbcdp12345678abcdeCafgbfgdpedcdp图1.11 系统总电路图

1 2345678910111213 14151617181920 P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RESETP0.7P3.0VDDP3.1ALEP3.2PSENP3.3P2.7P3.4P2.6P3.5P2.5P3.6P2.4P3.7P2.3XTAL2P2.2XTAL1P2.1VSSP2.04039383736353433323130292827262524232221DS4BLUECCDS3BLUECCDS2BLUECCDS1BLUECC按键电路与单片机的端口连接可以由用户自己设定,本设计中软件复位键和查看键

沈阳理工大学应用技术学院学士学位论文

分别接单片机的P1.1和P2.5,均设为低电平有效。而另外的开始键和暂停键两键使用了外部中断,所以需要连接到单片机的特殊接口P3.3和P3.2,这两个I/O口的第二功能分别为单片机的外部中断1端口和外部中断0端口。同样设置为位低电平有效。

显示电路由五位数码管组成,采用动态显示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0~P0.7分别控制数码显示管的a、b、c、d、e、f、g、dp显示,AT89C52的P0口没有集成上拉电阻,高电平的驱动能力很弱,所以需要接上拉电阻来提高P0的高电平驱动能力。五位位控制则由低位到高位分别接到P2.0~P2.4口,NPN三极管9013做为位控制端的开关,当P2.0~P2.4端口任意一个端口为高电平时,与其相对应的三极管就导通,对应的数码管导通显示。

通过以上设计已经将各部分电路与单片机有机的结合到一起,硬件部分的设计以大功告成,剩下的部分就是对单片机的编程,使单片机按程序运行,实现数字电子秒表的全部功能。

18

沈阳理工大学应用技术学院学士学位论文

2 软件设计

2.1 程序设计思想

本设计采用了汇编语言编写,汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

汇编语言的特点:

(1).面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。 (2).保持了机器语言的优点,具有直接和简捷的特点。

(3).可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。 (4).目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 (5).经常与高级语言配合使用,应用十分广泛。

在程序设计过程中,为了有效地完成任务,把所要完成的任务精心的分割成若干个相互独立但相互又仍可有联系的任务模块,这些任务模块使得任务变得相对单纯,对外的数据交换相对简单,容易编写,容易检测,容易阅读和维护。这种程序设计思想称为模块化程序设计思想。模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。因此,本医院病床呼叫系统在软件的设计上,运用了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂。程序的主要模块有:主程序、显示程序、定时溢出中断服务程序、外部中断服务程序。

2.2 系统资源的分配

本设计系统所用到的单片机端口数比较多,所以在这里将对数字电子秒表的硬件资源的大概分配加以说明。片内RAM的分配、各功能键的定义以及各端口的分配安排如表2.1所示。

19

沈阳理工大学应用技术学院学士学位论文

表2.1 端口的分配安排表

名称 79H-7DH 69H-6DH 59H-5DH R1- R5 定时器T0 外部中断INT0 外部中断INT1

功能描述 1ms-10s位显示寄存区 1ms-10s位中间寄存区 1ms-10s位最终寄存区 1ms-10s位溢出计数区 控制秒表的最小精度 停止中断信号入口 开始中断信号入口

初始化值 00H 00H 00H E018H

2.3 主程序设计

本系统程序主要模块由主程序、定时中断服务程序、外部中断0服务程序和外部中断1服务程序组成。其中主程序是整个程序的主体。可以对各个中断程序进行调用。协调各个子程序之间的联系。

系统(上电)复位后,进入主程序,主程序流程图如图2.1。首先对系统进行初始化,包括设置各入口地址、中断的开启、对各个数据缓存区清“0”、赋定时器初值,初始化完毕后,就进入数码管显示程序。数码管显示程序对显示缓存区内的数值进行调用并在数码管上进行动态显示。显示一次就对P1.1和P2.5进行一次扫描,查询复位键P1.1是否按下,当复位键按下后,程序返回开始,重新对系统进行初始化。当没有按下复位键时,程序则扫描P2.5是否按下,当P2.5没有按下则返回显示程,不断地调用显示缓存区的数据进行显示。使用户能清楚的看到当前电子秒表所记录的时间。当查询到P2.5按下后则跳转到另外一段显示程序并调用最红缓存区的数据进行显示,此时显示的时间即为上一次计时的时间。与此同时,在P2.5按下后单片机执行显示程序的同时也在对P2.5进行扫描,当P2.5断开后立即跳转回之前的显示程序显示当前的计时时间。

在主程序中还进行了赋寄存区的初始值、设置定时器初值以及开启外部中断等操作,当定时时间到后就转去执行定时中断程序。当外部中断有请求则去执行外部中断服务程序。并在执行完后返回主程序。

20

沈阳理工大学应用技术学院学士学位论文

开始赋初始值数码管显示是复位键P1.1是否按下否否查看键P2.5是否按下是是查看键P2.5是否抬起否调用最终缓存区数据进行显示

图2.1 主程序流程图

2.4 中断程序设计

现在方案中采用了三个中断,外部中断INT0,INT1和定时中断T0。CPU在响应中断时,先处理高级中断,在处理低级中断,若有多个同级中断时,则按自然优先顺序处理。例如当CPU正在处理一个中断申请时,有出现了另一个优先级比它高的中断请求,

21

沈阳理工大学应用技术学院学士学位论文

这是,CPU就暂停终止对当前优先级较低的中断源的服务,转去响应优先级比它高的中断请求,并为其服务。待服务结束,再继续执行原来较低级的中断服务程序。而当CPU为级别高的终端服务程序服务时,如果级别低的中断发出中断请求,此时CPU是不会响应的,所以为了避免开始和暂停两个按键中的一个出现没有响应的情况,在进行程序编辑时要注意对中断的使用,避免出现中断的嵌套。,合理分配中断对本设计的实现是至关重要的。

另外由于数字式电子秒表的最小精度位1ms,属于高精度电子秒表。定时器T0的定时周期也为1ms,为了使电子秒表暂停键按下后CPU能马上去响应中断程序,必须将暂停的外部中断级别高于定时计数器的中断级别。避免出现CPU执行完定时溢出中断程序后再响应外部中断程序,影响计时精度。

AT89C52的自然优先级顺序排列如下:

中断源 最高 外部中断0

定时/计数器0溢出中断 外部中断1

定时/计数器1溢出中断

串行口中断 最低

数字式秒表中的两个按键采用了中断实现功能。开始采用外部中断INT0,暂停采用外部中断INT1。另外程序中还用到了定时/计数器0溢出中断进行计时。依据设计要求,暂停的外部中断INT1中断级别最高,计时的定时/计数器0溢出中断次之,开始的外部中断INT0级别最低。

(1)外部中断0服务程序:

外部中断0服务程序结合外部P3.2停止键实现数字电子秒表的停止功能,具体流程图如图2.2。

当按下P3.2停止键按下向CPU发出外部中断请求,CPU转向外部中断0服务程序执行,停止定时器。另外将当前显示的时间进行一次存储,存进中间寄存区。最后中断返回。

22

沈阳理工大学应用技术学院学士学位论文

外部中断0入口停止定时器T0一次存储中断返回

图2.2 外部中断0服务程序流程图

(2)外部中断1服务程序

外部中断1服务程序结合外部P3.3停止键实现数字电子秒表的启动功能,具体流程图如图2.2。

当按下P3.3启动键按下向CPU发出外部中断请求,CPU转向外部中断1服务程序执行,启动定时器。另外进行二次存储,将之前进行一次存储的数码管显示数据存入最终缓存区,避免下次计时暂停时一次存储将数据掩盖,从而起到保护数据的作用。二次存储后就中断返回。

外部中断1入口启动定时器T0二次存储中断返回 图2.3 外部中断1服务程序流程图

23

沈阳理工大学应用技术学院学士学位论文

(3)定时中断服务程序

当定时/计数器T0器溢出后,向CPU发出中断请求信号。CPU跳转到定时中断程序执行,具体流程如图2.4。定时中断程序是一个进位程序,主要负责对1ms的加一。1ms位没有满十就跳出中断程序,返回显示程序。当1ms位满十后就对1ms位清零,向10ms位加一,同时检测10ms位是否满十,没有满十就跳出中断程序,返回显示程序。如果满十就向100ms位加一,依次类推,最终达到99.999秒后归零,从零开始再次计时。

定时/计数器T0工作在方式0下,TH0和TL0组成一个13位的二进制数计数器。单片机开机或复位时,它的值为00H,当T0启动后,从第一个输入脉冲开始计时,每来一个脉冲计数加一,即从0000000000000开始计数到1111111111111,再计数一个脉冲时TH0和TL0组成的13位计数器将会从13个1变成13个0,并产生溢出,溢出位将被送到TF0标志位,通过溢出标志产生溢出中断请求。显然,T0定时器在方式0下引起一次中断所允许计数的最多脉冲个数为213 个。

但如果定时计数器如果每次都固定从0开始计数,到计满后,再向CPU发出溢出中断请求信号那是毫无意义的。为了使定时计数器在规定的计数脉冲个数字之后(此时应小于213 个脉冲),向CPU发出溢出中断请求,可采取预先向TH0和TL0中放入一个初值X的方法,使计数器以X值为起始值开始计数,即X+1,X+2,??直至计数器计满,从1全变为0。设需要计数的脉冲个数为Y,则有:

X+Y=213

在定时方式下:定时时间间隔位t=(213—X)*振荡周期*12

现在本设计要求1ms实现一次中断,选择定时器T0工作在方式0。所以需要根据以上条件计算出T0的初值。

设T0的初值为X,则

(213—X)*12/12*106 =1*10-3 转换位十六进制数X=7192=1110000011000B 即TH0=0E0H(取X的高8位) TL0=18H(取X的低5位)

由于定时1ms只是一个理想化的时间,其中并没有考虑到中断后单片机执行语句所花的时间。虽然执行语句所花的时间很短只有即微秒,但积少成多,数字秒表一秒中要溢出中断1000次,积累起来误差就能达到毫秒级,这对于精度到达毫秒级的数字电子

24

沈阳理工大学应用技术学院学士学位论文

秒表来说是很大的误差。所以要在后期编程时还要将单片机读程序的时间考虑进去,

在对定时器赋初值时将单片机需要执行的语句所花的时间加上,这样就能使数字电子秒表的误差达到最小。

定时中断服务程序入口1ms位加一判断1ms位是否满10是1ms位清零,10ms位加一判断10ms位是否满10是10ms位清零,100ms位加一否判断100ms位是否满10是100ms位清零,1s位加一否判断1s位是否满10是1s位清零,10s位加一否判断10s位是否满10是10s位清零否中断返回

图2.4 定时中断服务程序

25

沈阳理工大学应用技术学院学士学位论文

3 数字电子秒表的安装与调试

3.1 软件的仿真与调试

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件,它可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的主要特点总结后有以下四点:①实现了单片机仿真和SPICE电路仿真相结合的功能。②支持目前主流单片机系统的仿真。③提供了软件调试功能,并可以与WAVE联合仿真调试。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。在电子领域中也起到了很大的作用,它的出现仿真不需要先焊接电路,可以先仿真调试通过后在焊电路,节省了不少在硬件调试上所花的时间。

Proteus ISIS的工作界面是一种标准的Windows界面,如图1.19所示。它包括标题栏、主菜单、状态栏、标准工具栏、绘图工具栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口等十几个工具,方便了使用者的使用。

Proteus SISI绘制原理图的操作与Protel 99se绘制原理图的操作基本相同,在这里就不再作赘述。下面拿本设计中的一个仿真例子作简述说明。运行Proteus SISI后,绘制病床呼叫系统的原理图。

首先打开已经画好的proteus DSN文件,双击图中的AT89S52芯片,就弹出一个窗口,在Program File项中通过路径选择在WAVE中生成的HEX文件,双击选中后确定,这样仿真图中的AT89S52芯片就已经读取了本设计中的HEX文件。单击“三角形按钮”进行仿真。通过对仿真结果的观察来对程序进行修改,最终使程序到达设计要求。

3.2 硬件的安装与调试

按照之前设计好的数字电子秒表原理图,详细计算系统中各个元件的参数,选择相应器件,制作实际电路板。由于考虑到万能板大小的问题及元件之间连线的方便,在焊接元器件前必须考虑元件的布局然后进行实际操作。

制作好的电路板可以用万用表(200欧姆档)的红、黑表笔测试电路板的每条走线,当其电阻非常小时,证明走线没有断开,当其电阻很大时,证明该条走线断了,应该重新走线,使电路板在电气上得到正确地连接。选用万用表的20K欧姆档,检测电路中是否存在短路。因为系统采用的是共阴极数码管作为显示电路,必须确保数码管的公共端

26

沈阳理工大学应用技术学院学士学位论文

接的是低电平。 (1)晶振电路的测试

在单片机正常运行的必要条件是单片机系统的时钟稳定正常。实际中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况时有,因此系统时钟是否振是通电检查的首要环节。在系统通电的状况下,用万用表的直流电压档(20V),分别测量XTAL1和XTAL2引脚的电压,看是否正常,在调试过程中,测得电压XTAL1引脚应为2.05V,XTAT2应为2.15V。 (2)复位电路的测试

复位不正常也会导致系统不能工作。如果复位引脚始终为高电平,系统将始终处于复位状态;如果始终为低电平,不能产生复位所需的高电平信号脉冲,则系统也可能无法正常工作。单片机正常工作时,RST复位引脚应为0V,按下复位按键时,复位引脚为高电平5V左右。 (3)显示电路的测试

显示电路是数字电子秒表正常运行最直观的观察窗口,我们可以通过观察显示电路的显示结果观察系统能否正常运行。当显示电路按照电路图焊接好后,用万用表的测二极管档位,将黑表笔接共阴数码管的公共段,然后将红表笔接数码管的各段,当数码管的段能正常显示,说明各点焊接正常。

3.3 系统程序的烧录

在软件调试中,使用当今流行的功能强大且普遍的WAVE 6000软件\\进行软件编译与调试,使用Microcontroller ISP Software及其配套的单片机对程序进行烧录。软件调试的流程是这样的:先分别对主要的功能程序模块进行模拟仿真调试;然后再将各程序模块组织起来进行统调[9]。

图3.1 Debice selection 图3.2 Atmel microcontroller

27

沈阳理工大学应用技术学院学士学位论文

软件的烧录:第一步:安装并运行Microcontroller ISP Software软件;第二步:点击Options栏的select device选项;这时出现一个对话窗口,如图3.1所示,按图选择后,点击OK按键,如出现图3.2所示窗口,则说明电脑与开发板没连接好或单片机没插好等,需重装检查硬件连接,如果没有出现则说明初始化成功。

第三步:点击File栏的Load Buffer选项打开已经编译好的HEX文件。点击载入,出现如图3.4.a对话框点确定后,再点击图3.3中的“A”字图标,出现如图3.4.b对话框,完成后,按软件默认选项,点击“OK”-“OK”―“OK”烧录完成;否则重新检查硬件连接后再重新烧录。

图3.4.a Atmel 图3.4.b auto programming

3.4 数字电子秒表的精度调试

将数字电子秒表的程序编译后烧录进单片机,并将单片机插入系统并保证其能正常运行。在进行精度测试之前的编程过程中,我们知道了单片机在进行定时中断时需要执行语句,而执行这些语句是需要占用CPU时间的,从而影响单片机定时的精确性,最终会导致数字电子秒表的计时误差,为了减小这种计时误差,我们之前在编程时已经将单片机一秒钟内执行程序的时间计算在内,并将定时器的初值做出了适当调整。争取最大限度的减小数字电子秒表的计时误差。

在进行秒表精度调试时,我们让本设计的单片机秒表和电子表同时计时,为了能尽可能的观察出是否有误差,我们将计时时间定为10分钟,当计时时间到后观察两个计时秒表是否同时到达。如果不是同时到达就说明有一定的误差,需要在程序中对定时器进行微调。如果两表是同时到达则说明秒表的设计满足要求。

28

沈阳理工大学应用技术学院学士学位论文

结 论

本设计的数字电子秒表是由AT89S52单片机、共阴数码显示管、控制按键、三极管等器件构成的,设有五位计时显示,开始、暂停、复位、查看按键以及一个系统整机复位按钮。计时精度能到达1ms,能调看上一次计时时间,设计精简,使用简单易懂。系统设计合理,线路简单、功能先进,性能稳定,程序精简。并给出了详细的电路设计方法。本系统是以单片机为核心,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。所以采用汇编语言来进行软件设计,利用汇编语言面向机器并能较好的发挥机器的特性,得到较高的程序,同时汇编语言目标代码简短,占用内存少,执行速度快,能提高秒表的精度。

本系统主要由3章组成,第一章中,主要是硬件组成部分和其实现的功能,在本此实验中各部分都实现了其功能。在第二章中,主要介绍的是软件实现过程的框图。在第三章中,主要是对硬件和软件的调试,最终保证了系统的正常运行。

通过毕业设计,复习巩固我们以前所学习的数字、模拟电子技术、单片机原理及接口等课程知识,加深对各门课程及相互关系的理解,并成功使用了Wave、Protel 99se和Proteus ISIS三款电子软件,使理论知识系统化、实用化,系统地掌握微机应用系统的一般设计方法,培养较强的编程能力、开发能力。

同时,在毕业设计的过程中,我也发现了本系统的许多不足和可以改进的地方。但因时间紧迫等原因没能改进。本设计的数字电子秒表缺少对多次计时时间进行记录的功能。应给在单片机的内部存储区多设置一些存储空间,用来存储多次计时时间。并在程序中编入对多次计时时间的调用显示。虽然存在不足,但本设计开发的数字电子秒表仍具有它的实用性。

29

沈阳理工大学应用技术学院学士学位论文

致 谢

我这次毕业设计是在唐朝仁老师的精心指导下完成的,唐朝仁老师为我对本文的完成提供了良好的设施和环境,从论文的选定到实验研究,从资料收集到方案确定,唐朝仁老师都给了我大量的中肯的建议和意见,我的每步工作都凝聚了吕老师的辛勤汗水。同时,唐朝仁老师的严谨的治学态度和忘我的工作精神以及高尚的师德给我留下了深深的影响,这将激励我更好地完成今后的学习和工作。借此机会对唐朝仁老师的精心教育和指导表示忠心的感谢;也借此机会,感谢大学四年来辛勤教育指导我的各科任老师。我也很感谢论文答辩的各位评委老师,感谢他们在百忙之中抽出时间帮我们答辩。还要感谢班里的同学对我不懈的支持与帮助。

通过这次设计,我学到了很多知识,同时也认识到在团队工作中需要有合作精神,我想这会为今后自己踏上工作岗位、更好地融入新的团队打下良好的基础。

30

沈阳理工大学应用技术学院学士学位论文

参考文献

[1] 郑毛祥.单片机应用基础.人民邮电出版社,2006.6:21-42

[2] 李邓化,彭书华,许晓飞.智能检测技术及仪表.科学出版社,2007:194-201 [3] 戴佳. 单片机C51语言应用程序设计. 电子工业出版社, 2006.7:168-169 [4] 朱民雄.计算机语言技术. 北京航空航天大学出版社,2002.1:103-105 [5] 李鸿. 单片机原理及应用. 湖南大学出版社. 2004:8:72-73 [6] 刘建清. 单片机技术. 国防工业出版社, 2006.8: 104-105

[7] 杨宁,胡学军.单片机与控制技术.北京航空航天大学出版社,2005-03:306-322 [8] 马忠梅等.单片机C语言应用程序设计.北京航空航天大学出版社,1997:201-211 [9] Kai E, Sawata S, Lkebukuro K et al. Detection of PCR product in solution using surface

plasmon resonance .Analytical Chemistry, 1999.7.1 :796~800

[10] Verghese G C, Lang H, Casey L F. Analysis of instability in electrical machines .IEEE

Trans on IA, 1986, 22 :853-864 .

[11] Richard Blanchard, James Harden. Mosfets control more power in the same-sized

package .Electronic Design, 1982, 12 :107~114

31

沈阳理工大学应用技术学院学士学位论文

附录A 资料翻译

A.1 英文原文

Excerpt from: Acta Optical Sinica

Atomic clocks

Atomic clock, it was originally created out of this is used by physicists to explore the nature of the universe; they never thought that one day can escape from this technology applied to the global navigation system.

According to the basic principles of quantum physics, atoms are arranged in accordance with the order of different electronic energy difference, that is, a different electron shell around the nucleus around the energy difference, to absorb or release of electromagnetic energy. Here the electromagnetic energy is not continuous. When the atoms from an \state\transition to a low \state\it will release an electromagnetic wave. This characteristic frequency electromagnetic waves is not continuous, which is what people said resonance frequency. The same atomic resonance frequency is a certain degree of - for example, the resonance frequency of cesium-133 per second 9,192,631,770 weeks. Therefore, cesium atoms will be used as a metronome to keep highly accurate time.

30 years, the rabbi and his students at Columbia University's laboratory studies the fundamental characteristics of atoms and nuclei. That is, in here, they are relying on this atomic clock in the timer to create a valuable first step taken. In its study process, the rabbis invented a technology called magnetic resonance. Rely on the technology, he will be able to measure the atom's natural resonance frequency. To this end, he also won the 1944 Nobel Prize. In the same year, he also first proposed, \students), which is the accuracy of these resonant frequencies are so high, can be used to produce high-precision clock. In particular, he proposed to make use of the so-called atomic \between atomic nuclei and electronic changes in the magnetic effect caused by the energy difference between the two has a subtle transition between the state.

In this clock, the bunch is in a specific \state\of the atomic beam passes through an oscillating electromagnetic field. When the atomic hyperfine transition frequency

32

沈阳理工大学应用技术学院学士学位论文

of the oscillation frequency closer to the magnetic field, atoms absorb energy from the magnetic field the more, resulting from the original hyperfine state to make a state of transition. Through a feedback loop, one can adjust the frequency of oscillation field until all the atoms to complete the transition. Atomic clock is the use of field oscillation frequency of the resonant frequency of atoms maintain the same frequency as the time of the pulse generated metronome.

People's daily lives need to know the exact time, production, scientific research especially. It usually used in watches and clocks, and high precision of about 1 minute per year will be the error, which is no impact on daily life, but in demanding production, research on the need for more accurate timing tool. The world's most accurate atomic clock timing tool is, it is the 20th century, 50 years to arise. Atomic clock is the use of atomic absorption or release of energy when the electromagnetic waves emitted to timing. Because of this electromagnetic wave is very stable, combined with using a series of sophisticated instruments to control, atomic clock timing can be very accurate. Now used in atomic hydrogen inside the element (Hactare), cesium (Seterium)), Rubidium (Russium) and so on. Atomic clock accuracy can be achieved only every 100 years error of 1 second. This astronomy, navigation, Astronautical provide strong protection.

The discovery of the human history of atomic clocks:

Until this century, 20 years, the most accurate clock, or are the rules depend on the pendulum swing. Replace them with more accurate clocks are based on vibrating quartz crystal there are rules to manufacture, this clock error of not more than one-thousandth of seconds per day. Even so precise, but it still can not meet the scientists to study Einstein's theory of gravity needs. According to Einstein's theory, gravity floor, space and time are curved. Thus, in the Mount Everest at the top of a clock, than an identical clock at sea level, the average daily 1/30000000 seconds faster. Therefore, the only way to accurately determine the time only through the tiny atomic vibrations to control their own clock.

NIST F-1 atomic clock, which consists of 170 component parts, including lenses, mirrors, and lasers. Is located in the central part of the tube 1.70 meters high, in which the cesium atoms move up and down, issued a very rules \

30 years of this century, the United States at Columbia University laboratory rabbi and

33

沈阳理工大学应用技术学院学士学位论文

his students study the fundamental nature of atoms and their nuclei when the results obtained, so that the timer's clock based on the above-mentioned atomic research has made substantial progress. In the rabbis envisioned the clock, the at a particular hyperfine states of atomic beam passes through a vibrating electromagnetic fields, field frequency and atomic hyperfine transition frequency of the closer, atomic energy absorbed from the electromagnetic field will be more and therefore experience from the original hyperfine state to another state transitions. Adjustable vibration feedback loop field frequency, until all the atoms are able to transition. Atomic clock is the use of the frequency of vibration field to generate the time as the metronome pulse, current, vibration frequency and the atomic resonance frequency of games has reached the level of complete synchronization. In 1949, the rabbi's students Ramsay suggested that the two atoms through the vibration of electromagnetic fields, and the results make the clock more accurate. In 1989, Ramsay thus receive a prize.

After World War II, the U.S. National Bureau of Standards and the United Kingdom's National Physical Laboratory have announced the need to take research-based atomic resonance to determine the atomic time standard. The world's first atomic clock by the U.S. National Physical Laboratory in Essen and Parry with the construction completed, but this clock needs a room of equipment, so practicality is not strong. Another scientist makes clocks Zacca to Aspen to become a more practical instrument. Aspen plans to construct a ZAKA to what he called the atomic fountain, and full of fantasy atomic clocks, such clocks are very precise enough to study Einstein predicted gravity for the time effect. The development process, the Zarqa to Aspen launched a small-scale atomic clocks can be easily transferred from one laboratory to another laboratory. In 1954, he Moer Deng, Mass., built the company together with his portable device based on the commercial atomic clocks. Two years later, the company produced the first atomic clock, and sold 50 within four years, and now for the GPS cesium atomic clocks are the descendants of this atomic clock.

By 1967, research on the atomic clock so fruitful, so that people are based on the vibration of cesium atoms while the second made redefined. Today's most accurate atomic clocks, the error is not more than 10 years, within 1 second. After several years of effort, three kinds of atomic clocks - cesium atomic clocks, hydrogen masers and rubidium atomic clocks (which are the basic principles of the same, difference is that the element of energy use and

34

沈阳理工大学应用技术学院学士学位论文

changes in observation methods), have been successfully applied to space, satellites and ground control. Up until now, in these three categories of the most accurate atomic clocks are cesium atomic clock, GPS satellite system is the eventual adoption of cesium atomic clocks.

Today, known as NIST F-1 of the atomic clock is the world's most accurate clock, but it does not directly reflect the part-time, its mission is to provide a \time measurement. The timing device planted in the United States Boulder, Colorado National Institute of Standards and Technology (NIST) Physics Laboratory of the time and frequency within the Department. In 1999 the value of the clock was built around 65 million U.S. dollars worth of money indeed. In 2000 million years, It will not be less 1 second will not be more than 1 second, its high level of accuracy is evident. The plane, the clock is neither expensive nor pointer gear, only the laser beam, mirrors and cesium atomic gas.

Cesium atomic clock works:

Each atom has its own characteristic vibrational frequencies. People are most familiar with the phenomenon of the vibration frequency is that when the salt is sprayed into the flame when the sodium salt of the elements issued by the orange light. An atom has a variety of vibration frequency, are located in the radio wave band, are located in the visible band, while others are in between. Cesium-133 was generally chosen for atomic clocks.

Placed in the sub-atomic resonance of cesium atoms, the need to measure one of the transition frequency. Crystal oscillator is usually used to lock the main microwave cesium atomic resonance to achieve. This signal in the radio frequency spectrum within the framework of the microwave, and coincides with the launch of similar frequency and broadcasting satellites, so the spectrum of manufacturing engineers are very good instruments.

In order to create an atomic clock, cesium atoms will be heated to vaporization and, through a vacuum tube. In this process, first through a cesium gas is used to select the appropriate energy state atom's magnetic field, and then a strong microwave field. The frequency of microwave energy in a very narrow frequency range of shocks, in order to make a loop at each frequency point can be achieved in a number of 9,192,631,770 Hz. Accurate crystal oscillator generated by the microwave frequency range is close to the exact frequency. When a cesium atom receives microwave energy to the correct frequency, the energy state corresponding changes will occur.

35

沈阳理工大学应用技术学院学士学位论文

In the farther end of the vacuum tube, another magnetic field will be those due to the frequency of the microwave field on the right rather have changed the energy state of cesium atoms separated. In the vacuum tube at the end of the probe to crack down on the cesium atom in its proportion of the show was, and at the correct frequency of the microwave field at present peak. This peak has been used to produce crystal oscillator to make minor amendments, and makes the microwave field exactly at the correct frequency. This locked frequency is 9,192,631,770 In addition, to be a common real-world needs of a pulse per second.

Cesium atomic clock work process:

Cesium atomic clock was again the image of the people known as the \because the working process of cesium atomic clock is the fountain of cesium atoms as the same \This movement allows more accurate calculation of the frequency. Figure 1 depicts in detail the work of the whole process of cesium atomic clock. This process can be divided into four phases:

Phase I:

By the cesium atoms of gas, was introduced into the clock's vacuum chamber, with six infra-red laser beam perpendicular to each other (yellow line) exposure to cesium atomic gas, so close to each other while the ball was at the same time slow down the atom laser velocity and its cooling to near absolute zero.

Phase II:

Two vertical laser beam of cesium atoms in this balloon gently lifted upward, forming a \type of movement, and then close all of the laser. The thrust of this very small cesium atoms will lift up the balloon is about 1m high, through a microwave cavity filled with microwaves, when cesium atoms absorb enough from microwave energy. Cesium atomic gas was introduced into the vacuum chamber, the gas temperature decreases, close to absolute zero, and is showing a spherical cloud of gas. Two laser beams will \into the top under the action of gravity, the balloon began to fall down, and again through the microwave cavity. At the same time changed the microwave part of the atomic states of cesium atoms.

The third stage:

In the role of gravity, the cesium atoms balloon began to drop, once again through the

36

沈阳理工大学应用技术学院学士学位论文

得到常见的现实世界需要的每秒一个脉冲。 铯原子钟的工作过程:

铯原子钟又被人们形象的称作“喷泉钟”,因为铯原子钟的工作过程是铯原子象喷泉一样的“升降”。这一运动使得频率的计算更加精确。图1详细的描绘了铯原子钟工作的整个过程。这个过程可以分割为四个阶段: 第一阶段:

由铯原子组成的气体,被引入到时钟的真空室中,用6束相互垂直的红外线激光(黄线)照射铯原子气,使之相互靠近而呈球状,同时激光减慢了原子的运动速度并将其冷却到接近绝对零度。 第二阶段:

两束垂直的激光轻轻地将这个铯原子气球向上举起,形成“喷泉”式的运动,然后关闭所有的激光器。这个很小的推力将使铯原子气球向上举起约1m高,穿过一个充满微波的微波腔,这时铯原子从微波中吸收了足够能量。铯原子气被引入到真空室中后,气体的温度降低,接近于绝对零度,并且呈现圆球状气体云。 2束激光将“气球”推向上方 在重力的作用下,气球开始向下坠落,并再次穿过微波腔。同时微波部分地改变了铯原子的原子状态。 第三阶段:

在地心引力的作用下,铯原子气球开始向下落,再次穿过微波腔,并将所吸收的能量全部释放出来。当在微波腔中发生状态改变的铯原子与激光束再次发生作用时就会放射出光能。同时,一个探测器(右)对这一荧光柱进行测量。整个过程被多次重复,直到达到出现最大数目的铯原子荧光柱。这一点定义了用来确定秒的铯原子的天然共振频率。 第四阶段:

在微波腔的出口处,另一束激光射向铯原子气,探测器将对辐射出的荧光的强度进行测量。

上述过程将多次重复进行,而每一次微波腔中的频率都不相同。由此可以得到一个确定频率的微波,使大部分铯原子的能量状态发生相应改变。这个频率就是铯原子的天然共振频率,或确定秒长的频率。 更精确的全光学原子钟:

美国《科学》杂志于2001年7月12日公布的一项研究结果表明,美国政府科学家

42

沈阳理工大学应用技术学院学士学位论文

已经将先进的激光技术和单一的汞原子相结合而研制出了世界上最精确的时钟。位于美国科罗拉多州博尔德城的美国国家标准与技术研究所的科学家研制出了这种新型的以高频不可见光波和非微波辐射为基础的原子钟。由于这种时钟的研制主要是依靠激光技术,因而它被命名为“全光学原子钟”。

我们知道原子时钟的“滴答”来自于原子的转变,在当前的原子钟中,铯原子是在微波频率范围内转变的,而光学转变发生在比微波转变高得多的频率范围,因此它能够提供一个更精细的时间尺度,也就可以更精确地计时。这种新研制出来的全光学原子时钟的指针在1秒钟内走动时发出的“滴嗒”声为一千的五次幂(在1后加15个零所得的数),是现在最高级的时钟――微波铯原子钟的十万倍。所以,用它来测量时间将更精确得多。

所有时钟的构造都包括两大部分:即能够按照固定周期走动的装置,如钟摆;还有一些计算、累加和显示时间流失的装置,如驱动时钟指针的齿轮。在大约50年前首次研制出的原子钟增加了第三部分,即以特定的频率对光和电磁辐射作出反应的原子,这些原子用来控制“钟摆”。目前最高级的原子钟,就是利用100万个液态金属铯原子对微波辐射做出反应来控制时钟指针的走动。这样的时钟指针每秒钟大约走动100亿次,时钟指针走动得越快,时钟计算的时间也就越精确。但是铯原子钟使用的高速电子学技术并不能计算更多的时钟指针走动次数。因而,美国科学家在研究新型的全光学原子钟时使用的不是铯原子,而是单个冷却的液态汞离子(即失去一个电子的汞原子),并把它与功能相当于钟摆的飞秒(一千万亿分之一秒)激光振荡器相连,时钟内部配备了光纤,光纤可将光学频率分解成计数器可以记录的微波频率脉冲。

要制造出这种原子钟需要有能够捕捉相应离子,并将捕捉到的离子足够静止来保证准确的读取数据的技术,同时要能保证在如此高的频率下来准确的计算“滴答”的次数。这种时钟的质量依赖于它的稳定性和准确性,也就是说,这个时钟要提供一个持续不变的输出频率,并使它的测量频率与原子的共振频率相一致。

领导这一研究的美国物理学家斯科特·迪达姆斯(S.A. Diddams)说:“我们首次展示了这种新一代原子钟的原理,这种时钟可能比目前的微波铯原子钟精确100到1000倍。”它可以计算有史以来最短的时间间隔。科学家们预言这种时钟可以提高航空技术、通信技术,如移动电话和光纤通信技术等的应用水平,同时可用于调节卫星的精确轨道、外层空间的航空和联接太空船等。

摘自:光学学报

43

沈阳理工大学应用技术学院学士学位论文

附录B 程序

ORG 0000H LJMP MAIN

ORG 0003H ;外部中断INT0中断入口 LJMP TINGZHI

ORG 000BH ;定时器T0中断入口 LJMP UPDATE

ORG 0013H ; 外部中断INT1中断入口 LJMP KAISHI

MAIN: MOV DPTR, #TAB ;存入表头地址 MOV TMOD, #00H ;置T0为方式0 MOV TH0, #0E0H ;赋定时器初值 MOV TL0, #18H

MOV 79H, #00H ;显示缓存区清零 MOV 7AH, #00H MOV 7BH, #00H MOV 7CH, #00H MOV 7DH, #00H

MOV R0, #00H ;溢出计数区清零 MOV R1, #00H MOV R2, #00H MOV R3, #00H MOV R4, #00H

SETB EA ;CPU开中断 SETB EX0 ;开外部中断0 SETB EX1 ;开外部中断1

44

沈阳理工大学应用技术学院学士学位论文

SETB IT0 ;外部中断0位边沿触发方式 SETB IT1 ;外部中断1位边沿触发方式 SETB ET0 ;定时器0允许位

XIAN: MOV A, 79H ;显示1ms位数字 MOVC A, @A+DPTR MOV P0, A SETB P2.0

MOV A, 7CH ;显示1s位数字 MOVC A, @A+DPTR MOV P0, A SETB P2.3 LCALL DELAY CLR P2.3

MOV A, 7BH ;显示100ms位数字 MOVC A, @A+DPTR MOV P0, A SETB P2.2 LCALL DELAY CLR P2.2

MOV A, 7AH ;显示10ms位数字 MOVC A, @A+DPTR MOV P0, A SETB P2.1 LCALL DELAY CLR P2.1 LCALL DELAY CLR P2.0

45

沈阳理工大学应用技术学院学士学位论文

MOV A, 7DH ;显示10s位数字

MOV P0, #80H ;显示小数点 SETB P2.3 LCALL DELAY CLR P2.3

MOVC A, @A+DPTR MOV P0, A SETB P2.4 LCALL DELAY CLR P2.4

JNB P1.1, AA ;扫描复位键是否按下 JNB P2.5, LAST ;扫描查看键是否按下

LJMP XIAN ;返回显示程序,重新进行显示

AA: LJMP MAIN

LAST: JB P2.5, XIAN ;扫描查看键是否抬起

MOV A, 59H ;调用最终缓存区数据进行显示 MOVC A,@A+DPTR MOV P0,A SETB P2.0 LCALL DELAY CLR P2.0

MOV A, 5AH ;显示10ms位数字 MOVC A, @A+DPTR MOV P0, A SETB P2.1 LCALL DELAY CLR P2.1

46

本文来源:https://www.bwwdw.com/article/ffer.html

Top