Pin1~Pin8 P1端口 带有内部升压电路的双向I / O端口。
Pin1~Pin8 P1端口; 输出缓冲器可以驱动四个LS TTL负载。Pin1作为设备的脉冲输入引脚,P1。1能够做使能外部中断响应引脚。
Pin21~Pin28 P2端口; 具有内部增强器的双向I / O端口。作为输入引脚,每个都可以加载多个的 TTL负载。当输出为高电平是,该端口可以作为输入端口使用。此外,还可以作为外部拓展寄存器的接入端口,提供地址总线高字节A8〜A15,P2不能用作I / O。
Pin10~Pin17 P3端口; 具备对向通讯,外部中断。
引脚分配如下:
P3。0:RXD(串行输入);
P3。1:TXD(串口输出);
P3。2:INT0(外部中断0);
P3。3:INT1(外部中断1);
P3。4:T0(定时器0外部输入);
P3。5:T1(定时器1外部输入);
P3。6:WR(外部数据存储器的写选通);
P3。7:RD(外部数据存储器的读选通);
RST:系统复位。
2。2 DS18B20
DS18B20是微型温度传感器。其范围为-55°C〜+ 125°C。在-10〜+ 85°C的范围内,精度为±0。5°C。系统的抗干扰能力得到提升,三元温度传感器可靠的测量温度可靠的环境。 DS18B20只需要通过一个端口线与微处理器连接,实现双向通信。它通过单总线协议与AT89C51的MCU进行通信。 P3。3的AT89S51端口连接DS18B20芯片的DQ端。 LCD1602连接SCM P0。 AT89S51的P2端口。MCU AT89C51的主要功能是控制和完成温度和显示信息的采集。DS18B20是美国DALLAS半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号处理器处理。
DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1MA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4。7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。文献综述
DS18B20有六条控制命令:温度转换 44H 启动DS18B20进行温度转换 ;读暂存器 BEH 读暂存器9个字节内容 ;写暂存器 4EH 将数据写入暂存器的TH、TL字节 ;复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 ;重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 ;读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU 。
下图电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。引脚如图2,功能如图3。
图2 引脚图 图3功能图
DS18B20供电方式:DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图1所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个三极管来完成对总线的上拉。本文采用电源供电方式, P2。3口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个上拉电阻和STC89C52的P2。3来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 μs。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三状态的。