毕业设计论文单片机秒表的设计制作

上传人:痛*** 文档编号:78286229 上传时间:2022-04-21 格式:DOC 页数:29 大小:494.50KB
收藏 版权申诉 举报 下载
毕业设计论文单片机秒表的设计制作_第1页
第1页 / 共29页
毕业设计论文单片机秒表的设计制作_第2页
第2页 / 共29页
毕业设计论文单片机秒表的设计制作_第3页
第3页 / 共29页
资源描述:

《毕业设计论文单片机秒表的设计制作》由会员分享,可在线阅读,更多相关《毕业设计论文单片机秒表的设计制作(29页珍藏版)》请在装配图网上搜索。

1、目 录 第一章 前言11.1 单片机技术的特点及应用11.1.1 单片机的特点11.1.2 单片机的应用11.2 单片机实现发生器的意义2第二章 数字式秒表软件系统的设计32.1设计任务及功能要求说明322数字式秒表的方案介绍及工作原理说明3第三章 数字式秒表硬件系统的设计53.1数字式秒表硬件系统各模块功能简要介绍53.1.1 AT89S52简介53.1.2时钟电路53.1.3键盘电路63.1.4复位电路63.1.5 驱动及显示电路73.1.6 单片机下载口电路83.2 数字式秒表的硬件系统设计图83.2.1 电路原理图83.2.2 PCB图9第四章 数字式秒表软件系统的设计104.1 数字

2、式秒表使用单片机资源情况104.2 主程序流程图104.3中断服务程序流程图104.4显示程序流程图12第五章 设计总结135.1 秒表的设计结论及使用说明135.2 秒表的调试与安装135.3 程序仿真与结果145.4 误差分析及解决方法155.5 设计心得15结束语17参考文献18附录1 原理图19附录2 PCB图20附录3 程序清单21附录4 元器件清单27摘要本设计利用单片机的定时器/计数器定时和计数的原理,通过proteus仿真软件来模拟实现的。模拟利用AT89S52单片机、LED数码管以及软件来控制秒表的计数以及计数的开启/暂停/继续与复位。本设计主要完成具备基本功能的电子秒表的理

3、论和实践设计,其中开启、停止按键的使用方法与传统的机械计时器相同,即按一下开启按键,启动计时器开始计时,按一下停止按键计时终止。而复位按键可以在任何情况下使用,即使在计时过程中,只要按一下复位按键,计时应立即终止,并对计时器清零。关键字:电子秒表,单片机,定时中断27第一章 前言1.1 单片机技术的特点及应用随着大规模和超大规模集成电路技术的发展和计算机微型化的需要,将微型计算机的基本部件:中央处理器(CPU)、存储器、输入/输出(I/O)接口、定时器/计数器等多种资源集成在一个半导体芯片上,使得一块集成电力芯片就能构成一个完整的微型计算机。这种集成电路芯片被称为单片微型计算机,简称单片机。单

4、片机在结构设计上,他的软、硬件系统及I/O接口控制能力等方面都有独到之处,具有较强而有效的功能。从其组成、逻辑功能上来看,单片机具备了微型计算机系统的基本部件。目前,8位高档机和16位机在单片机应用中占主导地位,产品众多,已有几十个系列、几百个型号,除了通用单片机以外,集成更多资源,如A/D转换器、D/A转换器、“看门狗”(Watchdog)电路、LCD控制器、网路控制模块等,将单片机嵌入式系统和Internet连接起来已是一种趋势。还有专用单片机产品,如专门用于数据处理(图像和语言处理等)的单片机。总之,单片机正在向微型化、低功耗、高速、集成、高集成度、多资源、网络化、专用型方向发展。1.1

5、.1 单片机的特点单片机在一块芯片上集成了一台微型计算机所需要的基本部件。它在硬件结构、指令功能等方面均有独到之处,其特点如下:性价比高。单片机性能稳定,功能强大,价格便宜。体积小,集成度高、可靠性高。单片机将一台计算机所需要的基本部件集成在一块芯片上,减少了各部件间的连线,能大大地提高运行速度和抗干扰能力。控制功能强。为了,满足工业控制的需要,单片机有很强的位处理功能。在其他的逻辑控制功能等方面,也都优于一般的8位微处理。单片机系统配置灵活、方便。由于单片机带有一定数量的接口电路,容易构成各种规模的应用系统。单片机类型多。单从ROM类型来说,单片机的只读存储器有ROM、EPROM、EEPRO

