【精品】单片机考证论文_第1页
【精品】单片机考证论文_第2页
【精品】单片机考证论文_第3页
【精品】单片机考证论文_第4页
【精品】单片机考证论文_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、基于ds18b20的温度控制系统(软件)序言在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中 的温度进行检测和控制。釆用单片机对温度进行控制不仅具有控制方便、简单和灵活性 大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量 和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。该 温度控制系统与普通的温度控制系统相比有效的提高了温度控制系统测量温度的精度 和可靠性,并且结构也不是很复杂。该系统可以通过与于设定的温度相比较来输岀控制 加热信号从而达到温度控制的目的。本说明书描述了本次毕业设计的整个过程,以及本次毕业设计用到的相

2、关知识。主 要介绍了:温度控制系统是如何通过ds18b20温度传感器采集温度和如何通过at89c51 单片机来实时控制温度。第1章主要介绍了温度控制系统的总体设计思路以及各坏节功 能是如何实现的。第2章主要介绍了 at89c51单片机的结构和原理。第3章主要介绍了 木次设计中用到的一些芯片。第4章主要介绍了温度控制系统的软件设计流程图。第5 章主要介绍了软件硬件调试过程。最后附录了木次设计的原理图、程序清单、英文翻译、 参考文献。由于对有些软件不是很熟悉,加上时间比较紧张,在实际设计制作过程中有一定 的难度。所以,我们只能尽我们的所能把它做好,在制作过程中,肯定有一些疏漏和 不足之处,恳请老师

3、指正。在毕业设计制作过程中,始终得到我的指导老师刘老师的 指导和帮助,在此谨向他表示感谢!第1页共44页1.1控制技术的发展概况在日常生活生产中,人们需要对温度进行检测和控制,而目前推广应用的许多温度 控制系统主要由测量电路和控制电路组成,所具备的功能较少,也比较弱。多采用电阻 式温度传感器,测量精度低,需要a /d转换,电路复杂,离散性大,温度反应缓慢,而且 结构很复杂。计算机技术的迅速发展,使得传统的控制系统发生了根本性的变革,即采用微机作 为控制系统的核心,代替传统的控制系统的传统的电子线路,从而成为新一代的微机化 控制系统。将微机技术引入控制系统中,不仅可以解决传统控制系统不能解决的问

4、题, 而且还能简化电路、增加或增强功能、提高控制精度和可靠性,显著增强测控系统的自 动化、智能化程度,而且可以缩短系统研制周期、降低成本、易于升级和维护。因此, 现代控制系统设计,特别是高精度、高性能的控制系统,目前已很少不采用计算机技术 的了。计算机技术的引入,可以为控制系统带来以下一些新特点和新功能。(1)自动调零功能在毎次采样前对传感器的输出值自动清零,从而大大降低因控 制系统漂移变化造成的谋差。(2)数字滤波功能利用已算机软件对测量数据进行处理,可以抑制各种干扰和脉 冲信号。(3)数据处理功能利用计算机技术可以实现传统仪器无法实现的各种复杂的处理 和运算功能。(4)复杂控制规律利用计算

5、机技术不仅可以实现经典的pid控制,还可以实现各种 复杂的控制规律,例如,自适应控制、模糊控制等。(5)自我诊断功能采用计算机技术后,可对控制系统进行监测,一旦发现故障则 立即进行报警,并可显示故障部位或可能的故障原因,对排除故障的方法进行提示。微机化的控制系统是以微机为核心、测量控制一体化的系统,这种系统对被控对象 的控制是依据对被控对象的测量结果决定的。因此,它实质上是一种闭环控制系统。温度控制系统在工业过程控制中有着广泛的应用。用单片机来代替模拟调节器,就 构成了微机过程控制系统。控制系统中引入单片机,可以充分利用单片机在对采集数据 加以分析并根据所得结果做出逻辑判断等方面的能力,编制岀

6、符合某种技术要求的控制 程序、管理程序,实现对被控参数的控制与管理。在单片机控制系统中,控制规律是通 过软件来完成的。改变控制规律,只要改变相应的程序即可。本次设计采用ds18b20型数字式温度传感器作为温度采集单元和at89c51单片机来 对它们进行控制,不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控 温度的指标。本文设计了一种以at89c51和ds18b20为核心的温度控制系统、1 2设计思路及技术指标为了能够实时地控制温度,该电路采用通过温度传感器测得当前温度送到单片机处 理与设定温度比较从而控制电热器的启停去控制外部温度。当外部温度低于设定温度下 限时电热器加热,当外部

