版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学信息商务学院2010届毕业设计说明书1绪论1.1体温计的发展与现状体温测量的历史,可以追溯到l6世纪。当时Saatorio用空气热膨胀的原理,制出了第一支测量口腔温度的体温计。本世纪初,开始用水银来制作体温计,至今在临床上得到了广泛的应用。根据1928年Ebstein的报告,当时除测量口腔及腋下的温度外,还可以测量直肠、颈部、大腿根部,外耳、阴道温度及尿温。这些都是用被测皮肤温度与玻璃球内积存的水银温度相等的原理实现的。由于水银体温计使用方便、精度高,因而应用很广。再加上测温方法及其结构都已成熟,没多大改进余地,人们对它的研究失去了信心,至今几乎没有什么进展。由于用水银体温计进行体温监测很不方便,水银的污染也很严重等,为了正确测量局部温度,最近促使人们开发了各种不同的测温仪器和测温方法。只因临床上测温方法至今也没有多大变化,近年普及的电子体温计又不能获得更多的其他生理信息,精度也无多大提高,相比之下,水银体温计仍不愧是一个精度高、便宜、使用方便的测温仪器。因此,盲目地用电子测温仪来取代水银体温计并不一定恰当,若只注意汞污染问题,必须用电子体温计来替代水银体温计的理由也是不充分的。尽管这样,已有许多医院采用了电子体温计,用其它电子仪器测量体温也日益普及。这一事实至少表明,电子测温仪器的性能已接近水银温度计的性能。由于采用电子仪器,出现了新的测温方法,然而就目前的情况来看,能与水银体温计相媲美的比较完善的体温测量仪器尚未问世。因此,与水银体温计的历史相对照,可以说以电子体温计为首的近代体温测量仪器还停留在19世纪的水平上,鉴于传统的水银体温计汞的污染及其携带不方便易破碎,尤其是测量时间过长等缺点,本课题就此问题设计出一种新型的智能电子体温计。它在稳定性及响应时间上比传统的水银体温计有着显著的优势,精度要求也能和传统的水银体温计相媲美1.2数字体温计设计的目的普遍使用酒精(或水银)温度计来测量体温,不仅测量时间长,而且读数也不方便。市场上销售的体温计不仅精度较低、体积大、不便于携带,而且功能单一,难于推广应用。鉴于此想设计出一种在读取时不受环境影响,且精度高,便于携带的智能体温计。1.3新型智能电子体温计的发展及其特点随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。一切都向着数字化控制,智能化控制方向发展。以单片机为核心研制成新型智能电子体温计。在软件控制下,实现智能化的体温测量,不但能精确测量体温,而且能对温度进行逻辑判断,并用LCD模块将判断结果以数字的形式显示出来。体温是生命活动一种表现,是人体新陈代谢的一个重要生理参数。体温既有生理学意义,又有重要的临床医学意义,是临床诊断的重要指标(比如人的正常体温(口腔)是36—37.2℃,37.3—38℃视为低烧,38—39℃中烧,39—4l℃1.4本文所做的主要工作本文将介绍一种基于单片机控制的数字温度计,与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。本设计所介绍的数字温度计该设计控制器使用单片机,测温传感器使用DS18B20,串口传送数据实现温度显示,本温度计属于多功能温度计,而且可以设置上下报警温度,当温度不在设置范围内时,可以报警。以单片机为核心研制成新型智能电子体温计。在软件控制下,实现智能化的体温测量,不但能精确测量体温,而且能对温度进行逻辑判断,并用LCD模块将判断结果以数字的形式显示出来。全文共分为五章,其主要内容和结构安排如下:第一章绪论部分主要介绍的体温计的发展历史及现状,并对新型智能体温计做了简要概述。第二章主要介绍数字体温计的设计思路,系统工作原理以及本设计得方案选择。第三章单片机的概述,数字体温计的硬件设计方面,对器件的选择,主要介绍了AT89S51单片机,DB18B20,LCD1602液晶显示器。系统的电路设计,并具体阐明了各部分控制线路的功能。第四章,数字温度计的软件设计,程序的主控制循环调用,读温度设计和显示温度程序设计,在参考同类温度计的程序设计基础上完成本设计得设计要求。第五章后续工作,对系统的硬件方面和软件方面进行调试,使其功能符合设计要求。2数字温度计的总体设计2.1数字体温计的设计思想数字体温计的设计思想是:所设计的体温计在测温精度能与传统的水银温度计相媲美的情况下,大大的缩短了测温时间,携带方便,对环境几乎没有污染。即是一种典型的智能化仪表,它以单片机作为核心,在软件控制下,与其它硬件电路相结合,实现智能化的体温测量。2.2数字体温计的总体框图单片机复位电源单单片机复位电源单片机部分显示部分温度传感器 图2-1总体设计方框图2.3系统工作原理数字体温计的工作原理是:体温信号由温度传感器变换为数字信号。此信号送入单片机系统,利用单片机本身的软件功能进行数字滤波、线性化处理、数据存储、逻辑判断,从而实现相应的智能功能。并将最后的测量结果送入液晶显示模块,在显示程序控制下进行显示,包括显示温度数据和汉字,从而使测温前后的各种操作更趋于智能化和人性化。2.4主要器件选择2.4.1单片机的选择方案一AT89C51是ATMEL公司的C51单片机,它是在8051的基础上增强了一些特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入),相对于8051,AT89C51的性能已经算是非常优越的了。AT89C51片内有4K字节的FLASH程序存储器,128字节的片内RAM,2个定时器/计数器,6个中断源,5个可用中断,2个中断级别,支持掉电模式和空闲模式,都是方案二选择性能更加优良的AT89S51除了具有上述AT89C51的功能外,还有ISP功能、特殊功能寄存器和不同的极限工作频率。AT89S51不但多了ISP功能,还有一个很好用的内部看门狗。看门狗是直译的说法,即一个不断自己工作的定时器,如果不断地“喂”它(不断地复位它,表示程序自己没有死机),过一段时间,它就会计数溢出,MCU就复位,以避免程序卡死后没人管。AT89C51最高可以使用的晶振频率时24MHz,AT89S51可以使用的晶振频率更高,达33MHz。新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低!从以上两种方案比较,很容易看出,选用的AT89S51与同系列的AT89C51在功能上有明显的提高,因而选用性能更高的AT89S51单片机。2.4.2传感器的选择方案一由于本设计是测温系统,可以使用热电偶之类的器件利用其感温特性,把它随着被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在系统中有一个这样的传感器就需要一个A/D转换电路,这将导致系统电路整体设计起来比较复杂,除了A/D、D/A转化模块,相应的还要增加信号放大等电路,这对于单片机有限的空间而言,系统利用效率是比较低下的。此外,现代数据采集的特点是数字化,它带来的不仅是电路设计的简化,还有利于后期数据的加工和利用。方案二进而考虑到用数字传感器,在单片机电路设计中,大多都是处理数字信号,因此可以采用数字温度传感器DS18B20。与传统传感器相比,单总线技术可以让单片机节省大量的I/O资源,而且外部与传感器的相连的电缆、端子、槽盒、桥架,连线设计与接头校对的工作量也大大减少,即节省了投资,也减少了设计、安装的工作量。同时,由于传感器直接输出的是数字信号,使系统省掉了放大、A/D转换等相关电路,系统的稳定性、可靠性有了大幅提高。利用此传感器可以轻松的设计出一种高效的、简练的、且易维护的测温系统。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案。第21页共41页3体温计的硬件设计3.1单片机概述单片机全称为单片微型计算机(SingleChipMicrocomputer),又称为微控制器(MicrocontrollerUnit)或嵌入式控制器(EmbeddedController)。单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。随着技术的发展,单片机片内集成的功能越来越强大,并朝着片上系统方向发展。
单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用。3.2主要器件介绍3.2.1AT89S51功能简介AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场介,可灵活应用于各种控制领域。主要性能参数:·与MCS-51产品指令系统完全兼容·4k字节在线系统编程(ISP)Flash闪速存储器
·1000次擦写周期·4.05.5V的工作电压范围·全静态工作模式:0Hz33MHz·三级程序加密锁·128×8字节内部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·全双工串行UART通道·低功耗空闲和掉电模式·中断可从空闲模式唤醒系统·看门狗(WDT)及双数据指针·掉电标识和快速编程特性·灵活的在线系统编程(ISP一字节或页写模式)
2.功能特性概述:AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.引脚功能说明,如图3-1所示:图3-1AT89S51管脚
·Vcc:电源电压
·P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写‘1’可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。验时,输出指令字节,校验时,要求外接上拉电阻。·P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写‘1’,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,囚为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(In)。
·P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写‘1’,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,囚为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(In)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@Ri指令)时,P2口线卜的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
·P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(In)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。·ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,囚此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁正ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。·PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。·EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vpp。·XTAL1:振荡器反相放大器及内部时钟发生器的输入端。·XTAL2:振荡器反相放大器的输出端。·特殊功能寄存器:特殊功能寄存器的于片内的空间分布的这些地址并没有全部占用,没有占用的地址亦不可使用,读这些地址将得到一个随意的数值。而写这些地址单元将不能得到预期的结果。·中断寄存器:各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。
·双时钟指针寄存器:
为更方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存器:DP0位于SFR(特殊功能寄存器)区块中的地址82H,83H和DP1位于地址84H,85H,当SFR中的位DPS=0选择DP0,而DPS=1则选择DP1。用户应在访问相应的数据指针寄存器前初始化DPS位。电源空闲标志(POF)在特殊功能寄存器SFR中PCON的第4位(PCON.4},电源打开时POF置‘1’,它可由软件设置睡眠状态并不为复位所影响。·程序存储器:
如果EA引脚接地(GND),全部程序均执行外部存储器。在AT89S51,假如EA接至Vcc(电源+),程序首先执行地址从0000H-OFFFH(4KB)内部程序存储器,而执行地址为1000H-FFFFH(60KB)的外部程序存储器。·数据存储器:AT89S51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。
·看门狗定时器(WDT):WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看门狗复位SFR(WDTRST)构成。外部复位时,WDT默认为关闭状态,要打开WDT,用户必须按顺序将01EH和0E1H写到WDTRST寄存器(SFR地址为OA6H},当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RSF引脚输出高电平的复位脉冲。·定时器0和定时器1:定时器0和1都是一个16位定时/计数器。AT89S51是美国ATMEL公司生产的低功耗、高性能的CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可灵活应用于各种控制领域。下图为AT89S51方框图。中北大学信息商务学院2010届毕业设计说明书中北大学信息商务学院2010届毕业设计说明书中北大学信息商务学院2010届毕业设计说明书3.2.2DB18B20简介DS18B20数字式温度传感器是美国Dallas公司最新推出的产品,与传统的热敏电阻温度传感器不同,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,可以分别在93.75ms和750ms内将温度值转化9位和12位的数字量。因而使用DS18B20可使系统结构更简单,可靠性更高。芯片的耗电量很小,从总线上“偷”一点电存储在片内的电容中就可正常工作,一般不用另加电源。最可贵的是这些芯片在检测点已把被测信号数字化了,因此在单总线上传送的是数字信号,这使得系统的抗干扰性好、可靠性高、传输距离远。DS18B20传感器有如下特点:●独特的单线接口仅需要一个端口引脚进行通信;●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;●无须外部器件,零待机功耗;●可通过数据线供电,电压范围为3.0~5.5V;●温度以9或12位数字,用户可定义报警设置;●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;图3-2管脚图DS18B20的管脚排列及不同封装形式如图3-2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地),NC表示无连接。DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3-3所示。它有以下4个主要的数据部件组成:64位ROM、温度传感器、非易失性温存储的温度报警触发器TH和TL,配置寄存器。图3-3DS18B20内部结构DS18B20测温原理如图3-4所示,图中低温度系数晶振的振荡频率受温度影响小用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。DS18B20在正常使用时的测温分辨率为0.1℃。预置预置温度寄存器=0斜率累加器预置比较计数器1低温度系数晶振计数器2=0高温度系数晶振加1停止LSB置位/清除图3-4DS18B20工作原理图由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。如下图3-5为DS18B20与单片机的接口电路图。图3-5DS18B20与单片机的接口电路3.3LCD1602液晶显示器3.3.11602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-6所示编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表3-6引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表3-7所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存储器地址0001字符发生存贮器地址8置数据存储器地址001显示数据存贮器地址9读写标志或地址01BF计数器地址10写数到CGRAM或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容图3-7控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。读写操作时序如图3-8和3-9所示图3-8读操作时序图3-9写操作时序1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-10是1602的内部显示地址。图3-101602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”1602LCD的一般初始化(复位)过程延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置3.4系统的电路设计3.4.1总体控制线路图单片机数字温度计的设计由6个部分构成,晶振电路、复位电路、温度采集电路、电源电路、程序下载电路和温度显示电路。如图3-5所示图3-11系统电路设计图3.4.2各部分具体控制线路图程序下载电路:由AT89SISP端口与AT89S51芯片连接组成。如图3-12所示图3-12程序下载电路图温度采集电路:由温度传感器DS18B20与AT89S51芯片的P34连接,组成温度采集电路。如图3-13所示图3-13温度采集电路图温度显示电路,液晶1602与AT89S51芯片的P10-P17、P30、P31和P35连接,组成单片机串口输出显示电路。如图3-14所示
图3-14温度显示电路晶振电路:由12M晶振1个、30pF起振电容2个组成,连接在AT89S51芯片XTAL1和XTAL2两端。如图3-15所示图3-15晶振电路复位电路:主要由复位按钮1个、104电容1个、10µF电解电容1个、10KΩ电阻1个组成。与RST端口连接。如图3-16所示图3-16复位电路3.5温度显示界面液晶显示时每一行为显示温度值,第二行是设计者,要实现滚动屏。具体功能如下:通过一线温度传感器DS18B20采集温度,通过液晶1602在第一行显示出来,第二行显示设计者滚动出现。"wendu:29.8"Design:zhangxingguang"4数字温度计的软件设计4.1程序设计流程图如图4-1为程序设计详细流程图:跳过ROM匹配跳过ROM匹配温度液晶显示读温度命令程序结束写入子程序应答子程序DS18B20复位显示子程序写入子程序温度转换命令写入子程序跳过ROM匹配开始初始化应答子程序DS18B20复位 YY发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY 图4-2读温度流程图图4-1程序设计框图4.2程序的主控制循环调用具体代码如下: LCALLGET_TEMPER;调用读温度子程序 MOVA,29H MOVB,A CLRC RLCA CLRC RLCA CLRC RLCA CLRC RLCA SWAPA MOV31H,AMOVA,BMOVC,40H;将28H中的最低位移入CRRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV29H,ALCALLDISPLAY;调用液晶显示子程序AJMPMAIN;这是DS18B20复位初始化子程序中北大学信息商务学院2010届毕业设计说明书4.3读温度程序设计在读温度程序设计中,首先要判断DS18B20是否存在,才能发出温度转换命令,这里还要调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒,读前复位等,上图4-2为读程序流程图。具体程序如下:GET_TEMPER: SETBP2.6 LCALLINIT_1820;先复位DS18B20 JBFLAG1,TSS2RET;判断DS18B20是否存在?若DS18B20不存在则返回TSS2: MOVA,#0CCH;跳过ROM匹配 LCALLWRITE_1820 MOVA,#44H;发出温度转换命令 LCALLWRITE_1820;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒 LCALLDISPLAY LCALLINIT_1820;准备读温度前先复位 MOVA,#0CCH;跳过ROM匹配 LCALLWRITE_1820 MOVA,#0BEH;发出读温度命令 LCALLWRITE_1820 LCALLREAD_18200;将读出的温度数据保存到35H/36H RET;写DS18B20的子程序(有具体的时序要求)4.4显示温度的程序设计温度显示部分是采用DB18B20,可显示的位数为16位,即2个字节。具体程序如下:READ_18200: MOVR4,#2;将温度高位和低位从DS18B20中读出 MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00: MOVR2,#8;数据一共有8位RE01: CLRC SETBP2.6 NOP NOP CLRP2.6 NOP NOP NOP SETBP2.6 MOVR3,#9RE10: DJNZR3,RE10 MOVC,P2.6 MOVR3,#23RE20: DJNZR3,RE20 RRCA DJNZR2,RE01 MOV@R1,A DECR1 DJNZR4,RE00RET5系统的调试5.1单片机应用系统的硬件调试单片机应用系统的硬件调试主要是排查印刷电路板的问题和连接上的一些问题。由干硬件电路变化很多,不同类型的电路可能出现的问题也不一样,所以没有固定的程序可以投用,所以,在该系统中,首先通过了仔细地推敲系统原理,确认无误;其次对照设计图纸查印制电路板,看是否有粘接等工艺现象;最后,检查外围连接是否有误,通过这几个方面的反复调试,可确保电路板的无误性。在本系统的硬件调试过程中,出现了电压不稳定而导致程序无法写入的情况,使电压稳定的方法是改用新的电池,或者是再次设计电源方案,在这里是用电源接通教学实验板,然后再把教学实验板与本系统相连接,这样,就可以得到稳定的电压了。5.2单片机应用系统的软件调试单片机应用系统的软件调试也没有规律可循,调试时更多的是凭经验。软件调试的主要任务是排查错误。通过在WaveE2000编译器下调试程序,有两种错误,一种逻辑错误,也就是语法错误,是很容易被发现的,另一种是功能错误,是指在没有语法错误的基础上,由于设计思想或算法的问题导致不能实现软件功能的一种错误。通过这两方面错误,不断地调试,以及对各模块的调试,最后组成一个完整的程序。结语经过将近三月的单片机毕业设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难忘的小伙伴作文
- 小学生孝星事迹材料
- 厂级安全生产培训
- 《客户跟踪方案》课件
- 梅花魂课件下载
- 《交通控制与管理》课件
- 2022年江西省公务员录用考试《申论》真题(县乡卷)及答案解析
- 2022年公务员多省联考《申论》真题(四川省市卷)及答案解析
- 【语文课件】岳飞课件
- 2024年新高一英语初升高衔接《非谓语动词》含答案解析
- DB11-972-2013保险营业场所风险等级与安全防范要求
- 期中表彰大会方案
- 2022年三临床路径及单病种档案盒
- 链工宝在线学习平台学员使用操作步聚
- 《有机合成》说播课课件(全国高中化学优质课大赛获奖案例)
- 肺癌的靶向治疗法PPT课件.ppt
- 五年级英语上册第六单元(新版pep)完美版(课堂PPT)
- 败血症PPT优质课件
- 凸透镜成像规律动画演示
- 急性淋巴细胞白血病ppt课件
- 团支部换届选举程序
评论
0/150
提交评论