基于单片机与pc机的温度控制系统硬件设计毕业设计(编辑修改稿)内容摘要:
P P3 端口,对应的引脚分别是 ~ , ~ , ~ , ~ ,共 32 根 I/O 线。 每根线可以单独用作输入或输出。 ① P0 端口,该口是一个 8位漏极开路的双向 I/O 口。 在作为输出口时,每根引脚可以带动 8个 TTL 输入负载。 当把“ 1” 写入 P0 时,则它的引脚可用作高阻抗输入。 当对外部程序或数据存储器进行存取时, P0 可用作多路复用的低字节地址 /数据总线,在该模式,P0 口拥有内部上拉电阻。 在对 Flash 存储器进行编程时, P0 用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。 ② P1 端口,该口是带有内部上拉电阻的 8 位双向 I/O 端口, P1 口的输出缓冲器可驱动(吸收或输出电流方式) 4个 TTL 输入。 对端口写“ 1”时,通过内部的上拉电阻把端口基于单片机与 PC 机的温度控制系统硬件设计 9 拉到高电位,此时可用作输入口。 P1 口作输入口使用时,因为有内部的上 拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在对 Flash 编程和程序校验时, P1 口接收低 8 位地址。 另外, 与 可以配置成定时 /计数器 2 的外部计数输入端( )与定时 /计数器 2 的触发输入端( ),如表 21所示。 表 21 P1 口管脚复用功能 端口引脚 复用功能 T2(定时器 /计算器 2的外部输入端) T2EX(定时器 /计算器 2的外部触发端和双向控制) MOSI(用于在线编程) MISO(用于在线编程) SCK(用于在线编程) ③ P2端口,该口是带有内部上拉电阻的 8位双向 I/O 端口, P2 口的输出缓冲器可驱动(吸收或输出电流方式) 4个 TTL 输入。 对端口写“ 1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。 P2 口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器或 16 位的外部数据存储器 ( 如执行 MOVX @DPTR 指令 )时,P2口送出高 8位地 址,在访问 8位地址的外部数据存储器 ( 如执行 MOVX @RI 指令 ) 时,P2 口引脚上的内容(就是专用寄存器( SFR)区中 P2 寄存器的内容),在整个访问期间不会改变。 在对 Flash 编程和程序校验期间, P2 口也接收高位地址或一些控制信号。 ④ P3端口,该口是带有内部上拉电阻的 8位双向 I/O 端口, P3 口的输出缓冲器可驱动(吸收或输出电流方式) 4个 TTL 输入。 对端口写“ 1”时,通过内部的上拉电阻把端口拉到高电 位,此时可用作输入口。 P3 口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在 AT89S52 中,同样 P3 口还用于一些复用功能,如表 22 所列。 在对 Flash 编程和程序校验期间, P3口还接收一些控制信号。 表 22 P3 端口引脚与复用功能表 端口引脚 复用功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断 0) INT1(外部中断 1) T0(定时器 0 的外部输入) T1(定时器 1 的外部输入) WR(外部数据存储器写选通) 基于单片机与 PC 机的温度控制系统硬件设计 10 RD(外部数据存储器读选通) 复位输入端。 在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。 看门狗定时器( Watchdog)溢出后,该引脚会保持 98 个振荡周期的高电平。 在 SFR AUXR(地址 8EH)寄存器中的 DISRTO 位可以用于屏蔽这种功能。 DISRTO 位的默认状态,是复位高电平输出功能使能。 在存取外部存储器时,这个输出信号用于锁存低字节地址。 在对 Flash 存储器编程时,这 条引脚用于输入编程脉冲 PROG。 一般情况下, ALE是振荡器频率的 6分频信号,可用于外部定时或时钟。 但是,在对外部数据存储器每次存取中,会跳过一个 ALE 脉冲。 在需要时,可以把地址 8EH 中的 SFR 寄存器的 0 位置为“ 1”,从而屏蔽 ALE 的工作;而只有在 MOVX 或 MOVC 指令执行时 ALE 才被激活。 在单片机处于外部执行方式时,对 ALE 屏蔽位置“ 1”并不起作用。 程序存储器允许信号。 它用于读外部程序存储器。 当 AT89S52 在执行来自外部存储器的指令时,每一个机器周期 PSEN 被激活 2 次。 在对外部数据存储器 的每次存取中, PSEN 的 2次激活会被跳过。 为了确保单片机从地址为 0000H~ FFFFH 的外部程序存储器中读取代码,故要把 EA 接到 GND 端,即地端。 但是,如果锁定位 1 被编程,则 EA在复位时被锁存。 当执行内部程序时, EA应接到 Vcc。 在对 Flash 存储器编程时,这条引脚接收 12V 编程电压 Vpp。 振荡器的反相放大器输入,内部时钟工作电路的输入。 振荡器的反相放大器输出。 ( 2) AT89S52 单片机 最小系统 [4]电路图如图 23所示。 图 23 单片机 AT89S52 最小系统 基于单片机与 PC 机的温度控制系统硬件设计 11 ( 1) 复位电路: 单片机上电时,当振荡器正在运行时,只要持续给出 RST 引脚连个机器周期的高电平,便可完成系统复位。 外部复位电路是为内部复位电路提供两个机器周期以上的电平而设计的。 系统采用上电自动复位,上电瞬间电容器上的电压不能突变, RST 上的电压是 Vcc 上的电压与电容器上的电压之差,因而 RST 上的电压与 Vcc 上的电压相同。 随着充电的进行,电容器上的电压不断上升, RST 上的 电压就随着下降, RST 脚上只要保持 10ms 以上高电平,系统就会有效复位。 电容 C 可取 10~33uF,电阻 R 可取 ~10kΩ。 在本系统设计中,C取 22uf,R 取 ,充电时间常数为 22*106 **103=104ms。 ( 2)振荡电路: XTAL1 脚和 XTAL2 脚分别构成片内振荡器的反相放大器的输入和输出端,外接石英晶振或陶瓷晶振以及补偿电容 C C2 选 47uF 构成并联谐振电路。 当外接石英晶振时,电容C C2选 30Pf177。 10pF;当外接陶瓷振荡器时,电容 C C2 选 47uF177。 10uF。 AT89S52 系统中晶振可在 0~ 24MHz 选择。 外接电 C C2 的大小会影响振荡器频率的稳定度、 起振时间及温度稳定性。 在设计电路板时,晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠工作。 在本硬件系统设计中,为保证串行通行波特率的误差,选择了 的标准石英晶振,电容 C C2 为 47uF。 ( 3) EA接高电平,选用片内程序存储器。 ( 4) 单片机编程 温度传感器的选取 目前市场上温度传感器较多,有以下几种: 方案一:选用铂电阻温度传感器,此类温度传感器线性度、稳定性等方面性能都很好, 其成本较高。 方案二:采用热 敏电阻,选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。 方案三: DS18B20 是 DALLAS 公司生产的一线式数字温度传感器,具有 3 引脚 TO- 92小体积封装形式;温度测量范围为- 55℃ ~+ 125℃ ,可编程为 9位~ 12位 A/D 转换精度,测温分辨率可达 ℃。 此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。 比较以上三种方案,方案三具有明显的优点,因此选用方案三。 温度传感器 DS18B20的介绍 DS18B20[5]是 Dallas 半导体公司 推出的一线总线数字化温度传感器件,它能在现场采集温度数据,并将温度数据直接转换成数字量输出。 此外,一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念 基于单片机与 PC 机的温度控制系统硬件设计 12 DS18B20 测量温度范围为 55176。 C ~ +125176。 C ,在 10~ +85176。 C 范围内,精度为 177。 176。 C。 DS1822 的精度较差为 177。 2176。 C。 现场温度直接以 一线总线 的数字方式传输,大大提高了系统的抗干扰性。 适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 DS18B20 可以程序设 定 9~ 12位的分辨率,精度为 177。 176。 C。 可选更小的封装方式,更宽的电压适用范围。 分辨率设定,及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。 DS18B20的性能是新一代产品中最好的。 性能价格比也非常出色。 DS1822与 DS18B20软件兼容,是 DS18B20 的简化版本。 省略了存储用户定义报警温度、分辨率参数的 EEPROM,精度降低为 177。 2176。 C ,适用于对性能要求不高,成本控制严格的应用。 DS18B20 可用传统方式供电 [6],将外部电源连在 VDD 脚上,其工作电压范围为 ~, 也可以用数据 线供电,称为寄生供电模式,电源由总线为高电平时 DQ 脚上的上拉电阻提供,此时 VDD 脚必须接地。 在 12 位分辨率时,最多在 750ms 内可以把温度值转换成数字。 并具有负压特性,即当电源极性接反时,温度计虽然不会正常工作,但却不会因发热而烧毁。 一、 DS18B20 的主要特性 ( 1)适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电 ( 2)独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 ( 3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。 ( 4) DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 ( 5) 测 温范围- 55℃ ~+ 125℃ ,在 10~ +85℃ 时精度为 177。 ℃ ( 6)可编程的分辨率为 9~ 12 位,对应的可分辨温度分别为 ℃ 、 ℃ 、 ℃和 ℃ ,可实现高精度测温。 ( 7)在 9位分辨率时最多在 , 12 位分辨率时最多在 750ms内把温度值转换为数字,速度更快。 ( 8)测量结果直接输出数字 温度信号,以 一线总线 串行传送给 CPU,同时可传送CRC 校验码,具有极强的抗干扰纠错能力。 ( 9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 二、 DS18B20 的外形和内部结构 DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 图 24为 DS18B20 内部结构图,图 25 为 DS18B20 的引脚( PR35 封装)。 引脚 含义如下 : (1)DQ: 数字信号输入 /输出端; 基于单片机与 PC 机的温度控制系统硬件设计 13 (2)GND: 电源地; (3)VDD: 外接供电电源输入 端(在寄生电源接线方式时接地)。 三、 DS18B20 工作原理 DS18B20 测温原理如图 26 所示。 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。 高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。 计数器 1 和温度寄存器被预置在- 55℃ 所对应的一个基数值。 计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1重新开始对低温度系数晶振产生 的脉冲信号进行计数,如此循环直到计数器 2计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 图 26中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。 图 26 DS18B20 测温原理 DS18B20 有 4个主要的数据部件: ( 1)光刻 ROM 中的 64 位序列号是出厂前被光刻好 的,它可以看作是该 DS18B20 的地址序列码。 64位光刻 ROM 的排列是:开始 8位( 28H)是产品类型标号,接着的 48 位是该DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码( CRC=X8+X5+X4+1)。 光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。 图 24 DS18B20 内部结构图 图 25 DS18B20 引脚图 基于单片机与 PC 机的温度控制系统硬件设计 14 ( 2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以 ℃/LSB 形式表达,其中 S 为符号位。 表 23: DS18B20 温度值格式表 这是 12 位转化后得到的 12 位数据,存储在 DS18B20 的两个 8 比特的 RAM 中,二进制中的前面 5位是符号位,如果测得的温度大于 0,这。基于单片机与pc机的温度控制系统硬件设计毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。