数字秒表毕业论文--修改完成稿--格式修改完成稿.doc

上传人:del****i11 文档编号:81820959 上传时间:2023-03-24 格式:DOC 页数:25 大小:192KB
返回 下载 相关 举报
数字秒表毕业论文--修改完成稿--格式修改完成稿.doc_第1页
第1页 / 共25页
数字秒表毕业论文--修改完成稿--格式修改完成稿.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《数字秒表毕业论文--修改完成稿--格式修改完成稿.doc》由会员分享,可在线阅读,更多相关《数字秒表毕业论文--修改完成稿--格式修改完成稿.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数 字 秒 表 设 计第 24 页 共 25 页1引 言11.1秒表及其发展现状11.2设计目的及意义11.3设计内容11.4课题设计要求12 方案论证12.1 显示单元12.2主控制部分22.3 系统方案23 器件的概述及选择33.1单片机的选择33.1.1 AT89C51单片机性能介绍33.1.2单片机最小系统83.2 LCD模块概述93.2.1 LCD的分类93.2.2 LCD模块的引脚93.2.3 寄存器的选择及显示地址103.2.4 LCM控制指令114 硬件设计144.1单片机电路设计144.1.1复位电路144.1.2时钟振荡电路144.2液晶显示模块电路设计154.3报警电路设

2、计154.4系统硬件设计165 软件设计165.1 软件设计环境165.2 LCD液晶模块程序设计186系统调试216.1 测试仪器216.2软件调试216.3硬件测试22结论22致谢23陕西理工学院毕业设计1引 言1.1秒表及其发展现状时间是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。测量时间的基本方法是使用秒表直接测量。其中秒表的精度是人们最关心的,这就要求它的计时最小单位足够小,显示模块的灵敏度足够高。目前人们所能测量的最小计时单位是毫秒级。1.2设计目的及意义本设计要使时间的测量准确,就必须使系统有更小的计时单位和更灵敏的按键。本设计还加入了报警电路,每次清零

3、都会报警。设计采用的元件功能较强,省去了很多复杂的电路降低了设计成本 1.3设计内容本课题是基于单片机的数字秒表系统设计,其利用单片机作为系统的主要控制器,通过单片机自身的定时计数器溢出标志产生最小计时单元,经过变量的累加和判断后,将数据送入液晶屏显示。在本课题当中所研究的主控制和数据处理两个单元用AT89C51单片机来实现。1.4课题设计要求课题需要以MCS-51系列单片机为核心,结合外围电路,制作一款时间参数测量系统。具体要求如下: (1)提出基于单片机的时间测量系统实现方案。 (2)制作完整的硬件电路图并编写完整的源程序,实现时间参数的测量。 (3)误差要求小于1%。2 方案论证时间测量

4、系统主要有两个共同的组成部分:计时最小单位的产生和数据处理及显示。所以显示和主控两个单元的选择和设计就成了该系统设计当中关键的两个部分。2.1 显示单元方案一:此方案采用LCD数码管显示测量结果。LCD数码管显示器由8个发光二极管中的7个长条形二极管(称七笔段)按a、b、c、d、e、f、g顺序组成八字形,另外一个点形的发光二极管dp 放在右下方,用来显示小数点。它具有反映速度慢、能耗高、硬件连接复杂、占用外围空间大、显示内容单一的特点。显示时用扫描每个数码管,同时逐一点亮的方法进行显示。方案二: 此方案测量结果的显示采用LCD液晶模块。利用液晶的物理特性,液晶屏的显示是通过电压控制的,当有电通

5、过时,液晶屏便会显示图形,这就是液晶显示的原理。此方案的主要优点是:图片显示的质量高、能量消耗低、体积较小、重量轻等优点。2.2主控制部分方案一:此方案采用数字电路实现。数字电路具有占用硬件电路复杂、只能驱动数码管和其它简单的外围电路、产生的最小计时单元误差大。方案二:此方案利用八位单片机AT89C51来实现功能。单片机有诸多优点,我们可以利用所学的编程知识,来实现我们所想要的算术的算法和逻辑的控制,且单片机适用大多数编程语言,因而编程的自由度也较大。并且单片机实现起来比较简单,安装方便和体积较小等优点。由于我们所选用的AT89C51单片机已经在工业生产当中得到广泛应用,应用技术相对成熟,能够