7、温度高于设定温度上限时电热器停止加热,当温度在上下限之 间时保持前一状态。当温度越限5°c吋进行声光报警,系统停止工作。而且在低于温度 五度内随温度上升加热交流电压不断减小使温度平稳上升。测温电路可以选用电阻式温度传感器也可以直接采用ds18b20型数字式温度传感 器。由于电阻式温度传感器,测量精度低,需要a/d转换,电路复杂,离散性大,温度反 应缓慢,而且结构很复杂。为了提高测量精度、简化电路所以选用测量精度高,电路简 单的ds18b20型数字式温度传感器。显示可以分为静态显示和动态显示,,在显示电路中采用74ls47译码器可以节省单 片机端口。所以显示电路通过p0.0p0. 4控

8、制数码管的亮灭,p0.4p0. 7送岀四位编 码通过74ls47译码器译码输出09十个数据。一、技术指标1、显示上限值为99.5°c,下限值为0°c2、采用4位数码管进行温度显示,2位整数,1位小数,1位符号位3、实时显示温度,系统的精度为0.5°c4、温度超过上下限温度5°c时进行声光报警5、可以利用内置eeprom保存温度上下限值6、能够自动控制加热电压值二、系统功能当该系统得电后,系统自检,所有发光二极管都亮,数码管显示888. 8o三秒之后 所有发光二极管熄灭,数码管显示由ds18b20温度传感器测得的当前温度。按下设定建, 数码管显示设定温度,

9、设定指示灯亮(绿);按一下“”或“-”键,设定值加0. 5或减0.5;当按下设定确定键后,保存温度设定值,恢复显示当前实测值。按下启动按钮,启停指示灯亮(绿)温控系统启动。当实测温度低于设定温度下限 值时电热器得电发热,同时加热指示灯亮(红),当实测温度高于设定温度上限限值时, 电热器停止加热传为保温状态,保温指示灯亮(黄)。按下停止按钮,系统停止工作, 启停指示灯灭(绿)。当实测温度高于设定温度上限值5°c或低于设定温度下限值5°c时,报警器报警, 系统停止工作,只有数码管显示实测温度。三、系统原理方框图温度控制系统硬件电路由传感器电路、执行电路、报警电路、单片机电路、按

10、键电 路和显示屯路六部分组成。该电路采用at89c51单片机最小化应用设计,p0口输出段码数据,p1 口接按键开关, p2口接发光二极管、报警器,p3.0口接传感器电路,p3.5口接驱动执行电路。图1-1系统原理方框图四、各个环节的功能测量环节(温度传感器):测量环节的功能是测量外部实际温度比较环节(单片机):比较环节把实测温度与设定温度比较从而控制执行机构 执行环节(加热器):执行环节调节外部温度显示环节(显示):显示实测或设定温度设定环节(键盘人设定、调整设定温度报警环节(报警):当温度越限吋,报警环节发生报警五、各个环节的实现测量环节:通过对数字式温度传感器编程从而实现测量环节功能的实现

11、比较环节:比较环节把实测温度与设定温度比较从而控制执行机构执行环节:执行环节控制单片机连接加热电路的端口输出高低点电平调节外部温度显示环节:单片机把要显示的数据通过译码器送到数码管显示设定环节:设定环节主要通过按钮去实现其功能报警环节:当系统要报警时通过给报警环节低电平使蜂鸣器发声报警第2章at89c51单片机系统结构和原理2. 1 at89c51单片机的简介at89c51单片机是美国atmel公司的产品,它与intel公司生产的mcs-51系列单片机 兼容。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable r

12、ead only memory)的低电压,高性能cmos8位微处理器, 俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51 指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel 的at89c51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的 方案。它与以前的程序存储器相比具有以下优点:用户可自己写入,并根据需要灵活修改程序;用电擦除而不是用紫外线擦除,不需要特殊的擦除设备;写入与擦除的速度非常快。所有的mcs-51系列单片机拥有一个相同的8位微处理器cpu,它由算术逻辑运算 部件alu、布尔处理器、控制

