基于51单片机的的温度报警器设计

合集下载

单片机小项目——基于51单片机的温度报警器

单片机小项目——基于51单片机的温度报警器

单⽚机⼩项⽬——基于51单⽚机的温度报警器单⽚机⼩项⽬介绍项⽬功能介绍编程语⾔:C语⾔。

开发环境:keil。

主要功能:1602屏显⽰时间和温度,当温度超过预定值时蜂鸣器⼯作报警。

此项⽬只是作为单⽚机初学者的⼀个⼩测验。

硬件资源分配1602屏——P0,P2^7,P2^5,P2^6。

串⼝——P2^0,P2^1。

传感器——DS18B20 P3^7;DS1302 P3^4,P3^5,P3^6。

蜂鸣器——P1^6。

LCD1602屏配置在h⽂件中声明端⼝和函数:#ifndef __LCD1602_H_#define __LCD1602_H_#include<reg52.h>//重定义关键字#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif//定义端⼝#define LCD1602_DATAPINS P0sbit LCD1602_E=P2^7;sbit LCD1602_RW=P2^5;sbit LCD1602_RS=P2^6;//函数声明void Lcd1602_Delay1ms(uint c); //延时函数void LcdWriteCom(uchar com); //写⼊命令void LcdWriteData(uchar dat); //写⼊数据void LcdInit(); //LCD初始化⼦程序#endif在LCD1602.c⽂件中写⼊时序和命令等函数代码:#include "LCD1602.h"/***************************延时函数**************************/void Lcd1602_Delay1ms(uint c) //误差 0us{uchar a,b;for (; c>0; c--){for (b=199;b>0;b--){for(a=1;a>0;a--);}}}/***************************底层函数**************************/void LcdWriteCom(uchar com) //写⼊命令{LCD1602_E = 0; //使能LCD1602_RS = 0; //选择发送命令LCD1602_RW = 0; //选择写⼊LCD1602_DATAPINS = com; //放⼊命令Lcd1602_Delay1ms(1); //等待数据稳定LCD1602_E = 1; //写⼊时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}void LcdWriteData(uchar dat) //写⼊数据{LCD1602_E = 0; //使能清零LCD1602_RS = 1; //选择输⼊数据LCD1602_RW = 0; //选择写⼊LCD1602_DATAPINS = dat; //写⼊数据Lcd1602_Delay1ms(1);LCD1602_E = 1; //写⼊时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}void LcdInit() //LCD初始化⼦程序{LcdWriteCom(0x38); //开显⽰LcdWriteCom(0x0c); //开显⽰不显⽰光标LcdWriteCom(0x06); //写⼀个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}在main.c⽂件中运⽤:(这⾥先让显⽰屏显⽰⾃定义的内容,稍后再做更改)#include "reg52.h"#include "LCD1602.h"unsigned char Disp[]=" Pechin Science ";void main(){unsigned char i=0;LcdInit();for(i=0;i<16;i++){LcdWriteData(Disp[i]);}while(1){}}DS18B20温度传感器配置(并将其与LCD协同使⽤)在DS18B20.c⽂件中写⼊相关函数:1 #include "DS18B20.h"234/***************************延时函数**************************/5void Delay1ms(unsigned int y)6 {7 unsigned int x;8for( ; y>0; y--)9 {10for(x=110; x>0; x--);11 }12 }131415/***************************底层函数**************************/1617 unsigned char Ds18b20Init() //初始化函数18 {19 unsigned char i;20 DSPORT = 0; //将总线拉低480us~960us21 i = 70;22while(i--); //延时642us23 DSPORT = 1; //然后拉⾼总线,如果DS18B20做出反应会将在15us~60us后总线拉低25while(DSPORT) //等待DS18B20拉低总线26 {27 Delay1ms(1);28 i++;29if(i>5) //等待>5MS30 {31return0; //初始化失败32 }3334 }35return1; //初始化成功36 }373839void Ds18b20WriteByte(unsigned char dat) //写⼊⼀个字节40 {41 unsigned int i, j;4243for(j=0; j<8; j++)44 {45 DSPORT = 0; //每写⼊⼀位数据之前先把总线拉低1us46 i++;47 DSPORT = dat & 0x01; //然后写⼊⼀个数据,从最低位开始48 i=6;49while(i--); //延时68us,持续时间最少60us50 DSPORT = 1; //然后释放总线,⾄少1us给总线恢复时间才能接着写⼊第⼆个数值51 dat >>= 1;52 }53 }545556 unsigned char Ds18b20ReadByte() //读取⼀个字节57 {58 unsigned char byte, bi;59 unsigned int i, j;60for(j=8; j>0; j--)61 {62 DSPORT = 0; //先将总线拉低1us63 i++;64 DSPORT = 1; //然后释放总线65 i++;66 i++; //延时6us等待数据稳定67 bi = DSPORT; //读取数据,从最低位开始读取68/*将byte左移⼀位,然后与上右移7位后的bi,注意移动之后移掉那位补0。