6、很好地通过编程技术来实现对外部功能模块的控制。2.3 系统方案综上所述,显示单元以及主控部分都采用第二方案。实际采用电路方框图如图41所示此多点温度测量电路主要由以下几部分组成:控制器单片机AT89C51、显示单元LCD液晶显示器、开关选择电路、报警电路、电源电路等。单机片AT89C51液晶显示器报警电路按键电路图2.1 系统设计方框图3 器件的概述及选择3.1单片机的选择3.1.1 AT89C51单片机性能介绍AT89C51是单片机的一种型号,是带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)

7、的低电压,高性能CMOS8位微处理器。该单片机之所以能够兼容大部分工业标准的MCS-51指令集和输出管脚,因为本器件的制造技术采用高密度的不易丢失保存的ATMEL制成。AT89C51是由ATMEL制成的非常高效的微型控制器件,由于在单个的芯片中,是由闪烁存储器和8位的多功能CPU组合而成,因而在工业生产当中的嵌入式控制系统具有了灵活、高效、廉价的优点。 1所选单片机的主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程低

8、功耗的闲置和掉电模式串行通道片内振荡器和时钟电路2管脚说明: VCC:供电电压。 GND:接地。 P0口:PO口有8个引脚,8TTL门电流可被每个引脚通过。PO之所以能够被定义为数据/地址的第八位,是因为它能够用于外部的程序数据存储器。高阻输入是PO口管脚第一次写1时实现的。当PO口是源码的输入口时,是用FIASH编程的;当PO口是源码的输出口时,但外部的PO口必须被拉高,并且用FIASH来进行校验。 P1口:P1口也是有8个引脚,4TTL门电流能够被该I/O口的缓存器接收和输出,且该双向8位I/O口提供上拉电阻的功能。当P1口的管脚能够用于输入电流时,是因为当P1口有的管脚被写入1时,将被内

9、部强制拉为高。当P1口的管脚能够用于输出电流时,P1的管脚写入1时,将被内部拉为高,外部拉为低,这样便可用于输入电流。当我们进行FLASH编程和校验时,P1口是作为第八位地址接收的。 P2口:P2口的8个引脚是双向I/O口,且内部为上拉电阻,4个TTL门电流可以被该I/O口的缓存器接收和输出,当P2口的管脚用于输出电流时,是因为管脚写入1时,管脚的内部的上拉电阻被拉为高。当P2口的管脚能够输入电流时,管脚被写入1的情况下,管脚外部被拉为低来实现的。P2口输出高八位的地址时,是用外部存储器进行存取实现的。P2口能够输出寄存器的内容的主要原因是,当地址为高电平时,能够利用管脚的内部上拉功能,对外部

10、的8为地址存储器进行读写。在我们进行FLASH编程和校验时,P2口能够对高八位的地址和控制信号进行接收。 P3口:P3口的8个引脚是双向I/O口,且内部为上拉电阻,4个TTL门电流可以被该I/O口的缓存器接收和输出。当P3口管脚用于输入时,在被写入1的情况下,内部被上拉为高电平,实现该功能。当P3口管脚用于输出时,是外部被拉为低电平的缘故。在AT89C51单片机中,P3口的I/O口也有一些特殊的功能,如下表所示:口管脚 备选功能3.0 RXD(串行输入口)3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5

11、T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口也可以为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当实现振荡器的复位输入功能时,必须对RST引脚的两个机器高电平时间进行保持。 ALE/PROG:该引脚的功能是,当对外部存储器进行访问时,所允许的输出电平的地位字节用于在锁存地址。在正常运行时,ALE引脚能够用于输出外部脉冲或者定时功能,因为该ALE引脚的频率为振荡器频率的1/6,且输出的正脉冲信号的频率始终保持不变。但是当用于外部存储器时,ALE脉冲将会被跳过一个,如果想禁止该输出功能,需在SFR8EH地址上置0。在这种情

