郭振廷毕业设计.doc

上传人:飞****2 文档编号:62633814 上传时间:2022-11-22 格式:DOC 页数:56 大小:6.24MB
返回 下载 相关 举报
郭振廷毕业设计.doc_第1页
第1页 / 共56页
郭振廷毕业设计.doc_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《郭振廷毕业设计.doc》由会员分享,可在线阅读,更多相关《郭振廷毕业设计.doc(56页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、目 录摘要(1)前言(2)第一章 绪论1.1 课题的引入(3)1.2 Proteus简介(3)1.3 Keil简介(4)第二章 数字温度计的总体方案设计2.1 温度计的功能(5)2.2 方案论证(5)2.3 系统的总体设计(6)第三章 数字温度计的硬件设计3.1 单片机最小系统的设计(8)3.1.1 AT89C51简介(8)3.1.2晶振电路(8)3.1.3复位电路(8)3.2测温电路的设计(9)3.2.1单线技术(9)3.2.2 DS18B20简介(10)3.2.3测温电路(12)3.3 按键的设计(12)3.4显示电路的设计(12)3.5 Proteus绘制的电路图(14)第四章 数字温度

2、计的软件设计4.1 主控软件的设计(16)4.2 测温软件的设计(17)4.3 显示软件的设计(18)4.4 Keil的使用和Protues的仿真(20)第五章 系统的实现和调试5.1 软件的烧录(21)5.2 硬件焊接和调试(22)5.3 调试中遇到的问题及解决(23)第六章 结论 (24)参考文献(27)致谢(28)附录 系统源程序附件一附件二文献综述报告附件三附件四摘要本课题通过对DS18B20温度传感器的研究,结合51单片机和LCD,实现数字温度计的测温功能。论文重点阐述各功能模块的开发,硬件部分包括单片机最小系统的设计、测温电路的设计、按键的设计、显示电路的设计;软件部分包括主控软件

3、、测温软件、显示软件。关键词:DS18B20;51单片机;LCDABSTRACTIt is through the research of digital temperature sensor, which is based on DS18B20, with the combination of 51 SCM and LCD,to comply measurement function. In this paper, it puts great emphasis on the design of system, hardware design including CPU minimum sys

4、tem, temperature measurement circuit module, buttons and display output module; software components including main control software, temperature measurement and display softwares.Key words:DS18B20;51 SCM;LCD前言在日常生活及工农业生产的过程中,经常需要进行温度的测量,所以说温度是生产过程和科学实验中普遍而且重要的物理参数之一。温度计是测温仪器的总称,可以准确的判断和测量温度。根据使用目的和原

5、理的不同,目前市面上有多种温度计,例如气体温度计、水银温度计、压力式温度计、热敏电阻感应温度计等等。随着现代科学技术的发展和对于测温精度和范围要求的提高,传统的温度计已经不能够满足这些要求,于是数字式的温度计的就此诞生了。数字温度计主要由微处理器和温度采集装置组成,可以根据人们的要求,广泛应用与各个方面。同时,作为各种信息的采集、转换的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,已经应用于工农业生产和日常生活的各个方面。本次设计就是为了满足人们在生活中对温度测量方面的需求。本文的内容主要分为以下几个部分:第1章 引入课题背景,简单介绍Pro

6、teus与Keil。第2章 主要分析系统设计思路及整体结构。第3章 系统硬件分为单片机最小系统、测温电路、按键、显示电路,并对各个硬件模块的功能、器件组成进行叙述。第4章 系统软件分为主控软件、测温软件、显示软件,并对各模块的设计思路、流程图及程序进行了描述。第5章 说明系统的焊接、调试以及实现的过程。第6章 毕业设计的结论。第一章 绪论1.1 课题的引入随着科学技术的发展和日常生活的需要,测温技术也不断地改进和提高。一般家用温度的测量也从传统的水银温度计转变为数字温度计。数字温度计采用温度敏感元件,也就是温度传感器,将温度的变化转换成电信号的变化,这个电信号可以通过A/D转换电路将模拟信号转

7、换为数字信号,再送给处理器处理,成为可以显示出来的温度数值,这样就完成了数字温度计的基本测温功能。数字温度计的核心器件是单片机。单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统。本设计主要使用单片机和温度传感器DS18B20相结合的方法来实现温度的采集处理。以AT89C51芯片为核心,结合温度传感器DS18B20和LCD液晶显示器及必要的外围电路,组成一个数字温度计,达到实时检测周围温度的目的。1.2 Proteus简介Proteus是英国Labcenter electronics

8、公司出品的EDA仿真软件,如图1-1,它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。该软件的特点是:1实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2支持主

9、流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。3提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision3等软件。4具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大2。图1-1 Proteus的工作界面1.3 Keil简介Keil是美国Keil So

10、ftware公司出品的51系列兼容单片机C语言软件的开发系统,操作界面如图1-2。单片机开发中除了必要的硬件以外,同样离不开软件的支持。Keil软件提供丰富的库函数和功能强大的集成开发调试工具,包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起,全Windows界面,容易使用。将汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已很少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,提供给单片机。更为重要的一点,编译后生成的汇编代码的效率非常的高,语

11、句生成的汇编代码也很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil软件常与Proteus仿真软件相配合使用。图1-2 Keil的工作界面第二章 数字温度计的总体方案设计2.1 温度计的功能(1) 可以测量当前环境下的温度。(2) 测温范围在55 125,误差在05以内。(3) 通过按键的切换,可将温度和ROM代码显示在LCD上。2.2 方案论证1方案的论证根据数字温度计题目的要求,提出以下几种方案:(1)方案一如图2-1,本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数

12、据的处理,通过显示器就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较复杂。因此,我们引出第二种方案。温度传感器A/D转换处理器显示输出图2-1(2)方案二如图2-2,我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以使用美国DELLAS半导体公司的DS18B20数字温度传感器来采集温度,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,而处理器采用ATMEL公司生产的AT89C51单片机,两者用串行方式传输数据,最后显示在LCD显示器上。这样就可以满足设计要求。AT89C51单片机DS18B20 温度传感器按键LCD显示器电源图2-22两种方案

13、的比较(1)控制部分方案一的控制部分虽然简单,但是可控性不如方案二的51单片机。单片机可以通过智能编程的方式,可以进行扩展,而且能够具有超温报警和自动控制功能。而方案一没有采用控制,直接把温度显示出来就完了。这样就只能完成对温度的显示。(2)传感部分方案一可以选择热敏电阻和其它的传感器。在本设计中我们选择了DS18B20,虽然这种传感器成本较高,但是它的硬件比较简单,而且测量温度范围比较广(-55+125),精度可达到0。0675,最大转换时间为200ns,所以选择它比较合适。(3)显示部分方案一可以采用一种将十进制转换成七段码的ADC,这种方案很简单,但是它的可控性很差,只能进行显示。方案二

14、采用了1602A液晶显示器,可以自己编写所需程序代码,通过单片机内部运算之后显示出来,并且外观美观,布线简单。3系统最终设计方案综上各方案所述,对此次毕业设计的方案选定: 采用AT89C51作为主控芯片;1602A液晶显示器作为显示装置;温度传感器DS18B20作为测温电路的主要组成部分。至此,系统最终方案确定。2.3 系统的总体设计本设计采用AT89C51单片机作为控制核心,最小系统包括晶振电路和复位电路;显示电路核心是1602A字符液晶显示器,同时通过按键的切换,可以分别将温度数值和ROM代码显示出来;测温电路采用DS18B20温度传感器;此外由5V直流稳压提供电源。系统的总体设计框图如图

15、2-3。AT89C51单片机复位电路晶振电路按键切换温度传感器液晶显示器电源图2-3系统的总体设计框图第三章 数字温度计的硬件设计数字温度计的硬件部分主要由单片机最小系统、按键切换、测温电路和显示电路组成。本章着重介绍硬件的设计原理和各个模块的功能组成。3.1 单片机最小系统的设计 单片机最小系统是启动单片机的必要条件,没有最小系统,单片机就无法工作,它主要由晶振电路和复位电路组成。3.1.1 AT89C51简介AT89C51单片机是美国Atmel公司生产的低电压,高性能CMOS 8位单片机,片内含有4K字节的可反复擦写的只读程序存储器(PEROM)和128字节的随机存取数据存储器(RAM),

16、它可以与MCS-51产品指令系统完全兼容,功耗低,应用范围广泛。3.1.2 晶振电路晶振是给单片机提供工作信号脉冲的, 单片机执行各项指令/动作,都是按照这个信号脉冲来完成的,这个信号脉冲就是单片机的工作速度。12M晶振的作用是提供12MHZ的频率。晶振电路如图3-1,其中电容为22pF,主要目的是滤波,这样可以使得晶振输出的波形更加平滑,方便给予单片机适用的信号。引脚分别连在XTAL1(19脚)和XTAL2(18脚)上。此外在P1.7口(8脚)处连接一个LED灯,通过灯闪烁指示晶振是否起振。图3-1晶振电路3.1.3 复位电路复位是单片机的初始化操作,单片机执行取址等操作都是从寄存器的某一位

17、置开始执行的,复位就是告诉单片机刚开始工作时的地址在哪里,其作用是使CPU中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。当51单片机的RST引脚为高电平时,单片机复位。51单片机的复位电路有上电复位和手动按钮复位两种,RST端直接接5V电源瞬间产生高电平为上电复位;通过按钮产生高电平称为手动按钮复位。本设计采用手动复位,如图3-2,复位电路分别由一个按键、10K的电阻和10uF的电容组成的。电容的作用是在复位按键按下又松开后,给单片机的复位脚提供一个短时的高电平复位信号;电阻的作用是是复位按键未接通时,使单片机的复位脚保持低电位以免被意外复位。图3-2复位电路3.2 测温电路的设

18、计3.2.1单线技术目前,常用的微机和外设之间数据传输的串行总线有I2C总线、SPI总线等,其中I2C总线采用同步串行双线(一根时钟线,一根数据线)方式,而SPI总线采用同步串行三线(时钟线,输入线,数据输入线)方式。这两种总线需要至少两根或两根以上的信号线。美国达拉斯半导体公司推出了一项特有的单线技术。该技术于上述总线不同,它采用单根信号线,即可传输时钟,又能传输数据,而且数据传输时是双向的,因而这种单线技术具有线路简单,硬件开销少,成本低廉。便于扩展的优点。单线技术适用以单主机系统,单主机能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单线器件,它们之间的数据交换,控制都由这根线

19、完成。主机和从机之间的通信主要分为三个步骤:初始化单线器件,识别单线器件和单线数据传输。由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能应答,主机访问每个单线器件都必须严格遵循单线命令序列,从机遵守上述三个步骤的顺序。如果命令序列混乱,单线器件将不会响应主机。所有的单线器件都有遵循严格的协议,以保证数据的完整性。单线协议有复位脉冲,其他均由主机发起,并且所有命令和数据都是字节的地位在前。3.2.2 DS18B20简介DS18B20是美国DALTAS公司生产的一种数字式温度传感器, DS18B20是典型的单线技术器件,单根信号线既传输时钟,又可双向传输数据。DS18

20、B20采用3引脚封装形式。在3个引脚中,GND是接地引脚,DQ是数据输入输出引脚,VDD是可选择的引脚,当工作于寄生电源时,此引脚必须接地。DS18B20的内部结构包括寄生电源、温度传感器、64位ROM和单线接口、存放中间数据的高速暂存器、用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器。64位ROM开始的8位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后8位是前面56 位的CRC 检验码,这也是多个DS18B20可以采用一线进行通信的原因。DS18B20的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM

21、。高速暂存RAM的结构为8字节的存储器,结构如图3-3。高速暂存RAM字节温度高位字节0温度低位字节1非易失性可电擦除EERAMTH2THTL3TL配置字节4保留字节5保留字节6保留字节7CRC字节8图3-3其中,前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率,可以通过相应的写命令进行配置,DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、

22、2字节。单片机可通过单线接口读到该数据,读取时低位在前、高位在后,数据格式以0.0625/LSB形式表示。温度值格式如图3-4。低232221202-12-22-32-4高SSSSS262524MSB LSB图3-4这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。格式中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S

23、=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07D0H, -55的数字输出为FC90H。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若不在范围内,则将该器件内的告警标志置位,并对主机发出的告警搜索命令。在64位ROM存储有循环冗余校验码(CRC),主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确7。3.2.3测温电路DS18B20采用一种片上温度测量技术来测量温度。DS18B20的DQ脚,也就是输入/输出引脚与单片机13号脚相连,用来数据的

24、传输,测温电路如图3-5。图3-5测温电路3.3 按键的设计P1口是一个8位双向I/O口。本次设计使用2个按键,如图3-6,定义P1.0口为显示当前温度(DS18B20测量所的),P1.3为显示内部的ROM代码,二者可以切换使用,数值将在LCD上显示出来。图3-6 按键的连接3.4显示电路的设计在本次设计中采用1602A液晶显示器。这种显示器成本低廉,可以灵活配置,与单片机连接方便。单片机P0口与1602A的D0D7端(714号脚)连接,用于数据的双向传输,同时接上排阻,可以确保线路的稳定性,使LCD能够正常显示。单片机P1口作为1602A的控制线,P2.0P2.2分别接1602A的RS、RW

25、和E端(46号脚),其中RS为寄存器选择(高电平时选择数据寄存器、低电平时选择指令寄存器),RW为读写信号线(高电平时进行读操作,低电平时进行写操作),E使能端(当E端由高电平跳变成低电平时,液晶模块执行命令)。此外,1602A的VDD和VSS、VEE端(13脚)分别接电源、地和10K的电位器,15脚接背光源正极,16脚接背光源负极。显示电路如图3-7。 3-7显示电路3.5 Proteus绘制的电路图使用Proteus绘制的电路图,如图3-8。图3-8 Proteus绘制的电路图第四章 数字温度计的软件设计整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来

26、了。数字温度计的软件主要由主控软件、测温软件和显示软件组成。4.1主控软件的设计主控软件是系统软件的核心,负责系统的协调和调度。单片机初始化后,启动DS18B20测量温度,并在LCD上显示出来。本系统主控软件的流程图可用图4-1来表示。选择K1键选择K2键初始化DS18B20是否成功?显示正忙显示ROM代码开始初始化51单片机初始化液晶显示器按键的选择DS18B20读取温度显示当前的温度值结束结束 N Y图4-1 主控软件的流程图主控软件的程序:void main()uchar mode=0;read_tempe();Initialize_LCD();Delay(50000);Delay(50

27、000);Delay(50000);while(1)LED=LED;Delay(1500);P1=0xFF;if(K2=0)Delay(1000);mode=1;else if(K1=0)Delay(1000);mode=0;switch (mode)case 0:read_tempe();ShowString(0,0, Current Temp );if(DS18B20_OK)ShowString(0,1, Temp: );disp_tempe();Write_LCD_Command(0xCE);Write_LCD_Data(0xDF);Write_LCD_Command(0xCF);Wri

28、te_LCD_Data(C);elseShowString(0,1,18B20 Is Busy.);break;case 1:ShowString(0,0, Rom Code );disp_rom_code();break;4.2测温软件的设计DS18B20是典型的单线器件,它在一根数据线上实现双向传输,这就需要一个工作时序,一般的步骤为:初始化数据处理温度读取1.初始化主机产生复位脉冲,然后释放总线,进入接收模式。主机释放总线时,会产生一个上升沿脉冲。DS18B20检测到该上升沿后,延时15至60us,通过拉低总线60至240us来产生应答脉冲。主机接收到从机的应答脉冲后,说明有器件在线。至

29、此,初始化完成。过程如图4-2:图4-2 DS18B20的初始化结束总线置1并延时0.4ms总线置0并延时4.5ms总线置1并延时0.4ms开始设置DQ延迟5ms总线置1初始化流程图如图4-3。初始化代码:uchar reset()uchar state;DQ=1;Delay(8);DQ=0;Delay(90);DQ=1;Delay(8);state=DQ;Delay(100);DQ=1;return state; 图4-3初始化流程图2.数据处理数据的处理是通过写和读来实现的。先看写时序,如图4-4。当主机将数据线从高电平拉至低电平时产生写时序。写时序必须在60us以上(即持续60us以上)

30、,每个写时序之间必须保证至少1us的恢复时间。DS18B20在DQ线拉低后的15us至60us的窗口时间内对DQ线进行采样,如果为高电平就写为“1”,如果为低电平就写为“0”。对于主机产生写“1”时隙的情况,数据线必须先被拉低,然后释放,在写时序开始后的15us内允许DQ线拉至高电平。对于主机产生写“0”时隙的情况,DQ线必须被拉至低电平且至少保持低电平60us的时间7。设置循环次数为8总线设置0并延时读取1位数据延时0.25ms8位数据是否读完?结束开始总线设置1并延时图4-4写时序写流程图如图4-5。写程序代码:void write_byte(uchar dat)uchar i;for(i

31、=0;i=1; N N 图4-5 写流程图再看读时序,如图4-6。当主机从DS18B20读数据时,把数据线从高电平拉至低电平,产生读时序数据线DQ必须保持低电平至少1us,来自DS18B20的输出数据在读时序下降沿后的15us内有效,因此在此15us内,主机必须停止将DQ引脚置低。在读时序结束时,DQ引脚将通过外部上拉电阻拉回至高电平。所有的读时序最短必须持续60us,各个读时序之间必须保证最短1us的回复时间。所有的读写时序至少需要60us,且每两个对立的时序之间至少需要1us的恢复时间。在写时序中,主机将在拉低总线15us内释放总线,并向DS18B20写“1”;若主机总线拉低后能够保持至少

32、60us的低电平,则向单总线器件写“0”。DS18B20仅在主机发出读时序时才向主机传送数据,所以当主机向DS18B20发出读数据命令后,必须马上产生读时序,以便传输数据7。设置循环次数为8总线置0并延时读取1位数据延时1.5ms总线置1并延时8位数据是否读完?结束开始图4-6 读时序读流程图如图4-7。读程序代码:uchar read_byte()uchar i,dat=0;DQ=1;_nop_();for(i=0;i=1;DQ=1;_nop_();_nop_();if(DQ) dat|=0x80;Delay(30);DQ=1;return dat; N图4-7 读流程图3.读取温度发送温度

33、转换命令初始化18B20成功?跳过ROM发送存储命令读温度结束DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。读取温度流程图如图4-8。开始设定DQ管脚初始化18B20成功?跳过ROM N N图4-8 读取温度流程图4.3显示软件的设计显示软件主要由显示子程序、使能脉冲子程序、写命令子程序、写数据子程序组成。显示子程序先判断累加器的内容是否为1,若为1,把1602A的DDRAM首行首列地址80H送入累加器A中,通过写命令子

34、程序把80H给1602A。累加器内容不为1,则把1602A的DDRAM第二行首地址0C0H送入累加器A中,通过写命令子程序把0C0H给1602A。即先指定显示数据应显示的位置,然后调用写数据子程序,把字符输出。显示子程序流程图如图4-9。使能脉冲子程序先设置E为1,延时500us,然后E清零,再延时500us,产生一个占空比为50%的使能脉冲信号。每次写命令或写数据时,必须调用该子程序才能完成相应的功能。使能脉冲子程序流程图如图4-10。累加器是否为1?#80HA#0C0HA调用写命令子程序调用写数据子程序开始结束1E延时0.5Ms0E延时0.5ms返回图4-9 显示子程序流程图图4-10 使

35、能脉冲子程序流程图写命令子程序完成一个命令由单片机写入LCD,本设计主要用来完成LCD显示地址的写入。先把显示地址送入P0,再设RS=0、WR=0,最后调用使能脉冲子程序,即把指定的显示地址送给了1602A。写命令子程序流程图如图4-11。写数据和写命令子程序结构相似,不同的是写数据子程序中送给P0口的是显示数据(字符或数字),1602A的状态设为RS=1、WR=0。写数据子程序流程图如图4-12。显示数据 P01RS ,0WR调用使能脉冲子程序返回显示地址 P00RS ,0WR调用使能脉冲子程序返回图4-11 写命令子程序流程图 图4-12 写数据子程序流程图4.4 Keil的使用和Prot

36、ues的仿真Keil的使用考虑到有很多的运算过程,在程序的编写上,我们采用C语言进行编写。将程序编写完成后,在Keil上进行编译,如图4-13:图4-13程序进行编译链接编译成功后生成的所有文件如图4-14。其中的.hex文件就是Protues仿真时所需要的二进制文件。图4-14 编译成功后生成的所有文件Protues的仿真点击图3-8中的51单片机,将编写好的.hex文件载入,按开始键进行仿真。仿真的结果如图4-15和图4-16:图4-15显示当前温度 图4-16显示ROM代码根据图4-15和图4-16仿真结果显示可知,设计的电路原理图是正确的,仿真过程一切正确,数字温度计的所有功能和要求都

37、全部可以实现。第五章 系统的实现和调试5.1 软件的烧录编写好完整的数字温度计程序后所生成.hex文件,可以用Proteus进行仿真,仿真程序正常并且功能全都实现,则将该.hex文件烧写进AT89C51单片机。烧录过程使用USBISP线和最小系统板,如图5-1和图5-2:图5-1 USBISP线实物图图5-2 最小系统板实物图将AT89C51单片机放置在最小系统板上,分别将USBISP的两头连接在电脑和最小系统板上。通过USBISP和最小系统板,结合配套软件Progisp,实现程序的烧录。单击图5-3所示的“调入FLASH”按钮,选择编译好的.hex文件,再点击“自动”按键,程序将自动烧入AT

38、89C51单片机;若要使用其他程序,点击“擦除”按钮,重复上一操作即可。图5-3 配套软件Progisp5.2 硬件焊接和调试硬件的焊接硬件焊接前首先检查硬件系统设计的正确性,其中包括器件参数选择和原理的正确性。确认无误后,在通用实验板上进行焊接,完成实物。线路的调试 调试包括断电调试和上电调试。断电调试主要是检查线路的正确性。在系统电路焊接完成后,使用万用表检查线路是否存在短路、虚焊、漏焊、有无漏接、选用器件有无损坏、检查芯片引脚有无接错等问题,检查无问题后,再进行上电调试。上电调试主要是检查系统的晶振电路和复位电路是否工作。系统正常运行的必要条件是系统晶振电路稳定正常,而实际情况中,因为各

39、种原因导致晶振不正常工作导致系统无法正常运行的情况时有出现。因此检查晶振电路是非常重要的,检查的方法主要是示波器法和万用表法。示波器法:输出的波形应为12MHz的脉冲方波。数字万用表法:用万用表分别测量单片机18、19脚的电压,读数应在2.5V左右。复位电路不正常也会导致系统不工作,例如,9脚(复位脚)如果始终为高,则系统始终处于复位状态;如果始终为低电平(不产生复位所需的高电平脉冲),则系统也可能无法正常工作。5.3 调试中遇到的问题及解决(1)编写程序前,需要事先绘制好流程图,使得思路清晰,易于检查和修改;(2)程序的书写要规范,不然无法正常的运行;(3)焊接前需要仔细检查元器件的好坏,避

40、免不必要的错误发生;(4)硬件的焊接时要按步骤焊接,防止发生漏接,错接,影响进度;(5)硬件分模块焊接,焊接完后仔细检查每个部分有无错误,最后将各个模块连接好检查调试。第六章 结论通过这历时半年的毕业设计过程,从资料的查找、知识的补充到实物的制作、调试,最终实现了基于DS18B20的数字温度计,达到了任务书所归定的要求。温度计的实物图如图6-1。图6-1 数字温度计实物图如图6-2,按下K1键后,温度计显示当前温度。图6-2 显示当前的温度如图6-3,随着气温的升高,温度计的示值也在升高。图6-3 温度计数值的改变如图6-4,按下K2键后,温度计显示相应的ROM代码。图6-4 温度计显示相应的ROM代码在本次毕业设计的过程中,我发现很多的问题,刚开始做的时候不知道该从何下手,虽然电路,模电,数

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

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com