基于51单片机温度报警器的设计

基于51单片机温度报警器的设计

目录摘要 (2)第一章绪论 (4)1.1 系统背景 (4)1.2 温度控制系统设计的意义 (5)1.3 温度控制系统完成的功能 (5)第二章系统方案设计 (6)2.1 方案一 (6)2.2 方案二 (6)2.3 方案论证 (7)第三章硬件电路设计 (8)3.1系统总体设计 (8)3.2 各部分硬件电路设计 (9)3.2.1时钟电路设计 (9)3.2.2系统复位电路 (10)3.2.3报警与控制电路设计 (11)3.2.4 LED显示电路设计 (12)3.2.4温度检测电路设计 (14)3.2.5按键电路设计 (16)第四章软件设计 (17)4.1 主程序方案 (17)4.2 各个模块子程序设计 (20)4.2.1温度采集程序 (20)4.2.2数码管显示模块 (23)4.2.3温度处理程序 (24)第五章系统调试 (25)5.1测试环境及工具 (25)5.2测试方法 (25)5.3测试结果分析 (26)结论 (26)致谢 (26)参考文献 (27)附录一:系统原理图 (29)附录二:程序代码 (30)摘要随着现代信息技术的飞速发展,在生产中温度的准确测量是一个比较困难的事情从最初的酒精、水银温度计到现在的数字化、集成化的温度检测系统。

可见传感器的发展是飞快的。

它快速的发展必将带来新一轮的工业化的革命和社会发展的飞跃。

本文从硬软件两个方面介绍了基于AT89S52单片机温度自动检测系统的设计。

系统硬件由控制电路、温度采集电路、键盘和LED显示电路组成。

软件设计从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。

最终通过DS18B20采集温度并显示出来,由此对周围环境的温度进行有效检测与报警。

基本上满足了温度检测与报警的要求,具有超调量小,采样值与设定值基本一致,操作简单等优点。

本设计创新点在于采用数字式温度传感器DS18B20 作为感温元件, 占用单片机引脚少, 因而可以利用空余引脚通过软件模拟和温度显示。

设计温度报警器实训报告

设计温度报警器实训报告

#### 一、实训背景随着社会的发展,温度监测与控制技术在各个领域得到了广泛应用。

为了提高实训教学的效果,本实训旨在通过设计一款基于单片机的温度报警器,使学生掌握温度传感器的工作原理、单片机的编程及应用,提高学生的实践操作能力和创新意识。

#### 二、实训目的1. 熟悉温度传感器的原理与应用。

2. 掌握51单片机的编程方法及接口技术。

3. 学会使用数码管、蜂鸣器等外围设备。

4. 培养学生的团队协作能力和创新意识。

#### 三、实训内容本实训设计一款基于51单片机的温度报警器,实现以下功能:1. 实时测量环境温度。

2. 数码管显示当前温度值。

3. 可设置温度上下限报警值。

4. 当温度超过上下限报警值时,蜂鸣器发出警报。

#### 四、实训步骤1. 硬件选型与搭建(1)选择51单片机作为主控芯片,型号为AT89C51。

(2)选择DS18B20温度传感器,用于测量环境温度。

(3)选用数码管(如LCD1602)用于显示温度值。

(4)选用蜂鸣器作为报警输出。

(5)连接电源模块,为整个系统供电。

2. 软件设计(1)编写程序,实现温度读取、显示、报警等功能。

(2)设置温度上下限报警值,可通过按键调整。

(3)编写中断程序,实现温度超限报警。

3. 系统调试与测试(1)将程序烧录到单片机中。