12、况下,ALE想要起作用,只有在MOVX、MOVC指令执行。此外,当ALE引脚被拉高时,外部对其执行禁止时,置位不起作用。 /PSEN:该引脚作为选通信号主要用于外部程序存储器。机器周期两次/PSEN有效是在外部程序存储器取指期间实现的;当我们进行外部存储器的访问时,该功能将不会实现。 /EA/VPP:/EA的高、低电平不同,对引脚作用也有所不同,当为高电平时,在此时为内部程序存储器。当为低电平时,不管有没有内部程序存储器,在此时都为外部程序存储器。在我们进行FLASH编程时,次引脚接入12V的电源。 XTAL1:该引脚主要用于内部时钟工作电路和反向振荡放大器的输入。 XTAL2:该引脚用于反向

13、振荡器的输出。 3振荡器的特性: 反向震荡放大器的输入和输出功能主要通过XTAL1和XTAL2两个引脚来实现的。不同的驱动条件,两个引脚接法也略微不同,当由外部时钟源驱动时,XTAL2引脚不接,虽然对该驱动器件脉宽没有要求,但必须保证所要求的脉冲宽度,这是因为有些脉冲将会输入到内部时钟信号,这些信号要通过一个二分频触发器。 4芯片擦除: 擦除主要在PEROM阵列和三个锁定位中,它的实现首先要保证控制信号的正确组合,并让ALE引脚处于10ms的低电平。当代码阵列全部被写成1时,如果有非空存储字节被重复编程时,芯片擦除操作将必须进行。 此外,AT89C51单片机有稳态逻辑的特性,甚至在零频率下也有

14、此功能。在掉电的情况下,振荡器就会被冻结,同时RAM当中的内容也会被保存并冻结,其它芯片的功能也会被禁止,纸质下一硬件复位。在闲置的情况下,虽然CPU会停止工作,但是计数器、定时器、终端系统和串口仍在继续工作。5.特殊功能寄存器MCS-51单片机内的锁存器、定时器、串行口数据缓冲器以及各种控制寄存和状态寄存器都是以特殊功能寄存器的形式出现的,它们分散地分布在内部RAM地址空间范围,(1)A累加器特殊功能寄存器最常用的为累加器,累加器A或A、B寄存器对中的运算指令的结果主要有加、减、乘、除。A作为指令系统的助记符。自累加器主要用于单操作指令,而大多双操作数指令的其中一个操作数用自累加器。(2)B

15、寄存器在乘、除指令中常用的为B寄存器。在操作乘指令时,A、B分别表示两个操作数,最后的结果存于该两个指令AB寄存器对中。在操作除指令时,A为被除数,B为除数,操作完之后,结果的商存于A中,余数存于B中。在其它指令中,B寄存器可作为RAM中的一个单元来使用。(3)程序状态字PSW程序状态字为一个8位的寄存器,它包括程序状态信息。此寄存器各位的含义参见图2-8,其中PSW1未用。表3.1 状态字PSWCYACF0RS1RS0OV-P CY(PSW7)进位标志该位被称为位累加器时,是在布尔处理机的情况下。通常在我们进行算术或者逻辑指令时,该位会被一些软硬件清零或者置位,该位的重要性相当于一般中央处理

16、机中的累加器A。 AC(PSW6)辅助进位标志AC之所以被硬件置位,是当我们进行加、减操作指令时,由低4位向高4位进行进位或借位操作时发生的,否则就被清零。AC被用于BCD码调整。详见DA A指令。 F0(PSW5)用户标志位F0是用户定义的一个状态标记,用软件来使它置位或清零。该标志位状态一经设定,可由软件测试F0,以控制程序的流向。 RS1,RS0(PSW4,PSW3)寄存器区选择控制位寄存器工作区的确定我们可以通过软件的置位或清零来实现。RS1,RS0与寄存器区的对应关系见表2-3。 OV(PSW2)溢出标志:溢出状态是在我们执行算术指令操作时,由硬件置位或清零来实现的。当进行ADD加法

