00.00-99.99秒表课题设计报告 下载本文

宁波技师学院

课程设计

设计题目: 按钮控制00.00-99.99动态秒表

专业班级: 07电气(六)2班 学生姓名: 斯旭萍 学号 21 指导教师: 刘福祥 职称 教师 指导教师: 刘军 职称 教师 实习日期: 2011 年 6 月

宁波技师学院电气技术系

二零一一年一月

1

摘 要

近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的数字电子秒表设计。本设计主要特点是计时精度达到0.01s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。 本设计的数字电子秒表系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现五位LED显示,显示时间为0~99.99秒,计时精度为0.01秒,能正确地进行计时,同时能记录一次时间,并在下一次计时后对上一次计时时间进行查询。其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。

关键词:动态秒表、89S51芯片、中断、

四位一体数码管、0~99.99秒

2

目 录

摘 要 ............................................................................................................................. 2 目 录 ............................................................................................................................. 3 一、单片机简介 ............................................................................................................... 4

1.1单片机的定义 ...................................................................................................... 4 1.2 单片机的介绍 ..................................................................................................... 6

1.3 单片机的应用 ..................................................................................................... 9

1.3.1 在智能仪器仪表上的应用 ........................................................................ 10

1.3.2 在工业控制中的应用 ............................................................................... 10 1.3.3 在家用电器中的应用 ................................................................................11 1.3.4 在计算机网络和通信领域中的应用 ...........................................................11 1.3.5 单片机在医用设备领域中的应用 ...............................................................11 1.3.6 在各种大型电器中的模块化应用 ...............................................................11 1.4、单片机的开发过程........................................................................................... 12 二、AT89S51芯片 ......................................................................................................... 13

2.1 AT89S51芯片的概述........................................................................................ 13 2.2 AT89S51芯片主要特性.................................................................................... 13 2.3 AT89S51芯片管脚说明.................................................................................... 14 2.4 AT89S51芯片振荡器特性 ................................................................................ 18 2.5 AT89S51芯片擦除........................................................................................... 19 三、数码管 .................................................................................................................... 20 四、动态秒表系统程序 .................................................................................................. 23

4.1 4.2 4.3 4.4

秒表系统设计题目 ............................................................................................ 23 秒表系统设计思路 ............................................................................................ 23 秒表系统设计内容提要 ..................................................................................... 24 秒表系统设计原理图 ......................................................................................... 24

4.5 秒表系统设计流程图 ......................................................................................... 25 五、动态秒表的安装与调试 ........................................................................................... 28

5.1 软件的仿真与调试 ............................................................................................ 28 5.2 硬件的安装与调试 ............................................................................................ 29

5.2.1 晶振电路的测试 ...................................................................................... 29 5.2.2 复位电路的测试 ...................................................................................... 30 5.2.3 显示电路的测试 ...................................................................................... 30

5.3 系统程序的烧写 ................................................................................................ 30 六、基于Proteus环境下的仿真图 .................................................................................. 34 七、程序设计心得体会与总结 ........................................................................................ 36 八、致 谢 .................................................................................................................... 39 九、参考文献................................................................................................................. 40 附录A 总原理图 .......................................................................................................... 41 附录B 汇编程序 .......................................................................................................... 42 附录C 印制线路图 ...................................................................................................... 47 附录D 电路实物图 ...................................................................................................... 48

3

一、单片机简介

1.1单片机的定义

单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领

4

域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

5

1.2 单片机的介绍

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74

6

系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!

由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。

可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是

7