13、器和工作寄存器组成。算术逻辑运算部件主要功能是实现数据的传送、数据的算术逻辑运算和布尔量处 理,它们包括:加、减、乘、除算术运算;增量(加1)、减量(减1)运算;十进制数调整;位置“1”、位置“0”和取反;与、或、异或等逻辑操作;数据传送操作。控制器是控制整个单片机系统各种操作的部件,它包括时钟发牛器、定时控制逻辑、 指令寄存器译码器、程序存储器和数据存储器的地址/数据传送控制等。从编程的角度看,mcs-51cpu对用户开放的寄存器主要有以下几个:累加器acc、寄存器b、程序计数器pc、数据指针dptr (由dpii和dpl两个8位寄存器组成),程序状态寄存器psw、堆栈指针spo2. 2单片

14、机的一般结构一、at89c51单片机内部硬件资源有:面向控制的8位cpu;全静态设计,时钟频率范围为024mhz、33mhz;三个程序存储器保密位; 128字节内部ram数据存储器; 4k字节的flash存储器,可反复编程/擦除1000次; 2个可工作于4种模式的16位定时器/计数器;5个中断源、2个中断优先级的中断控制器;二、at89c51单片机结构框图at89c51单片机采用模块式的结构,有多个存储空间,每一个存储空间都留有一定 的余量,这种结构为单片机的发展留有充分的余地,其结构框图如图2-1。外部计数 脉冲图2/ atm89c51结构框图三、引脚图和逻辑符号图at89c51-般为dip

15、40双列直插封装形式的器件,其引脚图和逻辑符号如图2-2所示。at89c51的引脚p00p07、p10p17、p20p27、p30p37为四个8位并行输入/输出口,其屮p3口、p0口和p2口为双功能口,可以作为普通输入/输出口(第一功能),也 可以作为特殊输入/输岀口。rst为复位输入线,ale、psen、鬲为系统扩展控制线,xtal1和xtal2为时钟电路输入/输出线,vcc、gnd为电源输入线,一般接+5v和地。p1. 0 cp1. 1 cp1. 2 cp1. 3 cpl.4 cp1. 5 cpl.6 cp1. 7 c reset crxd/p3. 0 ctxd/p3. 1 c iht0/

16、p3. 2 c iot1/p3 3 lt0/p3. 4 ct1/p3. 5 wp3. 6 crd/p3. 7 c xtal2 xtal1 l vss c12 4023933843753663573483393210311130122913281427152616251724182313222021j vccj p0 o/adop0 1/ad1po. 2/ad2p0 3/ad3p0.4/ad4j po. 5/ad5j p0 6/ad6po. 7/ad7ea/vppale/progpsenp2 7/ad15p2.6/ad14 p2 5/ad13 p2.4/ad 12 p2 3/ad 11j p2

17、2/ad10p2 1/ad9j p2 0/ad81/ocp1v ccpoat89c51p3p2i/oi/orst alextal1 psenxtal2 _ ea图22at89c51引脚图、逻辑符号图2.3 at89c51存储器配置at89c51单片机有五个独立的存储空间:-64k字节程序存储器空间(0offffh);-256字节内部ram空间(0offh); 128字节内部特殊功能寄存器空间(801offh);位寻址空间(0offh);-64k字节外部数据存储器(ram/io)空间(0offffh)。一、程序存储器mcs-51的程序存储器空间为64k字节,地址范圉为0000hffffh,其地址

18、指针为 16位的程序计数器pc。0开始的部分程序存储器(4k, 8k, 16k,)可以在单片机的 内部也可以在单片机的外部,这取决于单片机的类型,并由输入到引脚鬲的电平控制。at89c51内部有4kb的程序存储器,用于存放程序、原始数据或表格。若丑接 vcc(+5v),则程序计数器pc的值在0至offfh之间时,cpu取指令时访问内部的程序存 储器;pc值大于offfh时,则访问外部的程序存储器。如果鬲接vss(地),则内部的 程序存储器被忽略,cpu总是从外部的程序存储器中取指令。单片机外部扩展的程序存 储器一般为eprom电路(紫外线可擦除电可编程的只读存储器)o.mcs-51的引脚殛万输