17、指令时,溢出标志0V置位时,是在6位向7进位,但7为不向CY进位或者6不向7位进位,而7位向CY进位情况下发生的,否则清零。当进行DIV除法指令时,溢出标志会跟着除数的不同而受影响,当除数为零时,OV=1,否则OV=0。当溢出标志对带符号的数进行加减算术运算时,常用ADD和SUBB两个指令来进行。如果OV=1,说明A寄存器所带的符号数(-128-+127)的范围不在所进行的加减运算的结果中。如果OV=0,说明只需要从A寄存器中取得乘积便可,反之可从A、B寄存器中取得。 P(PSW0)奇偶标志奇偶标志主要是表示累加器A当中1位数的奇偶性,它主要通过硬件的置位或清零来实现的。当P置1时,说明累加器

18、A中1位为奇数,若置0,说明为偶数。奇偶标志主要作用是奇偶校验,这样可以对串行信息中的数据进行检验,这对数据的传输有重要的意义。利用奇偶标志的作用,可以对发送端的数据进行置位或者清零。(4)栈指针栈指针的简称为SP,它是特殊的8位寄存器。它规定内部RAM为出栈顶部的位置。当我们进行系统复位时,栈指针SP的初始化07H单元,但实际上是从08H单元开始的。可是工作寄存器区的单元包括08H-1FH,在我们进行程序设计时会用到这些单元区域,为了避免冲突,尽量把栈指针SP的值改的大写,比如1FH或更大,把SP初值改的小些,这样堆栈深度就会越深,越容易用软件进行改变,这样堆栈内部RAM的位置也会比较灵活。

19、除了最常用的用软件直接改变栈指针SP的值,我们还可以在进行PUSH、POP指令时,中断响应,中断返回,子程序的调用等指令时,此时,栈指针SP的值也会自动调整。(5)数据指针数据指针可用DPTR来表示,它是一个特殊功能的16位的寄存器,DPTR可以用DPH来表示它的高位字节,用DPL来表示它的地位字节,因而,我们可以它看成DPH和DPL两个8位的独立寄存器;也可以看成为16位的数据指针来处理问题。数据指针DPTR主要作用是存放16位地址,但对64KB外部存储器寻址时,就变为了间址寄存器。MOVX A,DPTR和MOVX DPTR,A这两个指令常用于传送功能。数据指针DPTR用作基址寄存器,是在我

20、们访问程序存储器时发生的。3.1.2单片机最小系统 最小系统就是单片机在发挥具体测控功能时所必须的组成部分。其框图如图3.1所示。微 型单 片机复位电路电源输入输出电路振荡电路图3.1 单片机最小系统框图3.2 LCD模块概述 3.2.1 LCD的分类LCD可分为两种类型,一种是字符模式LCD,另一种是图形模式LCD。其中字符模式LCD是点阵型液晶显示器,专门用来显示字母,数字,符号等。由于LCD的控制需要专门的驱动电路,一般不会单独使用,而是将LCD面板、驱动与控制电路组合成LCD模块(Liquid Crystal Display Moulde,简称LCM)一起使用。目前常用的有16字*1行

21、,16字*2行,40字*1行,40字*2行等字符模块。这些LCM虽然显示字数不同,但都有相同的输入/输出界面。3.2.2 LCD模块的引脚下面介绍常用的20字*2行(简称20*2)字符模块。图3.2 LCD模块引脚图表3.2 LCD模块引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据8D1数据16BLK背光源负极6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极3.2.3 寄存器的选择及显示地址1寄存器的选择LCD内部主要有两

22、个寄存器,指令寄存器(IR)和数据寄存器(DR)。微控制器传来的指令代码主要存放指令寄存器(IR)中,而即将要显示的数据主要存放在数据寄存器(DR)中。DD RAM特殊寄存器,主要用于显示数据,在本课题中用于显示LCD的数据;CG RAM为字符产生器,主要对自己设计的5*7点图形的数据进行显示和存放。数据显示的顺序为,IR中写入欲存放的数据,然后这些数据成为欲显示的数据再写入DR,这样DR就会自动把这些数据送入所对应的DD RAM或CG RAM地址。当我们选择指令寄存器(IR),RS应为0;当数据寄存器(DR),RS应为1。如果数据写入LCD控制器,则需要R/W=0;如果LCD控制器读取数据时