6、M、Flash Memory等多种,可以根据实际需要进行选择。1.1.2 单片机的应用由于单片机具有如上所述的特点,因此在工业生产、日常生活等诸多领域,得到了日益广泛的应用,单片机的主要应用领域有:工业控制,如在工业生产过程中参数(如温度、压力、流量、液位等)的控制,数据处理功能于一体,如转速测试仪、噪声测试仪、振动测试仪及电子秤等。计算机网络与通信,单片机上有并行I/O接口角儿串联I/0接口,可用于通信接口,如单片机控制的自动呼叫应答系统、列车无线通信系统、遥测遥控系统等。家用电器,由于单片机体积小,控制能力强,且片内与定时器/计数器,所以广泛应用于家用设备中。如空调、洗衣机、微波炉及防盗报

7、警等。1.2 单片机实现的意义本设计是以AT89S52芯片的电路为基础,外部加上功率放大器、放音设备,以此来实现发生器的硬件电路,通过软件程序来控制单片机内部的定时器使其能达到所要求的。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大单片机和音乐爱好者提供了很好的借鉴。为了完成发生器的设计,我将进行以下工作:1.选择合适设计的芯片。2.进行硬件电路的设计,绘制发生器电路原理图。3.进行软件设计,设计程序代码。4.调试硬件和软件电路,验证整个设计。第二章 数字式秒表软件系统的设计2.1设计任务及功能要求说明由单片机接收小键盘控制递增计时,由LED 显示模块计时时间,显示格式为 XX(分

8、):XX(秒).XX,精确到0.01s的整数倍。绘制系统硬件接线图,并进行系统仿真和实验。画出程序流程图并编写程序实现系统功能。使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过三极管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表通过按键控制可实现开始计时、暂停计时、连续计时、清零和停止功能。22数字式秒表的方案介绍及工作原理说明使用AT89S52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;采用S8550作为数码管的驱动部分;用两个四位一体共阳极或共阴极数

9、码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的复位、计时、连续、清零、停止各项功能。对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。LED数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳

10、极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。键盘部分方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这种独立式接口的应用很普遍。显示部分方案:显示部分采用动态显示。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划

11、a ,b ,c ,d ,e ,f ,g ,d p的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。动态显示是利用人眼视觉暂留特性来实现显示的。事实上,显示器上任何时刻只有一个数码管有显示。由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,

12、因此看到的是连续显示的现象。为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。本设计可采用P0口直接驱动八段数码管显示。此方案成本低,而且单片机的I/O口占用较少,可以节约单片机接口资源,而且功耗更低。此电路采用单片机的P0口作为数码显示管的段控,采用P2口作为数码管的位控。8个独立式键盘分别接在单片机的P1口上,以及其他部分构成数字式秒表的硬件电路。通过编写程序使用单片机的定时计数器,以及软件延时,中断资源来实现秒计时和相关控制。此数字式秒表的硬件整体结构如图2-1所示。图 2-1数字式秒表的硬件结构图第三章 数字式秒表硬件系统的设计3.1数字式秒表硬件系统各模块功能简要介绍3.1.1

13、 AT89S52简介(1)与MCS-51产品相兼容;(2)具有8KB可改写的Flash 内部程序存储器,可写/擦1000次;(5)256字节内部RAM;(6)32根可编程I/O口;(7)3个16位定时器/计数器。 (8)8个中断源;(9)可编程中串行口;(10)低功耗空闲和掉电方式。它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。其芯片引脚图如图3-1所示。图3-1 单片机AT89S52引脚图3.1.2时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按

14、时序进行工作。在AT89S52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚TXAL2,在芯片的外部通过这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 此电路采用12MHz的石英晶体。时钟电路如图3-2:图3-2 时钟电路3.1.3键盘电路本设计使用独立式键盘接在单片机的P1口上但通过软件赋予其中三个按键功能,其中S2是计时开始按键,第二功能为停止,S3为计时暂停按键,第二功能为继续计时按键,S4是清零按键。注意使用时只有在暂停状态下才能继续计时,只有在停止状态下才能清零,在停止时不能继续计时,在暂停时不能清零。键盘电路如图3-3:

15、图3-3独立式键盘电路图3.1.4复位电路复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现

16、的。在本设计中采用了按键电平复位方式,其复位电路如图3-4所示:图3-4 复位电路3.1.5 驱动及显示电路数码管实际上是由二极管构成发光二级管正常工作时,其两端正向压降约为1.6v,正向电流约为10mA,为了使数码管达到一定的亮度而又不至于由于电流过大而损坏,我们使用三极管S8550作为数码管的驱动,同时在P0口和P2口上串上470欧姆的电阻。此处使用四位一体共阴极数码管,由于驱动电路决定了此处共阴极数码管和共阳极数码管均可以采用而且均采用共阳极代码来编写显示程序,具体电路如图3-5所示。 图3-5 数码管驱动及显示电路图3.1.6 单片机下载口电路下载口主要是一个十芯的座子,可以通过使用U

17、SB下载线对单片机进行程序下载。方便整个软件的设计,也能让我们使用起来更加方便。图3-6 单片机下载口电路图3.2 数字式秒表的硬件系统设计图3.2.1 电路原理图此处电路原理图以及PCB原理图的绘制均使用protel99软件完成,Protel99是基于Win95/Win NT/Win98/Win2000的纯32位电路设计制版系统。Protel99提供了一个集成的设计环境,包括了原理图设计和PCB布线工具,集成的设计文档管理,支持通过网络进行工作组协同设计功能。根据硬件接线要求设计绘制电路原理图及PCB。具体电路图见附录1与附录2。3.2.2 PCB图PCB图设计时,首先要使元器件尽量少,这样

18、既可以节约材料,又可以是布线更加短,减少干扰,同时还应注意尽量减少线路之间的寄生电容和电感,布线时需要将线宽设置得比较宽,这样可以提高腐蚀电路板时的成功率,焊盘大小也要设置的比较大,这样在腐蚀环节和焊接环节比较容易成功。不易出现短线的现象和焊盘剥离的现象。双面布线时芯片和针脚多的元件需将焊接点置于底层,这样才能比较方便的焊接。制作电路板PCB图见附录2。第四章 数字式秒表软件系统的设计4.1 数字式秒表使用单片机资源情况本次电子钟设计除了了使用单片机工作所必须的硬件资源(如连接晶振的引脚XTAL1和XTAL2,复位引脚RESET)外,对单片机的硬件资源还做了具体的安排。(1).P0口:P0.0

19、-P0.7作为数码管显示器的段控。(2).P1口:P1.0-P1.3作为独立式键盘的输入端。(3).P2口:P2.0-P2.7分别控制数码管LED0-LED7的位控码驱动。(4).定时/计数器:使用定时器0工作方式2实现数字式计数器的运行。(5).专用寄存器:定时器控制寄存器TCON,通过设置该寄存器TR0位的状态来控制定时/计数器0的启动/停止;中断允许寄存器IE,通过设置该寄存器EA/ET0位的状态来设置定时/计数器0中断允许/禁止;定时/计数器工作方式寄存器TMOD,设置定时/计数器0的工作方式。4.2 主程序流程图图4-1 主程序流程图系统上电/复位后,进入主程序。首先对系统进行初始化

20、,包括设置各入口地址、中断的开启、对各个数据缓存区清“0”、赋定时器初值,初始化完毕后,就进入数码管显示程序。数码管显示程序对显示缓存区内的数值进行调用并在数码管上进行动态显示。显示一次就对按键进行一次扫描,查询按键是否按下,并不断地调用显示缓存区的数据进行显示。使用户能清楚的看到当前电子秒表所记录的时间。在主程序中还进行了赋寄存区的初始值、设置定时器初值等操作,当定时时间到后就转去执行定时中断程序。并在执行完后返回主程序。4.3中断服务程序流程图图4-2 中断服务程序流程图当定时/计数器T0器溢出后,向CPU发出中断请求信号。CPU跳转到定时中断程序执行。定时中断程序是一个进位程序,主要负责