(2)连接所有硬件,进行系统调试。

(3)检查温度读取、显示、报警等功能是否正常。

4. 系统优化与改进(1)优化程序,提高系统稳定性。

(2)改进报警方式,如增加语音提示、短信报警等。

(3)考虑增加温度曲线显示、历史数据记录等功能。

#### 五、实训结果与分析1. 系统功能实现通过实训,成功设计并实现了一款基于51单片机的温度报警器。

系统能够实时测量环境温度,并在数码管上显示。

当温度超过设定的上下限报警值时,蜂鸣器发出警报。

2. 技术难点及解决方法(1)温度读取精度:DS18B20温度传感器的测量精度较高,通过编程读取其输出数据,即可获得较为精确的温度值。

基于单片机温度报警器的设计

基于单片机温度报警器的设计

基于单片机温度报警器的设计温度报警器是一种常见的安全设备,用于监测环境温度并在温度超过设定阈值时发出警报。

基于单片机的温度报警器可以实现温度监测、报警和数据记录等功能,具有灵敏度高、可靠性好、成本低等优点。

下面将描述一种基于单片机的温度报警器的设计。

设计思路:本设计采用温度传感器、单片机、蜂鸣器和LCD液晶显示器等组成,实现温度监测和报警功能。

温度传感器用于测量环境温度,将温度值传输给单片机进行处理;单片机负责对温度值进行比较和判断,当温度超过设定阈值时,通过控制蜂鸣器发出警报声,并在LCD显示器上显示温度值和警报信息。

硬件设计:1.温度传感器:可以选择数字温度传感器,如DS18B20。

将温度传感器连接到单片机的数字引脚上,通过引脚读取传感器输出的数字信号。

2.单片机:可以选择常见的8位单片机,如STC89C52、单片机具有较强的处理能力和丰富的IO资源,可以用于读取和处理温度传感器数据,并控制蜂鸣器和LCD显示器。

3.蜂鸣器:选择合适的蜂鸣器,并将其连接到单片机的IO引脚上。

当温度超过设定阈值时,单片机将IO引脚置高,使蜂鸣器发出警报声。

4.LCD液晶显示器:选择适配器单片机的LCD显示器,通过单片机的IO引脚与单片机连接。

当温度超过设定阈值时,将警报信息显示在LCD上。

软件设计:1.硬件初始化:设置单片机相关IO引脚为输入输出模式,初始化温度传感器和LCD显示器。

2.温度采集:通过单片机的数字引脚读取温度传感器输出的数字信号,并进行相应的数据转换,得到环境温度值。

3.温度监测:将环境温度值与设定的阈值进行比较,若温度超过阈值则触发报警。

4.报警处理:当温度超过设定阈值时,通过设置单片机的IO引脚,控制蜂鸣器发出警报声,并在LCD显示器上显示警报信息。

5.数据记录:可以选择将温度数据保存到EEPROM中,方便后续查询和分析。

总结:基于单片机的温度报警器是一种简单但实用的安全设备,通过温度传感器和单片机的配合,可以实现对环境温度的实时监测和报警功能。

基于51单片机的温度报警器设计

基于51单片机的温度报警器设计

基于51单片机的温度报警器设计引言:温度报警器是一种用来检测环境温度并在温度超过设定阈值时发出警报的装置。

本文将基于51单片机设计一个简单的温度报警器,以帮助读者了解如何利用单片机进行温度监测和报警。

一、硬件设计硬件设计包括传感器选择、电路连接以及报警装置的设计。

1.传感器选择温度传感器的选择非常重要,它决定了监测温度的准确性和稳定性。

常见的温度传感器有热敏电阻(如NTC热敏电阻)、热电偶以及数字温度传感器(如DS18B20)。

在本设计中,我们选择使用DS18B20数字温度传感器,因为它具有高精度和数字输出的优点。

2.电路连接将DS18B20与51单片机连接,可以采用一根三线总线(VCC、GND、DATA)的方式。

具体连接方式如下:-将DS18B20的VCC引脚连接到单片机的VCC引脚(一般为5V);-将DS18B20的GND引脚连接到单片机的GND引脚;-将DS18B20的DATA引脚连接到单片机的任意IO引脚。

3.报警装置设计报警装置可以选择发出声音警报或者显示警报信息。