23、,则需要R/W=1。E:高电位使能信号线。表3.3 LCD指令寄存器和数据寄存器的选择ER/WRS功能说明100写入命令寄存器101写入数据寄存器110读取忙碌标志及RAM地址111读取RAM数据0XX不动作2.显示器地址表3.4 LCD模块显示地址 1234567891080818283848586878889C0C1C2C3C4C5C6C7C8C9111213141516171819208A8B8C8D8E8F90919293CACBCCCDCECFD0D1D2D33.2.4 LCM控制指令LCM提供了11项指令,如表3.5所示:表3.5 LCM控制指令序号指令RSRWD7D6D5D4D3

24、D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001IDS4显示开/关控制0000001DCB5光标或字符移位000001SCRL*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容在本课题中对1602液晶模块指令编程的实现都是通过读写操作、屏幕和光标的操作(说明:0为低电平、1为高电平)指令1:01H为其指令代码,指令功能为显示“清”,并且使光标

25、位置复位到00H。指令2:该指令作用使光标回到地址00H,即光标复位。 指令3:光标和显示模式设置 I/D:当为高电平,光标右移,反之为低电平,光标左移。而屏幕文字的左右移动,当为高电平时才能发生,低电平时无效。 指令4:显示开关的控制。B:光标的闪烁由高低电平决定,高则闪烁,低则不闪烁。C:光标有无的控制也由高低电平决定,高则显示光标,低则没有光标。D:整体显示的开关控制由高低电平决定,高则为开,低则为关。指令5:光标或显示移位 S/C:文字的移动是在高电平时发生的,而光标的移动是在低电平时发生的。 指令6:功能设置命令 DL:4位总线是在高电平时,而8位总线是在高电平时。N:屏幕的双行显示

26、是在高电平时,屏幕的单行显示是在低电平时。F:5*10的点阵字符是在高电平时显示,5*7的点阵字符是在低电平时显示。指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号BF:忙的情况为高电平,此时指令或者数据不被模块接收,而低电平则为不忙。 指令10:写数据。 指令11:读数据。 4 硬件设计 4.1单片机电路设计4.1.1复位电路考虑到设计要求,本设计中的复位电路集手动复位及上电自动复位于一体。1)实现自动上电复位需要满足三个条件:有外部复位电路、电容C1处于充电状态、电源VCC上升的时间不超过1ms。2)通过复位端用电阻与电源的接通可以实现手动复位的功能。自动

27、上电复位原理图如图3.1所示:图4.1 上电复位原理图4.1.2时钟振荡电路考虑系统运行速度,采用12MHZ的石英晶振,并使用两个小电容作为微调电容。时钟振荡电路图如图3.2所示:图4. 2 时钟振荡电路图4.2液晶显示模块电路设计LCM1602的D0 D7分别接单片机的的P0口,作为数据线,因为P0口内部没有上拉电阻,所以外部另外加上10K的上拉电阻;P2.4P2.6分别接LCD的RS、RW、E三个控制管脚;R2用来调节LCD的显示灰度;BLK、BLA为背光的阴极和阳极,接上相应电平即点亮背光灯。液晶显示模块电路图如图3.3所示:图4.3 液晶显示模块电路图4.3报警电路设计本系统的蜂鸣器报

28、警电路图如图3.4所示,蜂鸣器用一个三极管0913来驱动.单片机引脚P2.0接0913的基极输入端.当P2.0输出高电平1时,三极管导通,蜂鸣器两端获得约+5V的电压而鸣叫;当P2.0输出低电平0时,三极管截止,蜂鸣器停止发声。图4.4 蜂鸣器报警电路图4.4系统硬件设计电路图由单片机AT89C51、LCM1602液晶显示模块、复位电路、振荡电路、报警电路等几部分组成。其中单片机AT89C51是核心,主要功能是产生时钟信号,然后控制显示模块进行显示。硬件的电路图如图3.5所示:图4.5 硬件的电路图5 软件设计5.1 软件设计环境KeilC51是51系列兼容单片机C语言软件开发系统。 Keil