21、对1ms的加一。1ms位没有满八就跳出中断程序,返回显示程序。当1ms位满八后就对1ms位清零,向10ms位加一,同时检测10ms位是否满十,没有满十就跳出中断程序,返回显示程序。如果满十就向100ms位加一,依次类推,最终达到59:59:99后归零,从零开始再次计时。4.4显示程序流程图图4-3显示程序流程图当主程序执行调用显示程序时,首先对数据进行堆栈保护,同时改变通用寄存器组,再来执行位控与段控向端口的输入。位控码送往P2口,段控码送往P0口。为了保证显示亮度,在扫描的过程中,应在每一位数码管上都驻留一段时间(约1ms),以使数码管稳定地点亮一段时间,一保证其显示亮度。为此在扫描过程中,

22、位与位之间要加进一段时间延迟。当8位数码管全部送完时,恢复当前寄存器的组号,返回主程序。第五章 设计总结5.1设计结论及使用说明本设计完成的是基于单片机的数字式秒表。该数字式秒表实现了计时、暂停、清零等功能,并用数码管显示时间。上电或复位后显示“P.”提示符,此时按1键便可开始计时。在计数状态下,按下2键即可实现暂停,再次按下2键即可实现继续计数,在计数状态下按下1键,实现计数停止,在停止状态下按下3键,便可实现计数清零。计数状态下按下清零键,无效。5.2秒表的安装与调试本电子钟的设计用的Proteus仿真软件设计电路并仿真。Proteus ISIS是英国Labcenter公司开发的电路分析与

23、实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。因为pretues仿真软件中所有的情况都是基于理想条件,与实际电路的工作存在很大的差别,所以我们必需考虑到实际情况应接入驱动限流等电路,它才能被实际所应用。首先打开已经做好的proteus DSN文件,双击图中的AT8

24、9S52芯片,就弹出一个窗口,在Program File项中通过路径选择在WAVE中生成的HEX文件,双击选中后确定,这样仿真图中的AT89S52芯片就已经夺取了本设计中的HEX文件。单击“三角形按钮”进行仿真。通过对仿真结果的观察来对程序进行修改,最终使程序到达设计要求。按照之前设计好的数字电子秒表原理图,详细计算系统中各个元件的参数,选择相应器件,制作实际电路板。由于考虑到电路板大小的问题及元件之间连线的方便,在焊接元器件前必须考虑元件的布局然后进行实际操作。制作好的电路板可以用万用表(200欧姆档)的红、黑表笔测试电路板的每条走线,当其电阻非常小时,证明走线没有断开,当其电阻很大时,证明

25、该条走线断了,应该重新走线,使电路板在电气上得到正确地连接。选用万用表的20K欧姆档,检测电路中是否存在短路。因为系统采用的是共阴极数码管作为显示电路,必须确保数码管的公共端接的是低电平。(1)晶振电路的测试在单片机正常运行的必要条件是单片机系统的时钟稳定正常。实际中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况时有,因此系统时钟是否振是通电检查的首要环节。在系统通电的状况下,用万用表的直流电压档(20V),分别测量XTAL1和XTAL2引脚的电压,看是否正常,在调试过程中,测得电压XTAL1引脚应为2.05V,XTAT2应为2.15V。(2)复位电路的测试复位不正常也会导致系统

26、不能工作。如果复位引脚始终为高电平,系统将始终处于复位状态;如果始终为低电平,不能产生复位所需的高电平信号脉冲,则系统也可能无法正常工作。单片机正常工作时,RST复位引脚应为0V,按下复位按键时,复位引脚为高电平5V左右。(3)显示电路的测试显示电路是数字电子秒表正常运行最直观的观察窗口,我们可以通过观察显示电路的显示结果观察系统能否正常运行。当显示电路按照电路图焊接好后,用万用表的测二极管档位,将黑表笔接共阴数码管的公共段,然后将红表笔接数码管的各段,当数码管的段能正常显示,说明各点焊接正常。5.3 程序仿真与结果 我是在Keil软件里编写程序并编译通过才能被硬件电路所应用。Keil的功能比

