基于STC89C52单片机的电子声音报温温度计设计_第1页
基于STC89C52单片机的电子声音报温温度计设计_第2页
基于STC89C52单片机的电子声音报温温度计设计_第3页
基于STC89C52单片机的电子声音报温温度计设计_第4页
基于STC89C52单片机的电子声音报温温度计设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第四届电子设计大赛(论 文) 基于单片机的电子声音报温温度计学 院:系别: 信息技术学院 电子系专业名称: 电子信息工程学生姓名: 于洋、张爽学号: 0915100614、0915100625指 导 教 师 姓 名: 李海成、张俊芳完成日期 2013 年 6 月 15 日1 引言41.1研究背景41.2研究现状42 总体设计方案52.1设计思路52.2总体设计框图53 硬件设计73.1 单片机的选择73.1.1 stc89c52单片机的主要特性:73.1.2 引脚功能及管脚电压83.2 nv035a语音芯片103.3 温度传感器的选择133.3.1 ds18b20的主要特性133.3.2 d

2、s18b20的实物图143.3.3 ds18b20使用中注意事项143.4 温度检测电路153.5 复位电路163.6 时钟电路174 软件设计184.1 概述184.2 主程序模块185 仿真196 综合调试206.1焊接206.2调试21结论21致谢21参考文献22附录 源码22摘 要:随着现代化信息技术的飞速发展,单片机技术已经十分普及,在实时检测和自动控制的单片机应用系统中,单片机往往是作为核心部件来使用。本论文介绍了一种以单片机stc89c52为主要控制器件,以ds18b20为温度传感器通过led屏传送数据,实现温度显示的新型数字温度计。该数字温度计的测量范围为-55125,显示分辨

3、率为0.1,误差1。由于采用了温度传感器ds18b20作为检测元件,与传统的温度计相比,本文设计的数字温度计减少了外部的硬件电路,具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。该系统结构简单,抗干扰能力强,适合于各种环境下进行现场温度测量,可广泛应用于工业控温系统、温度计、消费产品以及其它温度测控系统。with the rapid development of modern information technology, mcs technology has been very popular, in the mcs application system for real-t

4、ime detection and automatic control, mcs is often as a core component to use.this paper introduces a single-chip microcomputer stc89c52 as the main control device, with the temperature sensor ds18b20 for transmitting the data through the led screen, the realization of a new type of digital thermomet

5、er temperature display. the measuring range of the digital thermometer is -55 125 , the display resolution is 0.1 , error less than 1 . because of the temperature sensor ds18b20 as the measuring element, compared with the traditional thermometer, digital thermometer is designed in this paper to redu

6、ce the external hardware circuit, the reading convenience, a wide range of temperature measurement, temperature measurement precision, the digital display, applicable scope wide and so on characteristics. the system has simple structure, strong anti-interference ability, suitable for all kinds of en

7、vironment on-site temperature measurement, can be widely used in industrial control system, thermometer, consumer products and other temperature measurement and control system.关键词:单片机stc89c52;nv035a语音芯片;温度传感器ds18b20;led显示屏等。1 引言 随着现代信息技术的飞速发展和传统工业改造的逐步实现,人们在生产过程中会越来越关注精密而实用的仪器,能够独立工作的温度检测和显示系统应用于诸多领

8、域。其中语音数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活等提供更好更方便快捷的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。1.1研究背景目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等,温度计中传感器是它的重要组成部分,它的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。传感器应用极其广泛,目前已经研制出多种新型传感器。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。

9、本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点,主要用于对测温比较准确的场所或科研实验室使用,可广泛用用于工业控温系统、温度计、消费产品以及其它温度测控系统。目前,该产品已在温控系统中得到了广泛使用。因此本设计就尝试通过编程与芯片的结合来解决传统数字温度计的弊端,设计出新型语音数字温度计。1.2研究现状 温度传感器的发展现状:温度传感器使用范围广,数量多,居各种传感器之首,其发展大致经历了以下3个阶段: 1、传统的分立式温度传感器(含敏感元件)热电偶传感器,主要是能够进行非电量和电量之间转换。2、模拟集成温度传感器/控制器,集成传感器

