当前位置:首页 > 基于DS18B20的数字温度计设计
3 系统硬件电路的设计
3.1整体功能说明
硬件总体框图如图1所示。以51单片机为主控制器,以数字式温度传感器DS18B20为传感元件,以LED数码管作为显示器件实时显示测量温度(十进制数)。数字式温度计测温范围在-55~125℃,误差在±0.5℃以内。温度测量间隔时间选择1s 。
[4]
测温 单片机 显示 显示驱动 复位电路 AT89S51 按键 时钟晶振 报警
图 1硬件总体框图
3.2硬件功能模块组成
温度计硬件电路设计原理图见附录Ⅰ,温度计的控制器使用单片机AT89S51,温度传感器使用DS18B20,用4位共阴极LED数码管以动态扫描法来实现温度显示。
图中有3个独立式按键可以分别调整温度的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度显示,这时可以调整上下限,从而测出被测的温度值。
4
3.2.1主控制器
1.单片机的选择
单片机具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要。对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。AT89S51是美国ATMEL公司生产的低功耗,高性能 CMOS8 位单片机,片内含4kbyte的可编程的Flash 只读程序存储器,兼容标准 8051 指令系统及引脚[5]。它集 Flash 程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位 AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用三节电池供电。主要特性如下[6]:
●与MCS-51 兼容
●4K字节可编程闪烁存储器 ●寿命:1000写/擦循环 ●数据保留时间:10年 ●全静态工作:0Hz-24Hz ●三级程序存储器锁定 ●128*8位内部RAM ●32可编程I/O线
●两个16位定时器/计数器 ●5个中断源
●可编程串行通道
●低功耗的闲置和掉电模式
●片内振荡器和时钟电路
2.引脚功能介绍
AT89S51 单片机为40引脚双列直插式封装。其引脚排列和逻辑符号如图2 所示:
5
图2 AT89S51引脚图
各引脚功能简单介绍如下:
●VCC:供电电压
●GND:接地
●P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。
●P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 ●P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 ●P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
6
[7]
作为输入时,由于外部下拉为低电平,P3口将输出电流,也是由于上拉的缘故。P3口也可作为AT89S51的一些特殊功能口: 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 (外部数据存储器读选通)
同时P3口同时为闪烁编程和编程校验接收一些控制信号。
●RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
●ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
●PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
●EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
●XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 ●XTAL2:来自反向振荡器的输出。
3.2.2温度测量模块
主要用到的是DS18B20温度传感器,将采集到的温度模拟量(-55℃~125℃)转换成数字量,并接上一个上拉电阻后再送给单片机P2.0口。
3.2.3显示电路
显示电路采用4位共阴极LED数码管,从P1口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用74ls04 。
7
共分享92篇相关文档