27、较强大但还是有一定的缺点。在编译过程中只能检查出所编写的语法错误,因此只能一步一步的在硬件电路里仿真来达到设计所要求的功能。经仿真修改和完善均已达到设计要求.“P.”显示,电子钟准备状态与电子钟自动运行状态的仿真如下图所示。(1). “P.”显示如图5-1所示。图5-1 “P”显示图 (2). 数字式秒表准备状态仿真的显示如图5-2所示。图5-2 准备计时状态(3). 数字式秒表运行状态的仿真如图5-3所示。图5-3 计时器状态5.4 误差分析及解决方法可以发现数字式秒表计数的时间比我们的标准时间要慢,而且相比较的时间越长时差越大。经过分其主要原因与硬件和软件都有关。软件原因:我们从外部中断请

28、求有效到转向中断区入口地址所需的机器周期数来计算中断时间,51系列单片机最短响应时间为3个机器周期。在一般情况下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间,以保证定时的精确控制。硬件原因:单片机的时钟信号是由外部的振荡电路所提供,在芯片的外部通过接XATL1与XATL2这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。因为电子原件没有我们所设计的那么理想(电容的容量,振晶的输出频率)所以会造成我们的时间准确。针对这样的问题我们就能只能从上述两个方面入手去解决。软件方面我们可以通过计算设计子程序去减少响应的时差。硬件部分我们可以采用一些稳定措

29、施,精确度比较高的电子元件去完善,但是在最后调试出的还是有误差但我尽可能的减少差误差接近理想。5.5 设计心得通过对数字式秒表的设计与制作,我们把理论与实际相结合。加深了我对理论知识的理解,也增强了动手能力。 在电路设计过程中,我学会了自己收集信息和处理信息的能力,为以后的学习和制作奠定了一定的基础,数字式秒表看似简单,但当我自己着手设计与制作的时候才发现困难重重的。在元器件采购过程中发现的问题更大,在电路计算中我们根本没有考虑到元器件的型号和性能参数,然而在实物购买时我们就不得不开始考虑其型号和性能参数,这也是理论与实际的差别。还有,某种型号的电阻和电容的是根本就没有买的,这样我们不得不考虑

30、改变设计电路中的参数,或者采用电路的等效方式来解决。在制作PCB时,发现一定要有细心、耐心和恒心才能做好事情,首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很需要的。比如在做PCB板时,因为缺乏经验把板上的线画得太细了,焊盘太细导致后面的腐蚀环节稍微有点失误将使电路板出现断线,打孔后无焊盘等问题,把PCB板浸在三氯化铁里浸得太久可能导致PCB板上的铜几乎全都溶解了。双面布线时必须做到两面完全对齐,否则板子有可能无法使用,还有在有芯片的电路布线时不能将从芯片引脚引出的线布在两面,否则将无法完成焊接任务。从刚刚接触单片机开始,此设计是我迄今为止,编写的最大的一个程序,在调试过程

31、中,我学会了怎样去根据实验现象分析问题,解决问题。它不仅加强了我们解决问题的能力,同时也锻炼了我们的逻辑思维能力。此次设计,使我学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,使我们在实际动手能力方面得到了较大的提高。结束语经过这一次的毕业设计,从搜索资料到硬件、软件的调试成功,每一步、每一个细节自己都经过思考,共同讨论各方案的比较选择和画图、做板和硬、软件的调试。在做的过程中不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自的知识扩展己了知识面。在毕业设计中,参考了多方面的

32、书籍资料和网络资料,对不同类型的题目都有了大概的认识,最后,经过认真思考,我选择了单片机控制的电子秒表。本次设计内容较多,关系到电路的设计与制作,以及程序的设计和两者的匹配组合,每一部分都要注意,每一部分都要严格要求,否则,就会出现错误,影响最后的结果。这一个学期来,尽管本人尽了最大努力去完成本毕业设计任务的研究,但是所做的工作仍有许多不足,还要许多内容需要完善,恳请各位老师对不足或疏漏之处给予指出。刚开始接到课程设计任务,认为挺简单的,然而真正开始动手制作时才知道并不是那么简单,从初期的资料收集以及原理图的绘制都受到了老师以及同学的帮助,在遇到困难时请教老师和同学都能得到耐心的解答,帮助我们