10、是采用硅半导体集成工艺制成的,因此亦称硅传感器或单片集成温度传感器。3、智能温度传感器。它是微电子技术、计算机技术和自动测试技术(ate_)的结晶。智能温度传感器内部包含温度传感器、a/d传感器、信号处理器、存储器(或寄存器)和接口电路。2 总体设计方案2.1设计思路 本设计是一个基于单片机at89c52的数字温度计和温度传感器ds18b20的设计,用来测量环境温度,测量范围为-10120,显示分辨率为0.1,误差0.5.整个设计系统主要包括硬件电路的设计和系统软件的设计。硬件电路主要包括主控制器,测温电路和显示电路等。主控制器采用单片机stc89c52,温度传感器采用美国dallas半导体公

11、司生产的ds18b20来实现环境温度的采集和a/d转换,同时因其输出为数字形式,且为串行输出,这就方便了单片机进行数据处理,但同时也对编程提出了更高的要求。单片机把采集到的温度进行相应的转换后,显示电路采用led显示器以静态扫描法直读显示。系统程序主要包括主程序,读出温度子程序,写入温度子程序,语音播报系统等。2.2总体设计框图 本系统采用单片机作为微控制器,如图2.1。单片机用stc89c52、nv035a语音芯片、温度传感器用ds18b20,采用12mhz晶振,电源采用5v。该电路经过设计分析、绘图、仿真调试、制板、焊接等工作后温度计成形。 采用数字温度芯片ds18b20测量温度,输出信号

12、全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于0.1摄氏度。ds18b20的最大特点之一采用了单总线的数据传输,由数字温度计ds18b20和微控制器stc89c52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用52单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。电源stc89c52 控制器显示电路时钟电路nv035a语音播报ds18b20复位电

13、路 图2.1 总体设计框图 2.3所用主要元器件单片机stc89c52一个、nv035a语音芯片、温度传感器ds18b20一个、12mhz晶振一个、二位共阳极led显示屏一个、电源一个、排阻一个、usb一个、电阻电容及导线若干。3 硬件设计3.1 单片机的选择 stc89c52作为温度测试系统设计的核心器件。该器件是intel公司生产的mcs一5l系列单片机中的基础产品,采是一个低电压,高性能cmos 8位单片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-

14、51指令系统,片内置通用8位中央处理器和flash存储单元,stc89c52单片机在电子行业中有着广泛的应用。单片机小系统的电路图如图3-1-1所示。图3.1 单片机小系统电路3.1.1 stc89c52单片机的主要特性:(1)兼容mcs-51指令系统,4k字节可编程闪烁存储器;(2)8k可反复擦写(大于1000次)flash rom;(3)寿命为1000次写/擦周期,数据保留时间可10年以上;(4)全静态工作模式:0hz-33hz;(5)三级程序存储器锁定;(6)128*8位内部ram,32可编程i/o线;(7)两个16位定时器/计数器,6个中断源;(8)全双工串行uart通道,低功耗的闲置

15、和掉电模式;(9)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; (10)有pdip、pqfp、tqfp及plcc等几种封装形式,以适应不同产品的需求。3.1.2 引脚功能及管脚电压stc89c52为8位通用微处理器,采用工业标准的c51内核,在内部功能及管脚排布上与通用的89s52相同。如图3.2所示。 图3.2 stc89c52引脚图(1)p0口p0口是一组8位漏极开路型双向i/o口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个ttl逻辑门电路,对端口p0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线

16、复用,在访问期间激活内部上拉电阻。在flash编程时,p0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。(2)p1口p1是一个带内部上拉电阻的8位双向i/o口,p1的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。(3)p2口p2是一个带有内部上拉电阻的8位双向i/o口,p2的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口p2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输

17、入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行movxdptr指令)时,p2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行movxri指令)时,p2口输出p2锁存器的内容。flash编程或校验时,p2亦接收高位地址和一些控制信号。(4)p3口p3口是一组带有内部上拉电阻的8位双向i/o口。p3口输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对p3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的p3口将用上拉电阻输出电流(iil)。p3口除了作为一般的