19、 出外部程序存储器的读选通信号,仅当cpu访问外部程序存储器时,丽?才有效(输 出负脉冲)。mcs-51复位后,程序计数器pc为0, cpu从地址0开始执行程序,即复位入口地 址为0。另外,mcs-51的中断入口也是固定的,程序存储器地址3、obh、13h、1bh、 23h单元为中断入口,mcs-51的屮断源数目是因型号而异的,中断入口也有多有少, 但总是从地址3开始,每隔8个字节安排一个中断入口。表21程序存储器中的特殊单元单元地址特殊用途0000h启动地址0003h外部中断0中断服务程序入口地址ooobh定时/计数器t0溢出中断服务程序入口地址0013h外部中断1中断服务程序入口地址001

20、bh定时/计数器t1溢出中断服务程序入口地址0023h串行口接收和发送屮断服务程序入口地址二、数据存储器at89c51芯片共有256个ram单元,其中后128单元被专用寄存器占用,能作为寄 存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据 存储器就是指前128单元,简称内部ram。地址范围为00hffh (256b)。是一个多用 多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。2.4引脚功能说明at89c51单片机采用40个引脚双列直插式封装,其中有2个专用于主电源引脚,2 个外接晶振的引脚,4个控制或与其它电源复位的引脚,以及32条输入输出i/