在本设计中,我们选择使用蜂鸣器发出声音警报。

将蜂鸣器的一个引脚连接到单片机的任意IO引脚,另一个引脚连接到单片机的GND引脚。

二、软件设计软件设计包括温度读取、温度比较和报警控制的实现。

1.温度读取通过51单片机的IO引脚和DS18B20进行通信,读取DS18B20传感器返回的温度数据。

读取温度数据的具体步骤可以参考DS18B20的通信协议和单片机的编程手册。

2.温度比较和报警控制将读取到的温度数据和设定的阈值进行比较,如果温度超过阈值,则触发报警控制。

可以通过控制蜂鸣器的IO引脚输出高电平或低电平来控制蜂鸣器是否发出声音警报。

三、工作原理整个温度报警器的工作原理如下:1.首先,单片机将发出启动信号,要求DS18B20开始温度转换。

2.单片机等待一段时间,等待DS18B20完成温度转换。

3.单片机向DS18B20发送读取信号,并接收DS18B20返回的温度数据。

基于51单片机温度报警器设计

基于51单片机温度报警器设计

目录一、摘要 (1)二、设计方案论证 (2)(一)系统主机选择 (2)(二)温度传感器选择 (2)(三)液晶选择 (2)(四)报警电路选择 (3)三、硬件电路设计 (3)(一)设计思路: (3)(二)总体设计方框图2-1: (3)(三)原理图 (4)(四)单片机最小系统设计 (5)(五)AT89C52单片机芯片引脚功能介绍...................................... 5、6 (六)测温电路设计 . (8)(七)显示电路设计 ...................................................... 9、10 (八)报警电路设计 (10)四、软件设计 ........................................................ - 10 -(一)主程序流程图 ..................................................... - 11 - (二)测温程序 ......................................................... - 11 - (三)报警程序 ......................................................... - 12 -五、系统仿真 ........................................................ - 12 -六、总结与体会...................................................... - 13 -参考文献................................................................................................... - 14 -附录Ⅰ原理图.. (16)一、摘要在日常生活及工农业生产中经常要涉及到温度的检测及控制。

基于51单片机温度报警器设计

基于51单片机温度报警器设计

基于51单片机温度报警器设计
以上
研究背景
随着电子技术的发展,温度报警器的应用已有很大的普及,它可以准确的检测温度,
并且控制环境温度,从而给生活带来很多实施便利性。

51单片机温度报警器的研究是一项极具挑战的任务,因为除了要考虑温度传感原理,还需要研究51单片机的软硬件结构。

本研究即以51单片机为主要研究环节,结合温度特性,设计一款简单实用的温度报警器。

研究方法
本研究使用51单片机,采用51系统软件编程,结合串口程序实现温度检测功能。

51
芯片单片机能够轻松实现温度采集、数据处理、报警控制功能,并且能够满足用户的一些
特定功能实现要求。

本研究还考虑了温度传感器、报警器等元件,并在实验过程中对报警
器进行了优化改进,保证数据测量和控制精度。

研究结果
通过实验,本研究设计出一款温度报警器,它采用51单片机,结合温度传感器和报
警器而成。

51单片机校准温度采集、数据处理计算,报警器可以根据用户自定义的告警值发出声光报警。

整个系统对温度的测量和报警控制能够达到用户的要求。

此外,该温度报
警器采用独立模块化设计,在现场控制时可以灵活配置参数,增加报警器的功能性。

通过本研究设计出一款51单片机温度报警器,能够准确地检测温度,当温度超出预
定值时,发出报警,实现环境温度的控制。

同时,本研究还研发出独立模块化的系统,可
以灵活的配置参数,显著提高其报警功能。

外文翻译--基于51单片机温度报警器的设计(适用于毕业论文外文翻译+中英文对照)

外文翻译--基于51单片机温度报警器的设计(适用于毕业论文外文翻译+中英文对照)

外文翻译--基于51单片机温度报警器的设计(适用于毕业论文外文翻译+中英文对照)XXX: Design of a Temperature Alarm Based on 51 MCUDepartment: n EngineeringMajor: Measurement and Control Technology and nClass:Student ID:Name:Supervisor:Date:A microcontroller。

also known as a single-chip computer system。