18、i/o口线外,更重要的用途是它的第二功能。p3口还接收一些用于flash闪速存储器编程和程序校验的控制信号。(5)rst复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。(6)ale/prog当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)。 如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0

19、位置位,可禁止ale操作。该位置位后,只有一条movx和movc指令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。(7)psen程序储存允许(psen)输出是外部程序存储器的读选通信号,当at89c52由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次psen信号。(8)ea/vpp外部访问允许。欲使cpu仅访问外部程序存储器(地址为0000hffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端

20、),cpu则执行内部程序存储器中的指令。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器件是使用12v编程电压vpp。(9)xtal1振荡器反相放大器的及内部时钟发生器的输入端。(10)xtal2振荡器反相放大器的输出端。3.2 nv035a语音芯片电压:1.8-5.5v静态电流:2ua声音驱动方式:pwm直接驱动8欧0.5w喇叭(所有的都可以,只是声音大小差别)语音内容: 使用说明:语音芯片可以通过单片机等其他控制设备,任意组合上面的数字,从而到达语音播报时间、星期、年、月、日、温度、湿度等。例如:今天是2012年3月17日现在北京时间是21点28分30秒。语

21、音芯片是特定的固定标准模块,可以通过单片机最少一个io口控制多达32段声音任意调用和组合的语音标准芯片。通常最常用的控制方式是采用了模拟串行的控制方式(3个io)。如需要播放第几个地址的内容就发送几个脉冲,可以快速的控制多达32段地址的任意组合。单片机控制语音芯片电路图:控制原理说明:此控制方式是采用了模拟串行的控制方式。如需要播放第几个地址的内容就发送几个脉冲(大于0.2ms即可,建议采用1ms左右,下同)的原理,可以快速的控制多达32段地址的任意组合。模拟串行工作时各io的作用:busy:芯片工作时(播放声音),输出低电平,停止工作或者待机是,保持高电平;data:接受控制脉冲的脚位。收到

22、几个脉冲,就播放第几个地址的内容;rst:任何时候,收到高电平,都可以使芯片的播放指针归零(就是是data的脚位恢复到初始状态),同时即刻使芯片停止,进入待机状态;工作示例:例如现在需要播放第十段声音。单片机控制原理是:先发送一个复位脉冲到rst脚,接着发送10个脉冲到data脚。芯片即刻工作,播放第十段的声音;如果需要播放第五段的声音,则是:先发送一个复位脉冲到rst脚,接着发送5个脉冲到data脚。芯片即刻工作,播放第5段的声音;例如需要连续播放第十段和第五段声音:先发送一个复位脉冲到rst脚,接着发送10个脉冲到data脚。芯片即刻工作,播放第十段的声音,同时单片机判断语音芯片的busy

23、是否是高电平,如果不是则一直等待,如果是高电平,则发送一个复位脉冲到rst脚,接着发送5个脉冲到data脚。芯片即刻工作,播放第5段的声音.依此类推。简单测试:很多使用者初次使用时候,没有完全了解工作原理或者连接不当,导致在系统上面调试很长时间,以至于怀疑芯片的稳定性,现在提供最简单的测试方式,以便了解其工作原理。同时也大大提供初次调试的成功率。3.3 温度传感器的选择ds18b20温度传感器是美国dallas公司推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且具有耐磨耐碰,体积小,使用方便,封装形式多样等特点,适用于各种狭小空间设备数字测温和控制领域