29、C51软件可以给用户提供便于操作的Windows界面,并能够提供用户所需的库函数和集成开发调试工具。并且该软件所生成的目标代码容易理解,效率非常高等优点。汇编语言有执行效率高的优点。在此次毕业设计中我采用汇编语言程序。本课题选用ISIS系统作为单片机软件的仿真,最主要的优点是能够支持单片机,且能够仿真大多数电路和IC,操作方便,简单易学,仿真结果真实可靠。该软件的特点:首先该软件系统能够我们所要仿真的要求,并达到了仿真标准,优点由于其它同类软件。此外,该软件具有多种仿真功能,比如:模拟电路的仿真、数字电路的仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试

30、器、键盘和LCD系统仿真的功能。而且,该软件能够支持大部分单片机型号,比如: 68000系列、8051系列、AVR系列、PIC12系列、PIC16系列以及各种外围芯片。最后,该软件是一款难得的多功能,分析与仿真于一体的软件。2.十进制计数处理子程序流程图如图5.4所示:设置被除数10开始将数据除以十数据写入屏幕保存余数和商结束图5.4 计数处理子程序流程图程序如下:SKOW_LINE2: MOV B, #10 ;设置被除数 DIV AB ;结果A存商数,B存余数 PUSH B ;B压入堆栈暂存 MOV B, X ;设置LCD显示的位置 ACALL LCDP2 ;由LCD显示出来 POP B ;

31、出栈 MOV A, B ;B为个数位 INC X ;LCD显示位置加MOV B, X ;设置LCD显示的位置 ACALL LCDP2 ;由LCD显示出来 RET5.2 LCD液晶模块程序设计1.LCD液晶模块初始化流程图如图5.5所示:设置功能八位两列初始化开显示屏光标显示设置模式结束图5.5 LCD液晶模块初始化流程图INIT_LCD: MOV A,#38H ;设置8行,2行,5*7点阵 ACALL WR_COMM ;调用写指令子程序 ACALL DELAY1 ;调用延时子程序 MOV A,#0CH ;开显示,光标不闪烁 ACALL WR_COMM ;调用写指令子程序 ACALL DELAY

32、1 ;调用延时子程序 MOV A, #01H ;清除LCD显示屏 ACALL WR_COMM ;调用写指令子程序 ACALL DELAY1 ;调用延时子程序 RET2.写指令流程图如图5.6所示:NYRS=0 RW=0 E=0WR_COMME=1结束忙碌?图5.6 写指令流程图WR_COMM: MOV P1, A ; CLR RS ;RS=0,选择指令寄存器 CLR RW ;RW=0,选择写模式 STEB E ;E=1,允许读或写LCM ACALL DELAY1 ;调用延时子程序 CLR E ;E=0,禁止读或写LCM RET3.写数据流程图如图5.7所示:NYRS=1 RW=0 E=0WR_

33、DATAE=1结束忙碌?图5.7 写数据流程图WR_DATA: MOV P1, A SETB RS ;RS=1,选择数据寄存器 CLR RW ;RW=0,选择写模式 SETB E ;E=1,允许读或写LCM ACALL DE ;调用延时子程序 CLR E ;E=0,禁止读或写LCM ACALL DE ;调用延时子程序 RET4.判断忙碌程序流程图如图5.8所示:NLCD=FFHCHECK_BFRS=0 RW=1 E=0Y忙碌?E=1结束图5.8 判断忙碌程序流程图程序如下:CHECK_BF: MOV LCD, #OFFH ;此时不接受外来命令 CLR RS ;选择指令寄存器 CRL RW ;选

34、择读写寄存器 CLR E ;禁止读写 NOP ;延迟1ms STEB E ;允许读写 JB LCD.7,CHECK_BF ;忙碌循环等待 RET6系统调试6.1 测试仪器DS5102CA 100MHZ 双信道数字示波器一台DF17351SB5AB直流电源一台奔四3.0计算机一台万用表一块6.2软件调试本课题,通过软件的调试,即用软件的仿真功能对所编写程序实现的结果进行判断,及时的发现错误或硬件故障,并进行纠正,使最终结果趋于理论分析的结果。我们对所编写的程序应逐个模块进行调试,首先对某个模块编写的程序进行单独调试,检查最后的结果是否达到所预期的功能,并检查连入电路中的接口是否正确。最后再总体模

