ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:140.50KB ,
资源ID:3865040      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3865040.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(温度控制器Word格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

温度控制器Word格式.docx

1、P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。表4-1为P1口第二功能。表1 系统P1口第二功能表端口引脚第二功能P1.5MOSI(用于ISP编程)P1.6MISO(用于ISP编程)P1.7SCK(用于ISP编程)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入

2、口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问8位地址的外部数据存储器(如执行:MOVX Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。)P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如下表2。 表2 系统P3口的第二功能表 端口功能RXD(P3.0)串行输入口T0

3、(P3.4)定时/计数器0外部输入TXD(P3.1)串行输出口T1(P3.5)定时/计数器1外部输入INT0(P3.2)外中断0WR(P3.6)外部数据存储器写选通INT1(P3.3)外中断1RD(P3.7)外部数据存储器读选通RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO 位(地址8EH)可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平打开状态。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周

4、期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。AT89S51单片机内部构造及功能: 特殊功能寄存器:特殊功能寄存器的片内空间分存如下图3所示。这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。 中断寄存器:各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。下图 为AUXR辅助寄存器。电源空闲标志:电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。存储器结构:MCS-51单片机内核采用程序存储器和数据存储器空

5、间分开的结构,均具有64KB外部程序和数据的寻址空间。程序存储器:如果EA引脚接地(GND),全部程序均执行外部存储器。在AT89S51假如接至Vcc(电源),程序首先执行从地址0000H0FFFH(4KB)内部程序存储器,再执行地址为1000HFFFFH(60KB)的外部程序存储器。数据存储器:在AT89S51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。看门狗定时器(WDT):WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。外部

6、复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H和0E1H写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。引脚图详见图3图3 AT89S51单片机引脚图 二、各单元硬件设计 (1)键盘单元 单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。 键开关状态的可靠输入 :为了去抖动我采用软件方法,它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,

7、如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响 对照图示的4*4键盘,说明线反转法工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态来实现的。依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。键盘共有16个按键,用于

8、方便设定温度。 , 数字按键,输入数字0-9; , 设置的确认,修改设置温度时进行确认;设置的清除,修改设置温度时进行删除; 开启电源 关闭电源 显示及设置转换到温度点1,按此按键后,显示预设置温度的数码管闪烁;显示及设置转换到温度点2,按此按键后,显示预设置温度的数码管闪烁;表3系统键盘的按键分布表P2.0123P2.14567P2.289F1F2P2.3清除开启关闭确定P2.4P2.5P2.6P2.7(2)温度控制及超温和超温警报单元 当采集的温度经处理后超过规定温度上限时,单片机通过 P1.4 输出控制信号驱动三极管 D1 ,使继电器 K1 开启降温设备 ( 压缩制冷设备 ) :当采集的

9、温度经处理后低于设定温度下限时,单片机通过 P1.5 输出控制信号驱动三极管 D2 ,使继电器 K2 开启升温设备 ( 加热器1) 。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。(3)温度测试单元 采用温度芯片DS18B20。使用集成芯片,能够有效的减小外界的干扰,提高测量的精度,简化电路的结构。(4) 温度控制器件电路 单片机通过三极管控制继电器的通断,最后达到控制电热器的目的。 当温度未达到要求时,单片机发送高电平信号使三极管饱和导通,继电器使电源与电热器接通,电

10、热器加热。温度慢慢升高。 当温度上升到预定温度时,单片机发送低电平信号三极管进入截止状态,继电器的弹片打到另一侧,使电热器与电源断开,电热器停止加热。 继电器电路中有一个三极管8050的保护电路,即将一个二极管反向接到三机管的两端。连接方法如图4所示。图4 单片机控制信号其原理是:当继电器突然断电时,继电器产生很大的反向电流。二极管的作用是将反向电流分流,使流过三级管8050的电流比较小,达到保护三极管8050的作用。(5)七段数码管显示单元 本部分电路主要使用七段数码管和移位寄存器芯片74LS164。单片机通过I2C总线将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器

11、控制数码管的显示,从而实现移位寄存点亮数码管显示当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B 任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下 Q0 为低电平。当 A、B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态,逻辑封装图如图5:图5逻辑封装图引出端符号:CLOCK 时钟输入端;CLEAR 同步清除输入端(低电平有效);A,B 串行数据输入端;QAQH 输出端。真值表:表4表4 系统真值表InputOutput ClearClockABQAQBQHLX

12、HQADQBDQHDQANQGN 图6数码管实际连线图(6)接口通讯单元max232资料简介: 该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。5 1单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 在本设计中采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD

13、。这是最简单的连接方法,但是对我来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接,串口通讯具体如图7图7 通讯接口连线图(7) 电源输入部分 控制系统主控制部分电源需要用5V直流电源供电,其电路如图10所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。

14、本电路使用集成稳压芯片7805解决了电源稳压问题。如图8 图8电源部分连线图三、软件设计 (1) 程序结构分析键盘扫描电路及按键处理程序:键盘的输入按键的识别及进入相应的程序。温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。继电器控制程序:控制继电器动作串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机。(2)主程序 图9 主程序图程序开始的时候先设置初始化,然后就控制数码管显示当前温度。接着就判断F1、F2按键是否被按下。按下F1进入温度控制点1的程序、按下F2进入温度控制点2的程序。程序控制设置温度的两个数码

15、管闪烁的,此时键盘输入有效。有按键按下的时候进入按键处理程序。按下“确定”按键后,程序进入判断程序和继电器控制程序。继电器动作后,程序回到显示当前程序,并开始循环。(3) 程序代码主程序:ORG 0000H ;DS18B20.ASM DS18SL EQU 41H ;用于保存读出温度的低8位 DS18SH EQU 40H ;用于保存读出温度的高8位DS18FIG EQU 8H ;是否检测到DS18B20标志位A_BIT1 EQU 31H ;数码管个位数存放内存位置B_BIT1 EQU 32H ;数码管十位数存放内存位置D_BIT1 EQU 35H;数码管百位数存放内存位置DS18CD1 EQU

16、42H ;DS18CD1-DS18CD8暂存64位ROMDS18CD2 EQU 43H ;从低到高DS18CD3 EQU 44HDS18CD4 EQU 45HDS18CD5 EQU 46HDS18CD6 EQU 47HDS18CD7 EQU 48HDS18CD8 EQU 49HDS1864B EQU 4AHDS18ADS EQU 4BHDS18DQ EQU P1.0 ;30H,31H,32H,33H:X 个位 十位 XMOD7: MOV SP,#60HLCALL GET_TEMPER ;调用读温度子程序LCALL READCODEAJMP MOD7INIT_1820: ;DS18B20初始化S

17、ETB DS18DQCLR DS18DQ延时,500US低MCMOV R7,#250DJNZ R7,$MOV R7,#150SETB DS18DQ释放总线LCALL DELAY60US15-60US的等待时间MOV R6,#4SETDSDQ:LCALL DELAY60USJNB DS18DQ,SETDSDQFH ;60-240US内是否有返回信号,为0跳DJNZ R6,SETDSDQCLR DS18FIGRETSETDSDQFH:SETB DS18FIGMOV R7,#250MOV R7,#100RET;数据处理程序:TEMP0: INC AAJMP TEMP1TEMPCOV: MOV A,D

18、S18SL ;数据处理子程序TEMPCOVMOV B,#16DIV ABJB B.3,TEMP0TEMP1: MOV 34H,A ;将DS18SL的高四位右移四位,存入34H中(温度值)MOV A,B ;将DS18SL的低四位X10/16得小数后一位数.MOV B,#10MUL ABMOV 30H,A ;将小数后一位数.存入30H中MOV A,DS18SH ;DS18SH中存放高8位数,权 重16ADD A,34H ;34H中存入温度值的整数部分MOV 31H,B ;个位存入31H中MOV B,#10 ;DIV AB ;MOV 32H,B ;十位存入32H中MOV 35H,B ;百位存入33H

19、中MOV A,DS18SHMOV 33H,#10H ;JB ACC.7,EXIT7MOV 33H,#00HEXIT7: RETGET_TEMPER:读出转换后的温度值,并显示LCALL INIT_1820 ;先复位DS18B20JB DS18FIG,TSS2RET ;判断DS1820是否存在?若DS18B20不存在则返TSS2:MOV DS18ADS,#0DS18JX:LCALL DS18CODPMOV A,DS18ADSADD A,#9MOV DS18ADS,ACJNE A,#63,DS18JXDS18CODP:LCALL MRCOVT ;转换指定的DS18B20的温度LCALL MRRDT

20、EDP ;显示温度TEMP:LCALL INIT_1820JB DS18FIG,NEXT4NEXT4:MOV DS18ADS,#9MOV A,#0CCH ;SKIP ROMLCALL WRITE_1820MOV A,#44H ;温度转换命令LCALL DELAY1SLCALL MRRDTEDP写DS18B20的子程序(有具体的时序要求)WRITE_1820:写DS18B20MOV R5,#8DS18JXWE:初始化CLR DS18DQMOV R7,#5DJNZ R7,$ ;拉低15US内,写入数据CLR CRRC AMOV DS18DQ,CLCALL DELAY60US ;持续60US写完一个

21、位DJNZ R5,DS18JXWEREAD_1820_CODE:读取CODE 64位 MOV R4,#8读8次数 MOV R1,#DS18CD1低位地址存在R1DS18JXRD3:MOV R5,#88位数据DS18JXRD2:前两句完成初始化NOPNOP延时至少1US上升沿,并在,15US内读数MOV C,DS18DQ读时序,最少60USDJNZ R5,DS18JXRD2MOV R1,AINC R1DJNZ R4,DS18JXRD3读DS18B20的程序,从DS18B20中读出两个字节的温度数据READ_18200: MOV R4,#2读两次数 MOV R1,#DS18SLDS18JXRD1:DS18JXRD:DJNZ R5,DS18JXRDDEC R1DJNZ R4,DS18JXRD1READ_1820_1:读取1位SETB

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2