当前位置:首页 > 基于C51单片机数字温度计设计制作
P3.5 T1 P3.6 /WR 记时器1外部输入 外部数据存储器写选通 P3.7 /RD 外部数据存储器读选通 P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
第二节 数字温度传感器DS18B20
一、DS18B20的主要特性
适应电压范围更宽,电压范围为3.0~5.5V,在寄生电源方式下可由数据线供电。 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处
6
理器与DS18B20的双向通讯。
DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。
温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
可编程 的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
测量结果直接输出数字温度信号,以\一线总线\串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
二、DS18B20的内部结构
图3-2为DS18B20的内部结构图,表示出了 DS1820 的主要部件。DS1820 有三个主要数字部件:1)64 位激光 ROM,2)温度传感器,3)非易失性温度报警触发器 TH 和 TL。器件用如下方式从单线通讯线上汲取能量:在信号线处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。DS1820 也可用外部 5V 电源供电源供电。
7
三、DS18B20工作原理
低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
第三节 复位电路的设计
单片机的复位电路如图3-3所示。该复位电路采用手动复位与上电复位相结合的方式。当按下按键S1时,VCC通过R2电阻给复位输入端口一个高电平,实现复位功能,即手动复位。上电复位就是VCC通过电阻R2和电容C构成回路,该回路是一个对电容C1充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电压,实现上电复位功能。
图3-3单片机的复位电路
8
第四节 功能键
上电后,进入上限值设置,此时D4灯发光,通过加减、切换位和负号键可以设置温度值,设置好后按确定键进入下限设置,下限设置好之后按下确定键进入温度采集部分,并显示当前温度,此过程中,再次按下确定键可进入设置环境。
功能键部分连接图如图3-4所示:
图3-4 功能键部分连接图
第五节 数码管串口显示
此次的设计要求数码管采用串口进行数据传输,所以使单片机串口工作在方式0,即8位移位寄存器输入/输出方式,外接移位寄存器74LS164以扩展I/O端口。方式 0的输出是8位串行数据,通过移位寄存器可将8位串行数据变成8位并行数据输出,引脚RXD[P3.0]和TXD[P3.1]分别作74ls164的数据输入端和同步时钟脉冲输入端。每一个时钟信号的上升沿加到74LS164的CP端时,移位寄存器将串口输出的数据移入一位,8个时钟脉冲过后串口输出的8位二进制数全部移入第一片74LS164,通过Q0-Q7并行输出。
使用这种方法单片机中CPU的开销小。通过串口外接串并转换器74LS164,扩展并行的I/O口。需要几个数码管就扩展几个并行接口,74L164的13(Q7)接下一位移
9
共分享92篇相关文档