35、块考虑进行调试。当我们进行软件程序的编写和调试时,应该注意:1.子程序的名称不能一致;2.进行程序编写的语句中间的标点符号应在英文欢迎下输入,中文环境下的标点Keiil uVsion3编译软件不识别,会出现一些不易查找的问题,这一点需特别注意;三、当子程序间有值传递时,必须注意实参和形参的类型;四、程序要有尽量详细的注释,以便问题的查找和增强程序的易读性。我首先将编好的程序在Keiil uVsion3环境之中进行编译,第一次未通过,经过错误提示我发现是几处标点的格式为中文格式导致编译软件不能识别,还有一处丢掉了一个分号,改正之后就运行正常,最终生产了HEX文件。程序编写完毕,就可开始系统的仿真

36、调试,应该先采取软件仿真,确保整个程序无语法错误,排除逻辑错误及其他错误,然后开始硬件调试。软件仿真主要采用Keil和Proteus相结合的方式。在Proteus的库中将所需的元件调出按照硬件设计原理图将其连接好,将已生成的HEX文件加载入AT89C51之中,运行之后显示出了秒表的功能。6.3硬件测试先分别调试各功能单元模块,调通后再进行整机调试,以提高调试效率。调试过程如下:1AT89C51 这部分电路是系统的主要部分,接上电源后先用万用表测量单片机的20引脚是否为低电平,再测量40引脚和31引脚是否为高电平,正常后用示波器测量30引脚,看是否输出2M的方波信号,正常后说明单片机已起振。2显

37、示部分调试 执行液晶清屏和全部点亮等简单的操作,当调试成功后,再进行查表操作,往液晶里写数字和汉字,都成功后说明液晶部分已经可以控制。 3整机调试 各个部分都调通后,将各部分连起来调,检查是否能满足基本功能,这部分工作量较大,要注意软件上各个部分的衔接,是否有互相影响的因素,由于程序中用到了中断,要注意对现场的保护,还要考虑开关消抖时间是否合理。这时候硬件电路出错的可能已经比较小,但是也要注意各部分是否有互相影响的地方,要注意防止外界的干扰。4问题的出现和解决 当我把一切都调试好后,发现液晶屏还是没有信号的显示。经过查阅资料和请叫其他同学后,知道是没有给单片机连向液晶屏的端口接上拉电阻。补上后

38、显示正常。结论本课题所设计的基于单片机的数字秒表论文,硬件控制电路简单,能达到所预期要求的结果。选用AT89C51单片机,利用LCD液晶屏来进行显示。之所以选用选用本单片机,是因为其可靠性、稳定性、体积小、维护方便等优点。在设计的数字电路中采用定时器中断的计时,减小计时误差。本设计通过proteus软件进行设计调试和仿真,该软件能够满足电路的需求、仿真结果精确、调试方便,实现了电路与处理器仿真的结合,可以在大多数单片机和嵌入式系统中应用。虽然本设计基本上实现了预期的理论要求,但自身仍需要改进。比如:存储后的计时结果,没办法都区之后再进行显示;计时结果的精确度还不够高,存有一些误差;功能单一,浪

39、费硬件资源。通过本次毕业设计,不仅让我学到了许多理论只是,在实际操作中,与理论知识相结合,对我所学到的知识更加深刻。主要体现在以下四个方面: 1、通过本次设计让我对所学到的理论知识有了更好地理解,同时让我明白了仅仅有好的理论知识是远远不够的,还用通过实际的操作,来知晓理论知识在实际中实现的方法。并通过软硬件系统,对自己所编写的程序进行调试和仿真,及时发现错误,对自己所掌握理论知识有很大的检测作用。2、学会了要独立的通过查阅资料、运用所有工具对所要探索问题积极解决,明白了科学来不得半点马虎,一点的错误都会导致结果与预期结果的差异,对我以后的工作和生活也有很深的教育意义。3、失败并不可怕,只要顽强的站起来,不放弃,希望定会给你招手。本次毕业设计的成功,也是对自己四年来所学知识的肯定,也是对自己最好的毕业礼物。使我明白了只要努力学习和探索,最终的结果肯定会令你满意。4、通过这次毕业设计,大大的提高了我们的自主学习和认真思考的能力,对学术态度的严

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 其他报告

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