21、o引脚。下而按引脚功能分为4个部分叙述各个引脚的功能。一、电源引脚vcc和vss1> vcc (40脚):芯片工作电源输入端接+5v电源;2、vss (20脚):芯片工作接地端。二、外接晶振引脚xtal1和xtal21、xtal1 (19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器 的输入端,这个放大器构成采用外部时钟时,对于hm0s单片机,该引脚接地;对于chmos 单片机,该引脚作为外部振荡信号的输入端。2、xtal2 (18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相 放大器的输出端。当采用外部时钟时,对于hm0s单片机,该引脚作为外部振荡信号的 输

22、入端。对于chmos芯片,该引脚悬空不接。三、控制信号引脚控制信号或与其它电源复位引脚有rst、ale. psen和丑等4种形式。1、rst (9脚:rst即为reset,为备用电源,所以该引脚为单片机的上电复位或 掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可 实现复位操作,使单片机复位到初始状态。当vo:发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源 (+5v) 为内部ram供电,以保证ram中的数据不丢失。2、ale (30脚):为地址锁存允许输出信号/编程脉冲信号输入端;此信号为外部的 扩展大陆低位字节地址提供一个允许锁存信号对芯片内的epro

23、m/eeprom空间固化程序 时提供一个编程脉冲信号。当访问外部存储器时,ale信号用来所存地址的低位字节。 在不访问外部存储器时,ale端总是以振荡频率的6分频来周期性地输出正脉冲信号, 故可作为对外的时钟输出。在访问外部数据存储器时,要跳过一个ale脉冲。在对内部具有eprom的8751单片机进行编程时,此引脚用于输入编程脉冲。3、psen (29脚):片外程序存储器读选通输岀端,低电平有效。在cpu取指令或常 数时,用于选通外部程序存储器。当从外部程序存储器读取指令或常数期间,每个机器 周期再丽两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,psen信号将不岀现。4、

24、ea (31脚:ea为访问外部程序储器控制信号/编程电压输入端,低电平有效。当鬲端保持高电平时,片内存储器有效,单片机访问片内程序存储器4kb (mcs-52子系列为8kb)0若超出该范围时,自动转去执行外部程序存储器的程序。当丑端保持 低电平时,无论片内有无程序存储器,均只访问外部程序存储器。四、输入/输出(i/o)引脚1、p0 口(39脚22脚:p0. 0p0. 7统称为p0 口,p0 口为三态双向i/o 口。 当不接外部存储器与不扩展i/o接口时,它可作为准双向8位输入/输出接口。当接有 外部程序存储器或扩展1/0 口时,p0 口为地址/数据分时复用口。它分时提供8位双向 数据总线。对于

25、片内含有eprom的单片机,当eprom编程时,从p0 口输入指令字节,而当检 验程序时,则输出指令字节,校验时,要求外接上拉电阻。2、p1 口(1脚8脚:p1.0p1.7统称为p1 口,可作为准双向i/o接口使用。 对于mcs52子系列单片机,p1. 0和pl. 1还有第2功能:p1. 0 口用作定时器/计数器 2的计数脉冲输入端t2; pl. 1用作定时器/计数器2的外部控制端t2exo对于eprom编 程和进行程序校验时,p1 口接收输入的低8位地址。3、p2 口(21脚28脚:p2.0p2. 7统称为p2 口,一般可作为准双向i/o接口。 当接有外部程序存储器或扩展i/o接口且寻址范围

26、超过256个字节时,p2 口用于高8 位地址总线送出高8位地址。对于eprom编程和进行程序校验时,p2 口接收输入的8 位地址。4、p3 口(10脚17脚:p3.0p3. 7统称为p3 口。它为双功能口,可以作为一 般的准双向i/o接口,也可以将每1位用于第2功能,而且p3 口的每一条引脚均可独 立定义为第1功能的输入输出或第2功能。p3 口的第2功能见表2-1:表22单片机p3 口管脚含义脚引第2功能0p3.rxd (串行口输入端0)1p3.txd (串行口输出端)2p3.into (外部中断0请求输入端,低电平有效)3p3.int1 (外部中断1请求输入端,低电平有效)4p3.t0 (时

27、器/计数器0计数脉冲输入端)5p3.t1 (吋器/计数器1数脉冲输入端)6p3.wr (外部数据存储器空间写通信号输出端,低电平有效)7p3.rd (外部数据存储器空问读信号输出端,低电平有效)综上所述,at89c51系列单片机的引脚作用可归纳为以下两点:1)单片机功能多,引脚数少,因而许多引脚具有第2功能;2)单片机对外呈3总线形式,由po、p2口组成16位地址总线;由p0口分时复用作为 数据总线。第3章 温度控制系统的器件介绍3. 1 ds18b20温度传感器3. 1. 1结构说明ds1820数字温度计提供9位(二进制)温度读数,指示器件的温度。信息经过单线接 口送入ds1820或从ds1

28、820送出,因此从主机cpu到ds1820仅需一条线(和地线)。ds1820 的电源可以由数据线本身提供而不需要外部电源。因为每一个ds1820在出厂时已经给定 了唯一的序号,因此任意多个ds1820可以存放在同一条单线总线上。这允许在许多不同 的地方放置温度墩感器件。ds1820的测量范围从-55°c到+125°c,增量值为0. 5°c,可在 is (典型值)内把温度变换成数字。图3/温度传感器实物图及其内部结构图3.1.2 ds18b20与单片机之间的通讯命令和时序简单的硬件接口是以相对复杂的接口编程为代价的。各器件与单片机z间的接口协 议(包括初始化,写1,

29、写o,读1,读o等协议)要通过严格的u寸序来保证。一、ds18b20的初始化时序初始化包括主机发送的复位脉冲和器件向主机返回的存在脉冲。主机总线在6时刻 发出一最短为480 us的低电平复位脉冲,接着在b时刻释放总线并进入接收状态,器件 在接收到总线的屯平上升沿后,等待1560 p s后在b时刻发出60240 u s时延的低电 平存在脉冲信号,通知主机器件以接在总线上。vk i-wire bus gnd60 tx "广 <120ds18b20 采样 mm 匕 mili ds18b20采禅min typ max15ws 十珈s 图3-2 ( a )初始化时序二、单片机的写0与写1

30、时序当主机总线于t3时刻从高电平拉至低电平时,就产生“写”的时间间隙。从t3时刻 开始15 u s z内,应将所需写的位送到总线上。器件在t3后的1545 u s期间内对总线 采样。低电平写入0,高电平写入1。连续写两位之间的间隙应大于lus。vex r发复侍m冲liso tx *0m <96<lgs1机搖枚fr a q u v wij戶一1 sta轴>gnr-图3-2 ( b )写时序三、单片机的读0与读1时序主机在t4时刻将总线从高电平拉至低电平,持续lus之后将总线释放,就产生读 时时限。主机必须在ti之后的15 us之内完成读总线状态,并在45 us内释放总线。连 续

31、读两位z间的间隙应大于1 u soi £机嚴.旷 时何卅 t,ims一-i屮lil: “:h同片图3-2 ( c )读时序四、ds18b20的rom操作命令主机在收到器件的存在脉冲后,并可发出某个rom操作命令。这些命令的名称,代 码和功能如表3-1。表3/ rom操作命令指令名称代码功能读rom33h在口线上接一个器件时读其rom码匹配rom55h找出某个指定rom码的器件跳过romcch对口线上所有器件的操作搜索romf0h口线上有多个器件时,找出每个器件rom码搜索报警ech找出各器件是否超限五、ds18b20的存储器操作命令主机通过口线对器件发出rom命令后,接着便发岀某一存

32、储命令,去控制器件的工 作状态,完成温度的转换和数据的输出。存储器命令的名称、代码和功能如表3-2。表32存储器命令指令名称代码功能写存储器4eii主机向存储器中th、tl和配位寄存器中写数据读存储器beii主机连续读08存储器中内容复制存储器48h复制几、和配位寄存器内容到eeprom中温度转换44h启制动温度转换重新调出b8h从eeprom屮调出几、11.和配位寄存器数据到存储器中读电源b4h器件向主机传送它的供电方式3. 1. 3温度分辨率与温度字节中的位定义一、温度分辨率ds18b20的数字温度输出只用9位二进制表示,分辨率固定为0.5°co欲提高分辨力, 只能靠软件计算来实

33、现。而ds18b20的数字温度输出可进行912位的编程。在便签式ram 的第五个字节是config寄存器,其格式如下:10msblsbmsb代表最高有效位,lsb代表最低有效为。格式中的第04位在写操作时不予考虑, 读出时总是“1”;第7位在写操作时不予考虑,读出时为“0”。ro、r1是可编程温度分 辨力位。通过对这两位进行不同的编程,可设定不同的温度分辨力及最大转换时间,详 见表3-3。表33温度分辨力及最大转换时间r1r0ds18b20的工作模式/位温度分辨力/°c最大转换时间0090.593. 7501100. 25187.510110. 12537511120. 062575

34、0由表可见,设定的分辨力越高,所需要的温度-数据转换时间就越长。因此,在实 际应用中需要在分辨力与转换时间二者之间权衡考虑。在芯片出厂时r1和r0均被配置为 “1”,即工作在12位模式下。ds18b20工作在12位模式下温度字节中的位定义见表3-4 阖 o表34温度字节中的位定义低八位字节(数据位)222222223210-1-2-3-4高八位字节(符号位和数据位)sssss262521表中的第一行表示温度的低字节,第二行表示温度的高字节,s表示符号位。当ds18b20的工作模式依次选择11位、10位和9位时,末尾为零的低位数就分别对应于一位、 两位和三位。举例说明,当工作模式选择10位时,最

35、低两位(即旷位和旷位)均为0, 总有效位就变成10位。其中,数字位占9位,符号位也占一位。3. 2 74ls47译码器3.2.1 一般结构一、结构说明74ls47是一个7段码数码管的驱动芯片,通过它解码,可以直接把数字转换为 数码管的显示数字,从而简化了程序,节约了单片机的10 口开销。二、引脚排列及说明图3-3引脚图74ls47的外引线排列图如上图所示,说明铁(1)lt:试灯输入,lt = 0时各笔划段全亮,显示字型“8”;(2)bi/rbo:作输入时为灭灯输入,8/二0时各笔划段全灭;(3)a、b、c、d (d为最高位)输入二进制码;(4)bi/rbo:作为输出端使用口寸为动态灭灯输出,当

36、动态灭灯输入丽二0, 且dcba=0000时,bi/rbo=0,使所有笔划段全部熄灭。(5)a、b、c、d、e、f、g为各笔划段控制端,低电平输出有效,配共阳极数 码管。三、74ls47真值表表3-5 74ls47真值表输入输出字形ltrbirbo/bcihhhllll0hxhlllp1hxhllhi2hxhllh13hxhlhll4hxhlhl15hxhlhhl6hxh1hhr7hxhlll8hxhi-llr93.2.2内部结构本次设计使用的是共阳极的led数码管,共阳就是7段的显示字码共用一个电源的正原理示意图如下图3-4所示w :数码管内部结构图如图3-5所示:图34数码管原理示意图vt

37、3.8乙、乙£乙、乙25_| :£erii乙z图35数码管内部结构图3. 2. 3 led数码管的驱动原理从图3-5可以看出,要是数码管显示数字,有两个条件川:1. 是要在vt端(3/8脚)加正电源;2. 要使(a, b, c, d, e, f, g, dp)端接低电平或“0”电平。这样才能显示的。 计算方法如下表3-6所示:表36数码显示计算方法dpgfedcba显示编码110000000coh111110011f9h101001002a4h101100003boh10011001499h10010010592h10000010682h111110007f8h100000

38、0088oh1001000099oh10001000a88h10001110f8eh第4章智能温度控制系统的软件设计本系统的软件包括测试子程序、键盘子程序、测温子程序、显示子程序、控制系统 子程序、主程序(温度调节)。本章将分别介绍引脚和存储单元分配及各个子程序。4.1总体设计4.1. 1引脚和存储单元分配表41引脚和存储单元分配表2011显示缓冲区p0. 1 p0.3数码管控制xula而21h小数部分p0. 4 p0. 7数码输出端2211整数部分p1op15按键输入端23h个位数p2. 1温度输入端24h十位数p2.2报警输出端25h符号位p23p26指示信号输出端3011实测温度p2.

39、7小数点输出xu1a而33h设定温度上限值p3. 2 (into)外部中断输入端34h设定温度下限值p3. 5控制输出端4. 2测试子程序一、程序功能该子程序主要是检测该系统各个硬件电路是否可以正常工作。如果系统正常当系统 得电吋,数码管显示888.8,状态指示灯全亮,报警器报警,检测3秒后系统转入正常 工作状态:所有发光二极管熄灭,蜂鸣器停止声响,数码管显示由ds18b20温度传感器 测得的当前温度。二、流程图开始图41测试子程序流程图4.3显示子程序一、程序功能本程序将要显示的数据进行十进制转换、解压缩、然后通过p0 口送到数码管去显 示。本系统采用的动态显示,动态显示可以节约单片机的管脚

40、。动态显示主要考虑的是 各个数码管的显示延时时间。使数码管的显示亮度正好。显示采用四位数,其屮两位整数、一位小数、一位符号。本设计用的是共阳数码管,采用动态显示方法,由p0 口对其控制。其中:p0. 0、p0.1、p0. 2、p0. 3为显示器的位选信号。当p0. 3为低电平时,显示符号位,当p0.2为低电平时,显示最高位;当p0. 1为低电平时,显示中间位;当p0.0为低电 平时,显示最低位,最低位总是为零。p2.7为小数点位的控制信号,当p2.7为低电平时,小数点亮。p0.4p0.7为显示数据输出端,要数码管显示一个完整的数字,需要7位数据,因此要对单片机输出的显示数据进行译码。由74ls

41、47来完成。先根据要显示的数查表找到那个数,再把它经过译码器译码输出给数码管显示。图4-2显示电路二、流程图图牛7字形子程序流程图图4七十进制转换子程序流程图一、程序功能该子程序主要是调整温度设定值,该程序主要考虑的是防按键抖动,在这里可以判 断两次按键在两次判断中间加入延时。按下设定键set,进入外部中断子程序,设定指 示灯亮,数码管显示设定值。如果设定值小于99.5,则按一下“ + ”键设定值加0.5; 如果设定值等于99.5,则按“ + ”键无效。如果设定值大于0,则按一下“-”键设定值 减0.5;如果设定值等于0,则按“-”键无效。按下确认键设定指示灯灭,数码管显示 实测值,跳出中断。

42、图4-8按键电路二、流程图图49键盘子程序流程图一、程序功能温度传感器通过测温子程序,测得外部温度,进行数据调整通过p2.1 口送到单片 机中与设定温度相比较从而控制电热器去工作。vccp2. 1dqgnd吉 ds18b20图410温度采集电路二、流程图图4/1测温子程序流程图一、程序功能木次控制加热电压采取的是控制可控硅的导通角来实现的。想要控制可控硅首先我们应该采集到 加热电压的正弦波的零点。我采取的办法是利用外中断的方法跳入中断子程序内进行执行调控工作。 如图4-14所示在将220v电压将为9v电压之后经过三极管的作用由于只有大于导通电压时才会变为 低电压,所以会形成图4-12所示图形。

43、于是当处于下降沿的时候回事外部中断一进入中断。进入中断子程序内后会立即开启定时器进行定时,到定时到图4-13中to时会进入定时器中断子 程序并在定时器中断子程序川发送高电平使可控硅导通。当温度上升时,定时时间也随z加长使导 通角减小,电压降低加热速度降低。图412信号生成原理图当进入定时器中断子程序时即在to时刻会向p3. 5发送低电平使其导通使加热开始。每个周期内都 会循环从而调控加热电压,达到缓慢加热的目的。、电路图图4-14同步信号采集三、流程图图4/5加热控制流程图th/用户宇节1tu用户字节24.7 ds18b20 eeprom内将温度上下限值写入读出程序一、内部存储结构图及其操作指

44、令e2ram指令约定代码功能温度变换44h启动ds1820进行温度转换,12位转换时最长为750ms (9位为93.75ms) e结果存入内部9字节ram中。读新存器obiill读内部ram中9字节的内容写新存器4eh发出向内部ram的3、4字节写上、下限温度数据命 令,紧跟该命令z后,是传送两字节的数据。复制暂存器48h将ram中第3、4字节的内容复制到eeprom中。重调eeprom0b8h将eeprom中内容恢复到ram中的第3、4字节。读供电方式ob4h读ds1820的供电模式。寄生供电时ds1820发送 “ 0 ”,外接电源供电ds1820发送“ 1 ”。图4-16ds18b20暂存

45、器表4-2 ds 18b20内部ram指令表二、读写程序结构图图4-17写入eeprom内的程序图4-18从eeprom读出的程序4. 8主程序一、程序功能主程序功能是判断当前温度所处范围,当实际温度低于设定温度下限值五度吋,电 热器加热提高外部温度,加热指示亮;当实际温度低于设定温度下限值并在五度之内时, 随着温度上升加热电压不断减小。当实际温度等于或大于设定温度时,电热器停止加热, 加热指示灯灭,保温指示灯亮;当实际温度在设定上限值与下限值之间时保持上一状态。 当实际温度高于下限温度5°c时,报警器报警并且会开启风扇。由于加热器件采用的220v的电源供电,所以用光耦m0c3021

46、对其与单片机电路进 行隔离。由程序产牛的高低电平从p3. 5 口输出,通过光电耦合器控制可控硅bta12的 导通角,从而达到控制加热器加热电压的效果。由p2. 2p2. 6输出高低电平控制发光二极管的亮灭和蜂鸣器的报警功能。发光二极管和蜂鸣器的负极分别接p2 口,正极接+5v,当其对应的口输出为低电平图420散热电路图eapseieimdei二、流程图11<4u1u;>1a*11n1±r7图421状态指示电路保温显示实测温度允许外部中断0中断给温度上下限直初值停止报姿调甲测试子程序启动指示灯亮图牛22主程序流程图第五章软件调试5. 1调试软件的介绍伟福仿真器简介一.仿真头

47、介绍p0d8x5xp仿真头为p0d8x5x改进型。可配e2000系列,e6000系列,k51系列仿真器,用于仿真 mcs51系列及兼容单片机,可仿真cpu种类为8031/32, 8051/52, 875x, 89c5x, 89cx051,华邦的 78e5x, lg的97c51/52/1051/2051o配有40脚dip封装的转接座,可选配44脚plcc封装的转接座. 选配2051转接座可仿真20脚dip封装的图5-289cx051cpu。当用户板功耗不大时,可以短接5v电源输岀跳线,由仿真器供电给用户板,一般 情况下请不要短接此跳线。如果短接复位信号输出跳线,当用软件复位程序时,仿真头的复位脚

48、会 输出一个复位信号,以复位用户板的其它器件。注意:如果用户板有复位电路,请不要短接此跳线。 p0dh8x5x / p0dh591 仿真头p0dh8x5x运用philips授权的ii00ks技术用philips芯片作为仿真芯片,來仿真各类与mcs51兼 容的mcu,仿真头的原有的p87c52可仿真通用的8x5x系列芯片,可以将p87c52换成philips的 p89c51rx+或p89c51rx2来仿真相应的mcu,也可以换成philips的p89c66x用于仿真philips的 p89c66x系列mcu。朗 p89c51rd2和p89c66x内部带有扩展ram,可以借用p89c51rd2或p

49、89c66x来 仿真带扩展ram的cpu,例如winbond的78e58b、78e516等。20芯电缆34芯电堆三角与三角对接圆与圆对接20 »i »philips 仿真 cpu晶张选择跳线 科选择仿貞头晶孤 d选择用户板晶振 ' 1 k 匸i i i i i电源选择跳线 普通仿真方式匚”5电源输出外部电源接入辽取a图5-3p0dh8x5x可以从外部引入仿真电源,来仿真2.7v5.5v用户电压,当用户需要仿真低电压吋, 将“电源选择跳线”接成“外部电源接入”方式即可。仿真头的低电压由用户板提供。注意:当用 户想仿真低电压时,仿真头上的仿真cpu必须能工作于低电压状态。(详见p0dh8x

温馨提示

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

评论

0/150

提交评论