33、少走弯路。感谢我的老师,以及我的同学,在整个硬件电路的设计与制作过程中,他们都给了我很大的支持,是我从此次课程设计过程中获益匪浅,本人对设计过程中给予了通力合作,以及精神的支持,的老师和同学深表感谢。如果没有他们我想我的设计不会这样顺利的完成。由于本人水平有限,在技术指标和论文写作中可能存在一些缺陷,恳请各位老师和同学们批评指教。参考文献1李华.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版,20022李全利,迟荣强.单片机原理及接口技术.北京:高等教育出版社,20043杨西明,朱骐.单片机编程与应用入门.北京:机械工业出版社,2004 4薛晓书.单片微机原理及接口技术.西安:

34、西安石油大学,2002.35谢自美.电子线路设计、实验、测试.武汉:华中理工大学出版社,20006何书森,何华斌.实用数字电路原理与设计速成.福州:福建科学技术,2000.67李广弟.单片机基础(第三版).北京:北京航空航天大学出版社,2007.68张毅钢.MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2007.89罗耀华.单片机原理与应用设计M.哈尔滨:哈尔滨工程大学出版社, 2005附录1 原理图附录2 PCB图 附录3 程序清单;LED数码管显示器设定;P0.7-P0.0段控线,接LED的显示段d p ,g ,f ,e ,d ,c ,b ,a ;P2.7-P2.0位控线从左至

35、右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0);显示缓冲区设定从左至右依次为78H,79H,7AH,7BH,7CH,7DH,7EH,7FH ;*;独立式键盘设定与功能;8个按键S1至S8分别依次接在P1.0至P1.7口线;K0的功能为复位 ;K1的功能为启动/停止(标识符为22H.0当它为1时启动,为0时停止);K2的功能为暂停/继续(标识符为22H.1当它为1时暂停,为0时继续);K3的功能为清零;*;常数表格; ;DISBH(系统提示符P.字型代码序号表);TAB(共阳数码管字型代码表) ;*; ;子程序;TIME_1MS(定时1ms子程序);KEY(

36、键扫描子程序);KEYCHULI(P1口数据处理子程序);DISP(数码管显示子程序);DL(2毫秒延时子程序);ADD01(入口地址为R0);*;存储器内容的安排;堆栈栈底7FHH; ;20H作为按键标志(20H.020H.7分别对应的是按键K1K8);专用寄存组1,用在显示子程序中;*;系统起始程序区 ORG 0000H START: LJMPMAINORG 000BH LJMPPDJW;*;系统监控程序区ORG 0030HMAIN: MOV PSW,#00HMOV SP, #7FH;确立堆栈区MOV R0, #20H;RAM区首地址MOV R7, #96 ;RAM区单元个数 MOVTMO

37、D,#01HSETBEASETBET0ML: MOV R0,#00HINC R0 DJNZR7, MLTSF:MOV DPTR, #DISBH ;系统初始化后提示符“P.”字符代码表首地址MOV R5, #08H MOV R0, #78HDISPTSF:CLR AMOVCA, A+DPTRMOV R0,AINC R0INC DPTRDJNZR5, DISPTSFKEY0:LCALLDISPLCALL KEYJB 20H.0, K1JB 20H.1, K2JB 20H.2, K3LJMPKEY0KEY00: LCALL KEYLCALL DISPJB 20H.2, K3LJMPKEY00 K1:

38、 JB 22H.1, KEY0;如果此时为暂停状态,本次按键K1无效CPL 22H.0 JB 22H.0, K01;高电平则计时 CLR TR0 ;低电平则停止LCALL DISPLJMPKEY00K01: MOV 7AH, #12H;从零开始计时 MOV 7DH, #12H MOV 7FH, #10H MOV 78H, #00H MOV 79H, #00H MOV 7BH, #00H MOV 7CH, #00H MOV 7EH, #00H MOV 7FH, #00H LCALL DISP MOV TH0,#0D8H MOV TL0,#0F0H SETBTR0;启动定时器 LJMPKEY0K2