XXX its ns being integrated on a small chip。

it has most of the components needed for a complete computer system。

such as CPU。

memory。

internal and external bus systems。

and mostof them also have external storage。

At the same time。

it integrates XXX interfaces。

timers。

real-time clocks。

etc。

The most XXX integrate sound。

image。

ork。

and complex input-output systems on a single chip.XXX used in the industrial control field。

Microcontrollers XXX CPUs inside the chip。

The original design concept was to integrate a large number of peripheral devices and CPUs on a chip to make the computer system XXX's Z80 was the first processor designed according to this concept。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1引言 (1)1.1 单片机的应用背景 (1)2 总体设计方案 (2)2.1 功能简介 (2)2.2 设计思路 (2)2.3 芯片器材 (3)3 硬件设计 (3)3.1 AT89C51 (3)3.1.1 AT98C51引脚图 (3)3.1.2 AT89C51结构特点 (5)3.2 温度获取 (5) (7)3.3 时钟电路 (8)3.4 温度显示电路 (8)3.5报警电路 (10) (10)4 程序设计 (10)4.1 程序流程图 (11)4.2 初始化子程序 (11)4.3 读子程序 (12)4.4 写子程序 (13)4.5 数据处理子程序 (13)4.6 显示子程序 (15)4.7报警子程序 (17)5 实验仿真 (18) (18)6 总结 (19)参考文献 (20)附录 (21)1引言1.1 单片机的应用背景目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗机械了。

世面上主要的单片机类型有Motorola 单片机、Microchip 单片机、东芝单片机、8051单片机、Atmel 单片机等。

此次课设中用到的是ATMEL公司,下面着重介绍一下ATMEL公司的单片机。

ATMEL 公司是世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体制造公司。

ATMEL 公司最令人注目的是它的EEPROM 电可擦除技术闪速存储器技术和质量高可靠性的生产技术。

在CMOS 器件生产领域中,ATMEL 的先进设计水平优秀的生产工艺及封装技术一直处于世界的领先地位。

这些技术用于单片机生产,使单片机也具有优秀的品质在结构性能和功能等方面都有明显的优势,ATMEL 公司的单片机是目前世界上一种独具特色。

而性能卓越的单片机它在计算机外部设备通讯设备自动化工业控制宇航设备仪器仪表和各种消费类产品中都有着广泛的应用前景。

其生产的AT90系列是增强型RISC内载FLASH单片机,通常称为A VR系列。

AT91M系列是基于ARM7TDMI 嵌入式处理器的ATMEL 16/32 微处理器系列中的一个新成员,该处理器用高密度的16 位指令集实现了高效的32 位RISC 结构且功耗很低。

另外ATMAL的增强型51系列单片机目前在市场上仍然十分流行,其中AT89S51十分活跃。

当今社会,人们在追求高质量的生活,所以生活中离不开单片机,根据国家权威统计显示,目前我国的单片机容量达3亿片,且每年以大约20%的速度增长,但在世界市场我国的占有率还不到1%。

沿海地区尤其像电子产品高度发达的深圳大部分单片机应用更是广泛,这种发展趋势也不断向内地辐射,因此,学好单片机有很重要的意义。

2 总体设计方案2.1 功能简介8位LED数码管直接显示DS18B20所测量的温度,超出-50~110℃范围时喇叭报警,并且对应的发光二极管开始闪烁,在温度范围内时喇叭停止报警并且数码管显示其温度,测量精度为0.5℃。

2.2 设计思路AT89C51作为数字温度计的核心器件,是一种带4K字节FLASH存储器,具有低电压、高性能特性的8位微处理器。

该器件是INTEL公司生产的MCS-5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,属于标准的MCS-51产品。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O 接口等计算机所需的基本功能部件。

时钟信号用来控制单片机内各种微操作的时间基准,通常有两种形式得到,即内部震荡方式和外部震荡方式。

内部震荡方式所得的信号比较稳定,故设计数字温度计的时钟信号选用内部震荡方式,晶振选用12MHZ。

温度传感器选用单线数字温度传感芯片DS18B20,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,造成信号传输的不稳定。

电压范围为3.0 V至5.5 V 无需备用电源。

其测温范围是-55~128℃。

显示部分使用8位LED数码管来作为温度的直接输出,当温度超出-50~110℃时,喇叭报警和发光二极管闪烁来提示。