把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装臵中,起着有如人类头脑的作用,它出了毛病,整个装臵就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。 1.SCM即单片微型计算机(Single Chip

Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。

2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控

8

制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。

3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

1.3 单片机的应用

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装臵,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的

9

控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.3.1 在智能仪器仪表上的应用

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 1.3.2 在工业控制中的应用

用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

10

1.3.3 在家用电器中的应用

可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 1.3.4 在计算机网络和通信领域中的应用

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 1.3.5 单片机在医用设备领域中的应用

单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 1.3.6 在各种大型电器中的模块化应用

某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。

11

如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。

此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 1.4、单片机的开发过程

这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。

12

二、AT89S51芯片

2.1 AT89S51芯片的概述

AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 2.2 AT89S51芯片主要特性

与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24Hz 三级程序存储器锁定

13

128*8位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道

低功耗的闲臵和掉电模式 片内振荡器和时钟电路 2.3 AT89S51芯片管脚说明 VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

14

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:

15

口管脚 备选功能

P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用

16

作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上臵0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,臵位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

17

图1.1 8051单片机引脚图

2.4 AT89S51芯片振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配臵为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

18

2.5 AT89S51芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲臵模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

19

三、数码管

图1.2 LED数码管

a.码管通常有发光二极管(LED)数码管和液晶(LCD)数

码管,本设计提供的为LED数码管。

数码管是利用8个发光二极管,按一定规则连接制作成的数字、字符显示器件,使用时,只要在数码管的引脚上送入合适的电平,即能显示0~9、A~F一系列不同的数字。 LED数码管内部集结了8个条状发光二极管排列成“8”字图案,它有共阳极和共阴极之分,即当8个发光二极管的负极接在一起时称之为共阴极数码管,正极接在一起时称之为共阳数码管,对于共阴极数码管,把阴极接低电平,其余8个输入端接高电平,数码管发光;对于共阳极数码管,将阳极接高电平,其余8个输入端接低电平,数码管发光。

20

数码管内发光二极管的输出光谱决定其数码管发光颜色,利用不同发光颜色,可以制成发出红、黄、绿等不同颜色的数码管,使用LED数码管时,为保证适中的亮度,工作电流一般选10mA左右。

b.动态显示驱动方式

动态显示是把要显示的信息分时输出,轮流点亮各个数码管显示数字,同一时刻只能显示一个数字。它采用了一组共享的段选数据线将显示信息输出到所有数码管的a~g端,再用一组为选信号线控制某一数码管显示当前数据线上的信息。

c.静态显示的驱动方式:

静态显示是将显示的信号由缓冲器锁存静态驱动数码管显示.对于共阴数码管,公共端接地,数码管的a~g引线端与译码/驱动电路的输出端相连,这时驱动电路的输出端输出高电平使相应笔段点亮,输出低电平熄灭相应笔段.

d.LED数码管的特点

LED数码管被广泛用在数字化仪器仪表`数控装臵

中,也长用于微机的数显器件.它们有以下几个特点: (1)能被低电压,小电流驱动发光,普通的数码管每笔段工

作电流5MA~10Ma,导通正向压降约2V与TTL,COMS信号兼容。

(2)发光响应时间小于0.1us,高频特性好,单色性好,亮度.

21

(3)成本低,体积小,重量轻,抗冲击性能好.

(4)寿命长,一般工作在10万小时以上,有的可达100万

小时.

图1.3 4位一体数码管

所谓动态扫描的方法,是利用人眼的视觉暂留特性,快速地依次点亮各位数码管,同时显示不同的数字。这样,人眼将能看到四位数码管同时显示不同的数字。

22

四、动态秒表系统程序

4.1 秒表系统设计题目

秒表系统设计——用AT89S51设计一个动态数码显示“秒表”,显示时间为00.00~99.99秒,个位每秒自动加一。另设计一个按键,一上电动态数码管显示四个0,按一下秒表开始计时,按第二下秒表停止计时保持动态数码管显示的值,按第三下秒表归零。 4.2 秒表系统设计思路

该实验要求进行计时并在数码管上显示时间,则可利用单片机微机仿真实验系统中的芯片AT89S51中的P3.2管脚做为外部中断0的入口地址,并实现“开始”、“保持”、“清零”按键的功能;定时器T0作为每秒加一的定时器。其中当按键来第一个拨动信号,开关由1拨向0(由上向下按)时开始计时;当按键来第二个拨动信号,开关由1拨向0(由上向下按)时数码管保持,当按键来第三个拨动信号,开关由1拨向0(由上向下按)时数码管清零,此时若再按按键则又可重新开始计时。

23

4.3 秒表系统设计内容提要

本实验利用单片机的定时器/计数器定时和记数的原理,结合LED数码管以及原理图上的按键来设计秒表计时。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本实验设计了一个按键:按第一下按键秒表开始计时(本实验中当开关从1变为0时开始计时),按第二下按键秒表暂停计时,即秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),按第三下按键秒表归零(本实验中当相应开关从1变为0时即停止计时)。

用AT89S51设计一个2位LED数码显示动态秒表,显示时间为00.00~99.99秒。另设计一个按键,按键说明:第一次按下按键,秒表开始计数,数码管显示从00.00开始计时;第二次按下按键,秒表停止计时改为保持当时数码管上显示的数值;第三次按下按键,秒表归零,数码管再次显示00.00;第四次按下按键,秒表再次开始计数,数码管再次显示从00.00开始计时,以此循环。

4.4 秒表系统设计原理图

24

+5VU1C120PF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X1C220PF12MHZ18XTAL29RST+5VR11kC310UF293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51 图1.4 秒表系统设计原理图

4.5 秒表系统设计流程图

25

开始 定时中断服务器程序入口 1MS位加一 判断1MS位是否满10 1MS位清零,10MS位加一 判断10MS位是否满10 10MS位清零,100MS位加一 判断100MS位是否满10 100MS位清零,1S位加一 判断10S位是否满10

26

10S位清零 中断返回 结束 1.5 00.00-99.99秒表流程图

27

五、安装与调试

5.1 软件的仿真与调试

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

Proteus ISIS的工作界面是一种标准的Windous界面。它包括标题栏、主菜单、状态栏、标准工具栏、对象选择按钮、预览对象方位控制按钮、仿真控制按钮、预览窗口、对象选择器窗口、图形编辑器窗口等十几个工具,方便了使用者的使用。首先打开已经画好的Proteus DSN文件,双击图中的AT89S51芯片,就弹出一个窗口,在Program File项中通过路径选择在WAVE中生成的HEX文件。双击选中后确定,这样仿真图中的AT89S51芯片就已经读取了本设计中的HEX文

28

件。单击“三角形按钮”进行仿真。通过对仿真结果的观察来对程序进行修改,最终使达到设计要求。 5.2 硬件的安装与调试

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

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

5.2.1 晶振电路的测试

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

29

脚的电压,看是否正常,在调试过程中,册的电压XTAL1引脚应为2.05V,XTAL2应为2.15V。 5.2.2 复位电路的测试

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

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

在软件调试中,我们使用的是TopWin软件对程序进行烧写。 第一步:打开TopWin软件,单击页面左上角的“装载”,

30

选择需要装载的“秒表”汇编程序(选择HEX格式文件),

点“打开”,

跳出来选择“文件格式”页面,选择HEX点“确定”。

31

第二步:再单击左上角的“型号”,

弹出选择厂家/型号页面,找到型号AT89S51,在右边类别中选择“单片机”,单击“确定”,

32

在跳出的AT89S51页面中,烧写速度选择“正常”,加密方式选择“2”,在单击右边组合操作懒中的“自动”即可。

第三步:关闭TopWin软件页面。

33

六、基于Proteus环境下的仿真图

图1.6 基于Proteus环境下的开始状态

图1.7 基于Proteus环境下的保持状态

34

图1.8 基于Proteus环境下的近乎于99.99的状态

35

七、程序设计心得体会与总结

心得体会

1. 根据课题要求,复习相关的知识,查询相关的资料。 2. 根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。

3. 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。

4. 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。

5. 这次的单片机课程设计重点是理论与实际的相结合。不再只读书了。

6. 该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。

36

总 结

通过这次的课程设计,使我对单片机程序设计的方法、要求有了初步的了解并且积累了一些实践经验,对软件的应用有了更进一步的了解,相信对以后进一步学习单片机知识,这对自己无论是在感性上还是理性上都会有一定的帮助,而且通过这次的设计,激发了我对单片机课程浓厚的兴趣,增强了我对书本理论的运用。虽然现在对所涉及的知识和要求的综合分析能力较为复杂,可这其中体现了创新思想和知识的结合应用,今后我将更广泛地涉及这方面的知识,希望能在这一领域有所成就

这次课程设计根据课题要求,复习了这学期所学的单片机内容,通过查询相关的资料,简要知道了虽然老师上课讲过,但并非听懂了的8155芯片的有关知识。根据课程设计的要求和自己通过参考有关资料拟的方案,写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序,达到能够实现所要求的功能的目的。在写程序时,在每条指令后都写好注释,以便在程序出错的检查过程中可以更容易查找得到。

实验利用单片机的定时器/计数器定时和记数的原理,结合、LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能

37

够正确地显示时间。其中本实验设计了一个按键:按第一下按键秒表开始计时(本实验中当开关从1变为0时开始计时),按第二下按键秒表暂停计时,即秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),按第三下按键秒表归零(本实验中当相应开关从1变为0时即停止计时)。最终实现设计要求。

38

八、致 谢

时光匆匆如流水,转眼为期两周的单片机实训已经结束,春梦秋云,正常的上课和考试日趋临近,实训报告的的完成也随之进入了尾声。从开始进入课题到报告的顺利完成,一直都离不开老师、同学给我热情的帮助,在这里请接受我诚挚的谢意!

在老师们的亲切关怀和悉心指导下,他们以严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,老师们都始终给予我细心的指导和不懈的支持。在这段时间里,老师们不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向老师们致以诚挚的谢意和崇高的敬意。

真是非常感谢老师们的细心指导和同学们的帮助。在此,还感谢其他同同学的热心帮助。没有他们,拔高不会这么顺利完成。真是谢谢你们啦!

39

九、参考文献

张毅坤,《单片微型计算机原理及应用》,西安电子科技大学出版社,1998年

DVCC系列单片机微机仿真实验系统实验指导书

1. 苏家健等,《单片机原理及应用技术》,高等教育出版社,2004年11月

2. 余锡存,曹国华,《单片机原理及接口技术》,西安电子科技大学出版社2000.7

3. 毕万新,《单片机原理及接口技术》,毕万新,等大连理工出版社,2002年

4. 《MCS-51单片机原理及接口技术》,哈尔滨工业出版社

5. 《单片机原理及接口技术》,清华大学出版社

40

+5V19XTAL118XTAL29RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD73938373635343332C1293031PSENALEEAP2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD10111213141516172122232425262728附录A 总原理图

20PFX112MHZC220PF+5V1kR1图1.9 Proteus总原理图

12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7C3U180C5110UF41

附录B 汇编程序

ORG 00H AJMP MAIN ORG 0BH MAIN:

LOOP:

AJMP ORG MOV MOV MOV TH0,#0D8H

MOV TL0,#0F0H ;10MS MOV SETB SETB ET0

MOV P0,#0 MOV P2,#0 MOV 30H,#0 MOV 31H,#0 MOV 40H,#0 MOV 41H,#0 MOV 42H,#0 MOV 43H,#0

CALL DISP JB T0_SRV 30H

中断一次 EA 42

SP,#80H TMOD,#1 DPTR,#TAB P3.3,LOOP

LCALL DELAY JB P3.3,MAIN

JNB P3.3,$ ;等待开始 SETB TR0

LOOP2:

LOOP3:

T0_SRV:

CALL DISP JB P3.3,LOOP2 LCALL JB P3.3,LOOP2

JNB P3.3,$ ; CLR TR0

LCALL JB P3.3,LOOP3 LCALL JB P3.3,LOOP3

JNB P3.3,$ ; SJMP MAIN

MOV TH0,#0D8H

MOV TL0,#0F0H ;10MS INC 30H MOV A,30H CJNE MOV 30H,#0 INC 31H MOV A,31H

DELAY 等待开始 DISP DELAY 等待开始 中断一次 A,#100,NEXT1 43

CJNE A,#100,NEXT1 MOV 31H,#0

NEXT1:

MOV A,30H DISP:

MOV B,#10 DIV AB MOV 40H,B MOV 41H,A MOV A,31H MOV B,#10 DIV AB MOV 42H,B MOV 43H,A RETI

MOV A,40H MOVC CPL MOV P0,A MOV P2,#10H CALL MOV P2,#0

MOV MOVC CPL MOV 44

A,@A+DPTR A DELAY2MS A,41H A,@A+DPTR A P0,A

MOV P2,#80H CALL DELAY2MS MOV P2,#0 MOV A,42H

DELAY2MS:

A,@A+DPTR A P0,A P0.7 P2,#20H DELAY2MS P2,#0 A,43H A,@A+DPTR P0,A P2,#40H DELAY2MS P2,#0 06 04 R4,#4 R6,#250 R6,$ R4,$-4 4

45

MOVC CPL MOV CLR MOV CALL MOV MOV MOVC CPL A MOV MOV CALL MOV RET

PUSH PUSH MOV MOV DJNZ DJNZ POP

POP 6 RET

DELAY: PUSH 06

TAB: PUSH 05 MOV R5,#20

MOV R6,#250 DJNZ R6,$ DJNZ R5,$-4 POP 5 POP 6 RET

DB 3FH, 06H, 5BH, 4FH, 66H

DB 6DH, 7DH, 07H, 7FH, 6FH END

46

附录C 印制线路图

图1.10 印制线路图

47

附录D 电路实物图

图1.11 电路实物图

48

49