24、。3.3.1 ds18b20的主要特性(1)适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下可由数据线供电;(2)独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯;(3)ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温;(4)ds18b20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(5)温范围55125,在-10+85时精度为0.5;(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精

25、度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给cpu,同时可传送crc校验码,具有极强的抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。3.3.2 ds18b20的实物图如图3.3图3.3 ds18b20实物图3.3.3 ds18b20使用中注意事项ds18b20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由

26、于ds18b20与微处理器间采用串行数据传送,因此 ,在对ds18b20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用pl/m、c等高级语言进行系统程序设计时,对 ds18b20操作部分最好采用汇编语言实现。 (2)在ds18b20的有关资料中均未提及单总线上所挂ds18b20数量问题,容易使人误认为可以挂任意多个 ds18b20,在实际应用中并非如此。当单总线上所挂ds18b20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时 要加以注意。 (3)连接ds18b20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读

27、取的 测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正 常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用ds18b20进行长距离测温系统设计时要充分考 虑总线分布电容和阻抗匹配问题。 (4)在ds18b20测温程序设计中,向ds18b20发出温度转换命令后,程序总要等待ds1820的返回信号,一旦 某个ds18b20接触不好或断线,当程序读该ds18b20时,将没有返回信号,程序进入死循环。这一点在进行ds18b20硬件连接和软件设计时也要给予 一定的重视。 测温电缆线建议采用

28、屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接vcc和地线,屏蔽层在源端单点接地。3.4 温度检测电路 ds18b20最大的特点是单总线数据传输方式,ds18b20的数据i/o均由同一条线来完成。ds18b20的电源供电方式有2种:外部供电方式和寄生电源方式。工作于寄生电源方式时,vdd和gnd均接地,他在需要远程温度探测和空间受限的场合特别有用,原理是当1wire总线的信号线dq为高电平时,窃取信号能量给ds18b20供电,同时一部分能量给内部电容充电,当dq为低电平时释放能量为ds18b20供电。但寄生电源方式需要强上拉电路,软件控制变得复杂(特别是在完成温度转换和拷贝数据到e2pro

29、m时),同时芯片的性能也有所降低。因此,在条件允许的场合,尽量采用外供电方式。无论是内部寄生电源还是外部供电,i/o口线要接5k左右的上拉电。在这里采用前者方式供电。外部电源供电方式是ds18b20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根vcc引线。在外接电源方式下,可以充分发挥ds18b20宽电源电压范围的优点,即使电源电压vcc降到3v时,依然能够保证温度量精度。由于ds18b20只有一根数据线,因此它和主机(单片机)通信是需要串行通信,而at89c52有两个串行端口,所

30、以可以不用软件来模拟实现。经过单线接口访问ds18b20必须遵循如下协议:初始化、rom操作命令、存储器操作命令和控制操作。要使传感器工作,一切处理均严格按照时序。3.4 复位电路如图3.5所示。上电复位用rc电路,电容用10uf,电阻用10k。根据ds18b20的通讯协议,主机(单片机)控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位操作,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然后释放,当ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在

31、低脉冲,主cpu收到此信号表示复位成功。单片机复位是使cpu和系统中的其它功能部件都处在一个确定的初始状态,复位是单片机的初始化操作,其主要功能是把pc初始化为0000h,使单片机从0000h单元开始执行程序。单片机复位的条件是:必须使rst引脚加上持续两个机器周期的高电平,复位电路在接电瞬间,reset端的电位与vcc相同,随着充电电流的减少,reset的电位逐渐下降。只要保证reset为高电平的时间大于两个机器周期,便能正常复位。复位后pc值为0000h,表明复位后程序从0000h开始执行,从第一个单元取指令。例如,若时钟频率为12mhz,每机器周期为1us,则只需2us以上的高电平,在r

32、st引脚出现高电平后的第二个机器周期执行复位。单片机复位期间不产生ale信号,即ale=1.表明单片机复位期间不会有任何取指操作。 图3.5 复位电路3.5 时钟电路单片机的晶振频率低于40mhz,所用我们采用12mhz,加两个30pf电容。如图3.6所示。时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进行工作。一般的晶振振荡电路都是在一个反相放大器的两端接入晶振,再有两个电容分别接到晶振的两端,另一端接地,这两个电容串联的容量值应该等于负载电容。在单片机内部有一个高增益反相放大器,其输入端

33、为芯片引脚xtal1,输出端为引脚xtal2,在芯片的外部通过这两个引脚跨接晶体震荡器和微调电容,形成反馈电路,就构成一个稳定的自激震荡器,一般的晶振的负载电容为20pf-45pf之间,考虑到元件引脚的等效输入电容,本设计采用两个22pf的电容构成晶振的振荡电路。设计电路中所使用的是12mhz的晶振,机器周期为1us,具体的时钟电路如图3.7所示。图3.6 晶振电路数字显示温度计的工作原理:基于stc89c52的温度测量系统电路图把温度转化成带符号的数字信号(以十六位补码形式,占两个字节),若采用带屏蔽的双绞电缆线,连线的长度可以达到150m,输出脚i0直接与单片机的p34相连,r1为上拉电阻

34、,传感器采用外部电源供电。stc89c52是整个系统的核心部分,内含2 kb的flash rom,用户程序存放在这里。显示器模块由二位一体的共阳数码管组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照dsl8b20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。4 软件设计4.1 概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、

35、计算、显示、通讯等。每一个执行软件是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。4.2 主程序模块主程序需要调用2个子程序,各模块程序功能如下:(1)数码管显示程序:向数码的显示送数,控制系统的显示部分。(2)温度测试及处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。 (3)语音播报模块,当按键时播报当前语音。主程序流程见图4.1: 5 仿真proteus软件是英国labcen

36、ter electronics公司出版的eda工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic

37、10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持iar、keil和mplab等多种编译器。proteus软件具有其它eda工具软件的功能。这些功能是: (1)原理布图;(2)pcb自动或人工布线;(3)spice电路仿真。革命性的特点:(1)互动的电路仿真用户甚至可以实时采用诸如ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。(2)仿真处理器及其外围电路可以仿真51系列、avr、pic、arm、等常用主流单片机

38、。还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,proteus建立了完备的电子设计开发环境。6 综合调试6.1焊接6.1.1焊接要求(1)电阻、二极管(发光二极管除外)均采用水平安装,紧贴印刷版。(2)电解电容等尽量插到底,元件底面离印刷版最高不能大于4毫米。(3)插件装配要美观、均匀、端正、整齐,不能歪斜,高矮要有序。(4)所焊出来的焊点要求圆滑、光亮、防止虚焊、搭焊和散锡。(5)布局合理,疏密适当。(6)用比较好的助焊剂。6.1.2焊接方法(1)右手持电烙铁。左手用尖嘴钳或镊子夹持元件或导线。焊接前,电烙铁要

39、充分预热。烙铁头刃面上要吃锡,即带上一定量焊锡。(2)将烙铁头刃面紧贴在焊点处。电烙铁与水平面大约成60角。以便于熔化的锡从烙铁头上流到焊点上。烙铁头在焊点处停留的时间控制在23秒钟。(3)抬开烙铁头,左手仍持元件不动。待焊点处的锡冷却凝固后,才可松开左手。(4)用镊子转动引线,确认不松动,然后可用偏口钳剪去多余的引线。(5)焊接时先用焊锡把导线接一下,一遍有毛刺,有放电现象。6.2调试对于整个系统的调试是将温度传感器置于被监测温度处,接通系统电源,系统开始运行,随着温度的不断上升,显示温度不断变化,离开被监测温度处,显示温度不断下降。 结论经过我的努力,完成了本次课题的任务。设计制作的数字温

40、度计led显示屏语音播报,通过仿真很好的完成了基本要求部分和发挥需要的功能,达到了预期的目的。致谢通过这次设计,受益匪浅,这主要得益于认真负责的工作态度、严谨活泼的治学精神和深厚专业的理论水平。在撰写论文之前,自己对论文的基本要求理解不是很充分,在老师的帮助与指导下,现在对论文有了一定的认识,对它的基本结构、所要论述的重点问题、以及撰写论文的基本步骤和评审都达到了相当的水平。老师无论在理论上还是在实践中,都给予了本人很大的帮助,使自己的理论和技术水平都得到很大的提高,这对于自己以后的工作和学习都是一种巨大的鼓舞。在本系统的设计过程和论文编写过程中,很多同学和朋友给予了我许多无私的帮助,给我的设

41、计和论文提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢和良好的祝愿。至此,衷心感谢各位老师及同学多年来的辛勤培育和教导!参考文献1.杨居义,单片机课程设计指导清华大学出版社,20092.张毅刚,基于proteus的单片机课程的基础实验与课程设计人民邮电出版社,20123.黄友锐,单片机原理及应用合肥工业大学出版社,20064. 高吉祥.全国大学生电子设计竞赛培训系列教程数字系统与自动控制系统设计.北京: 电子工业出版社,2007.5. 陈梓城等.实用电子电路设计与调试.北京:中国电力出版社,2006.6. 黄智伟等.全国大学生电子设计竞赛系统设计.北京:北京航空航天大学

42、出版社,2008.7. 赵广林. protel 99se 电路设计与制版. 电子工业出版社,2005. 8. 高等学校毕业设计(论文)指导手册电子信息卷. 高等教育出版社. 附录 源码#include #define uchar unsigned char#define uint unsigned intsbit ds=p22; /ds18b20信号线sbit dula=p26; /数码管段选线sbit wela=p27; /数码管位选线sbit busy=p20; /判忙端接8脚sbit sda=p21; /信号端接7脚sbit rst=p22; /触发端接6脚sbit dula1=p30;

43、 /数码管1sbit dula2=p31; /数码管2sbit dula3=p32; /数码管3sbit led=p17; /工作指示灯sbit key=p37; /按键uchar shi,ge,fen; /温度显示uint temp; /温度变float f_temp;unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e; /不带小数点的编码unsigned char code table1=0x40,0x79,0x24,0x30,0x1

44、9,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e; void delay(uint a) /延时函数unsigned char i;while(a-) for(i = 0; i 0)i-; ds=1; i=4; while(i0)i-;bit tempreadbit(void) /读1位函数 uint i; bit dat; ds=0;i+; /i+ 起延时作用 ds=1;i+;i+; dat=ds; i=8;while(i0)i-; return (dat);uchar tempread(void) /读1个字节 uchar i

45、,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /读出的数据最低位在最前面,这样刚好一个字节在dat里 return(dat);void tempwritebyte(uchar dat) /向18b20写一个字节数据 uint i; uchar j; bit testb; for(j=1;j1; if(testb) /写 1 ds=0; i+;i+; ds=1; i=8;while(i0)i-; else ds=0; /写 0 i=8;while(i0)i-; ds=1; i+;i+; void tempchange(void

46、) /ds18b20 开始获取温度并转换 dsreset(); delay(1); tempwritebyte(0xcc); / 写跳过读rom指令 tempwritebyte(0x44); / 写温度转换指令uint get_temp() /读取寄存器中存储的温度数据 uchar a,b; dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0xbe); a=tempread(); /读低8位 b=tempread(); /读高8位 temp=b; temp0) sda=1; delay(1); sda=0; delay(1); z

47、-; /*主函数*/void main() uchar i,j,l,a8,b; a0=23;/现在温度是 a1; a2=11;/十 a3; a4=13;/点 a5; a6=20;/度 a7=25;/铃声 dula=0; wela=0; init_com();/ busy=1;/初始化,判忙端置1,表示不忙 sda=0;/初始化,信号端置0,表示无信号 rst=0;/初始化,触发端置0,表示无触发 l=5;/*/ while(l-)/指示灯闪烁,表示初始化完成 led=0;delay(100);led=1;delay(100); /*8*/ while(1) b=9; j=0; tempchange(); dis_temp(get_temp();/ if(key=0)delay(10);if(key=0) while(b) while(busy=0)/判断芯片是不是工作中,工作时指示灯亮 led=0; led=1; /不工作时指示灯灭 delay(25); if(j=8) j=0; /不断读取芯片132地址内容/实时读数/ a1=shi+1; a3=ge+1; a5=fen+1;/ music(aj); /赋值j等于几,就播放第几段 j+; /语音芯片地址加

温馨提示

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

评论

0/150

提交评论