采用C语言设计温度计的程序,对DS18B20进行初始化、读、写,读取温度,数据的转换,温度显示和报警处理等等。

2.3 芯片器材主机:单片机AT89C51一片;温度传感器:DS18B20一片,显示电路:74LS245,8位LED数码管;时钟电路:电容两个,晶振片一个;报警电路:发光二极管两个,喇叭一个;其他导线若干,+5V电源等等。

3 硬件设计3.1 AT89C513.1.1 AT98C51引脚图XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51LS1图1 AT89C51引脚图本次设计需要注意的几个端口:P0口(32—39):是一组8位漏极开路行双向I/O 口,也既地址/数据总线复用口。

可作为输出口使用时,每位可吸收电流的方式驱动8个TTL 逻辑电路,对端口写“1”可作为高阻抗输入输入端用。

在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash 编程时,PO 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。

P1口(1—8):是一个内部提供上拉电阻的8位双向I/O 口,P1口缓冲器能接收输出4TTL 门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH 编程和校验时,P1口作为第八位地址接收。

P2口(21—28):是一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

P3口(10—17):是一组带有内部上拉电阻的8位双向I/O 口,,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。

作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。

P3口除可作为一般的I/O 口线外,更重要的用途是它的第二功能,如图2所示:图2 端口引脚P3EA/Vpp(31):内部和外部程序存储器选择线。

EA=0时访问外部ROM 0000H—FFFFH;EA=1时,地址0000H—0FFFH空间访问内部ROM,地址1000H—FFFFH 空间访问外部ROM。

本次设计EA接高电平。

XTAL1(19)和XTAL2(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。

RST/VPD(9):复位信号输入端。

AT89S51接能电源后,在时钟电路作用下,该脚上出现两个机器周期以上的高电平,使内部复位。

第二功能是VPD,即备用电源输入端。

当主电源Vcc发生故障,降低到低电平规定值时,VPD将为RAM提供备用电源,发保证存储在RAM中的信号不丢失。

/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现./EA/VPP。

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/E.端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.1.2 AT89C51结构特点8位CPU,片内振荡器和时钟电路,32根I/O线,外部存贮器寻址范围ROM、RAM64K,16位的定时器/计数器,5个中断源,两个中断优先级,全双工串行口,布尔处理器。

3.2 温度获取使用美国Dallas半导体公司的数字化温度传感器DSB1820,支持“一线总线”接口的温度传感器,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

“一线总线”独特而且经济的特点,DS18B20体积小、经济、灵活,使你可以充分发挥“一线总线”的优点。

DS18B20支持“一线总线”接口,测量温度范围为-55°C ~+125°C ,在-10~+85°C 范围内,精度为±0.5°C 。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

支持3V ~5.5V 的电压范围,使系统设计更灵活、方便。

DS18B20产品的特点 :(1)、只要求一个端口即可实现通信。

(2)、在DS18B20中的每个器件上都有独一无二的序列号。

(3)、实际应用中不需要外部任何元器件即可实现测温。

(4)、测量温度范围在-55。

C 到+125。

C 之间。

(5)、数字温度计的分辨率用户可以从9位到12位选择。

(6)、内部有温度上、下限告警设置。

DS18B20内部结构如图3所示:图3 DS18B20内部结构DS18B20功能命令如表1所示:表1 DS18B20功能命令表命令 功能描述 代码 CONVERT 启动温度转换 44H READ SCRA TCHPAD读取温度寄存器BEH存储和控制逻辑高速暂存器温度传感器高温触发器TH 低温触发器TL 配置寄存器8位CRC 生成器 64位R O M 和一线供电方式READ ROM 读DS18B20的序列号33H WRITE SCRA TPAD 将数据写入暂存器的第2、3字节中4EH MATCH ROM 匹配ROM 55H SEARCH ROM 搜索ROM F0H ALARM SEARCH报警搜索 ECH SKIP ROM 跳过读序列号的操作CCH READ POWER SUPPL Y读电源供给方式,0寄生,1外部电源B4H其连线使用如图4所示(2接P3.6):R24.7k109.0DQ 2VCC 3GND 1U2DS18B20图4 DS18B20连线图由于DS18B20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。

相关文档
最新文档