39、:JB 22H.0, K21 ;判断秒表是否启动,如不是启动状态则此次按键无效 LJMPKEY0K21:CPL22H.1JB 22H.1, K22SETB TR0;继续计时LJMPKEY0K22:CLR TR0;暂停秒表LCALL DISPLJMPKEY0 K3:JB22H.0, KEY0 ;只有当停止是,清零键才有效MOV R0, #79H;秒表清零LCALL CLR00MOV R0, #7CHLCALL CLR00MOV R0, #7FHLCALL CLR00LJMPKEY0PDJW: PUSHPSWPUSHACCMOV TMOD,#01H;定时器以工作方式1工作SETBRS1;设定组号为

40、2组CLR RS0MOVTH0,#0D8HMOVTL0,#0F0HMOV R0,#79HLCALL ADD01CJNER2, #99, RETT ;判断1秒到没MOV R0, #7CH LCALL ADD01CJNER2, #60, RETT ;判断60毫秒到没LCALL CLR00MOV R0, #7FHLCALL ADD01CJNER2, #60H, RETT;判断60分到没LCALL CLR00RETT: POP ACCPOP PSWRETI;*;常数表格区;系统初始化后提示符“P.”字符代码表;DISBH: DB 10H,10H,10H,10H,10H,10H,10H,11H ;提示符

41、“P.”字符序号;显示字符段选码表(共阳极代码)TAB: DB0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;0-8 DB 90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH ;9,A,B,C,D,E,F,灭,p.,-;*;子程序区;ADD01: MOVA, R0DEC R0SWAPAORL A, R0ADD A, #01HDA AMOV R2,AANL A, #0FHMOV R0, A MOV A,R2ANL A, #0F0HSWAPAINC R0MOV R0, ARETCLR00: MOV R0, #00HDEC R

42、0MOV R0, #00HRET;键扫描子程序KEY:LCALL KEYCHULI;调P1口数据处理子程序JZ EXIT;没有键按下,转返回LCALLDISP;调显示子程序去抖动LCALLDISPLCALL KEYCHULI;调P1口数据处理子程序JZ EXIT;没有键按下,转返回 MOVB,20H;保存取反后的键值KEYSF:LCALLKEYCHULI;调P1口数据处理子程序JZKEY1 ;键释放,转恢复键值LCALLDISPLCALL DISP ;调显示子程序延时LJMPKEYSF;等待释放KEY1:MOV 20H,B;键值送20H保存EXIT:RET ;子程序返回;P1口数据处理子程序K

43、EYCHULI:PUSHPSW;保护现场CLR RS1 ;改变当前寄存器组为组1SETB RS0MOV P1,#0FFH ;先向P1口写1MOV A,P1 ;读P1口数据CPL A ;P1口数据取反MOV 20H,A ;保存取反后的键值CLR RS1 ;恢复当前寄存器组为组0CLR RS0POP PSW;恢复现场RET ;子程序返回;显示子程序;入口:78H,79H,7AH,7BH,7CH,7DH,7EH,7FH, DISP: PUSHDPHPUSHDPLPUSHACCPUSHPSWCLR RS1 ;改变当前寄存器组为组1SETBRS0MOV R1, #78H;显示缓冲存储单元首地址MOV R

44、2, #0FEH ;从右至左显示MOV R5, #08H ;循环次数,即驱动数码管的位数 DISP1: MOVA, R1MOVDPTR, #TABMOVCA, A+DPTRMOVP0, A ;送段控MOVP2, R2 ;送位控LCALLDL ;延时1毫秒MOVA,R2 ;位控码送ARLA ;获得新的位控码MOVR2, A ;保存新的位控码INCR1 ;获得新的显示缓冲单元地址DJNZR5,DISP1 ;循环没有结束则继续 DISP2:POPPSW;恢复当前寄存器组的组号POPACCPOPDPLPOPDPHRET;延时1ms子程序(晶振频率12MHz)DLDL:MOVR7, #02HDL1:MOVR6, #0FFHDL2:DJNZR6, DL2DJNZR7, DL1RETEND附录4 元器件清单元器件名称型号数量单片机AT89S521片芯片座40脚1个四位一体数码管共阳极/共阴极2个晶振12M1个瓷片电容33pf2蜂鸣器5V1个电阻4.7K1个电阻1K3个电阻47024个电阻2001个电容22uf1个三极管S85509个排阻10K2个LED指示灯红9个单排插针8脚4排下载口10针1个温度传感器18B201个六脚开关1个

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!