单片机STC89C52温度传感器Word格式文档下载.docx
《单片机STC89C52温度传感器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机STC89C52温度传感器Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
设计思路:
(1)本设计是测温电路,能够利用热敏电阻之类的器件利用其感温效应,在将随被测温度转变的电压或电流搜集过来,进行A/D转换后,就能够够用单片机进行数据的处置,在显示电路上,就能够够将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
(2)从中考虑到用温度传感器,在单片机电路设计中,大多都是利用传感器,因此这是超级容易想到的,因此能够采纳一只温度传感器DS18B20,此传感器,能够很容易直接读取被测温度值,进行转换,就能够够知足设计要求。
从以上两种方案,很容易看出,采纳方案
(2),电路比较简单,软件设计也比较简单,故采纳了方案
(2)。
时钟振荡
单片机复位
温度传感器
LED显示
主控制器
图1 整体设计方框图
设计方框图
依照设计的所需要求分析单片机的工作原理,可得出来温度计电路设计整体设计方框图如图1所示,操纵器采纳单片机STC89S52,温度传感器采纳DS18B20,用4位LED数码管以串口传送数据实现温度显示。
设计主元件电气性能:
1.STC89C52的要紧性能:
●与MCS-51单片机产品兼容
●8KFlash字节闪速存储器
●1000次擦写周期
●全静态操作:
0Hz~88Hz
●32个可编程I/O口线
●三个16位按时器/计数器
●八个中断源
●全双工UART串行通道
●低功耗空闲和掉电模式
●掉电后中断可唤醒
●看门狗按时器
●双数据指针
VCC:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,现在能够作为输入口利用。
作为输入利历时,被外部拉低的引脚由于内部电阻的缘故,将输出电流(IIL)。
另外,和别离作按时器/计数器2的外部计数输入(T2)和时器/计数器2的触发输入(T2EX),具体如下表1所示。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,现在能够作为输入口利用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口利用很强的内部上拉发送1。
在利用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些操纵信号。
表1P1口功能
表2P3口功能
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,现在能够作为输入口利用。
P3口亦作为AT89S52特殊功能(第二功能)利用,如上表2所示。
在flash编程和校验时,P3口也接收一些操纵信号。
RST:
复位输入。
晶振工作时,RST脚持续2个机械周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄放器AUXR(地址8EH)上的DISRTO位能够使此功能无效。
DISRTO默许状态下,复位高电平有效。
ALE/PROG:
地址锁存操纵信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一样情形下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部按时器或时钟利用。
但是,专门强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
若是需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一名置“1”,ALE仅在执行MOVX或MOVC指令时有效。
不然,ALE将被微弱拉高。
那个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微操纵器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当STC89C52从外部程序存储器执行外部代码时,PSEN在每一个机械周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器操纵信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必需接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
存储器结构
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都能够64K寻址。
程序存储器:
若是EA引脚接地,程序读取只从外部存储器开始。
关于89S52,若是EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
STC89C52有256字节片内数据存储器。
高128字节与特殊功能寄放重视叠。
也确实是说高128字节与特殊功能寄放器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM仍是特殊功能寄放器空间。
直接寻址方式访问特殊功能寄放器(SFR)
晶振特性
如图2所示,STC89C52单片机有一个用于组成内部振荡器的反相放大器,XTAL1和XTAL2别离是放大器的输入、输出端。
石英晶体和陶瓷谐振器都能够用来一路组成自激振荡器
图2自激振荡器原理图
按时器0和按时器1
在STC89C52中,按时器0和按时器1的操作与89C51一样。
按时器2
按时器2是一个16位按时/计数器,它既能够做按时器,又能够做事件计数器。
其工作方式由特殊寄放器T2CON中的C/T2位选择(如表2所示)。
按时器2有三种工作模式:
捕捉方式、自动重载(向下或向上计数)和波特率发生器。
工作模式由T2CON中的相关位选择。
按时器2有2个8位寄放器:
TH2和TL2。
在按时工作方式中,每一个机械周期,TL2寄放器都会加1。
由于一个机械周期由12个晶振周期组成,因此,计数频率确实是晶振频率的1/12。
中断
STC89C52有6个中断源:
两个外部中断(INT0和INT1),三个按时中断(按时器0、1、2)和一个串行中断每一个中断源都能够通过置位或清除特殊寄放器IE中的相关中断许诺操纵位别离使得中断源有效或无效。
IE还包括一个中断许诺总操纵位EA,它能一次禁止所有中断。
按时器2能够被寄放器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断效劳后,这些标志位都能够由硬件清0。
事实上,中断效劳程序必需判定是不是是TF2或EXF2激活中断,标志位也必需由软件清0。
下表2为中断许诺操纵寄放器功能。
表3中断许诺操纵寄放器
2.DS18B20的要紧性能
本次设计利用到了由dallas半导体公司生产的ds18b20型单线智能温度传感器,属于新一代适配微处置器的智能温度传感器,可普遍用于工业、民用、军事等领域的温度测量及操纵仪器、测控系统和大型设备中。
它具有体积小,接口方便,因此设计中采纳了此元器件。
DS1820数字温度计提供9位温度读数,指示器件的温度
特性:
●独特的单线接口只需1个接口引脚即可通信
●多点multidrop能力使散布式温度检测应用得以简化
●不需要外部元件
●可用数据线供电
●不需备份电源
●测量范围从-55至+125增量值为等效的华氏温度范围是-67F至257F
●增量值为F
●以9位数字值方式读出温度
●在1秒典型值内把温度变换为数字
●用户可概念的非易失性的温度告警设置
●告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情形
●应用范围包括恒温操纵工业系统消费类产品温度计或任何热敏系统
图3的方框图表示DS1820的要紧部件DS1820有三个要紧的数据部件164位激光laseredROM;
2温度灵敏元件和3非易失性温度告警触发器TH和TL
C
64
位
ROM
和
单
线
接
口
高速缓存
存储器与控制逻辑
温度传感器
高温触发器TH
低温触发器TL
配置寄存器
8位CRC发生器
Vdd
图3DS18B20内部结构
64位ROM的结构开始8位是产品类型的编号,接着是每一个器件的惟一的序号,共有48位,最后8位是前面56位的CRC查验码,这也是多个DS18B20能够采纳一线进行通信的缘故。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
在单线接口情形下在ROM操作未定成立之前不能利用存贮器和操纵操作主机必需第一提供五种ROM操作命令之一1ReadROM(读ROM)2MatchROM(符合ROM),3)SearchROM(搜索ROM),4)SkipROM(跳过ROM),或5AlarmSearch(告警搜索)这些命令对每一器件的64位激光ROM部份进行操作若是在单线上有许多器件那么能够挑选出一个特定的器件并给总线上的主机指示存在多少器件及其类型在成功地执行了ROM操作序列以后可利用存贮器和操纵操作然后主性能够提供六种存贮器和操纵操作命令之一.
一个操纵操作命令指示DS1820完成温度测量该测量的结果将放入DS1820的高速暂存便笺式存贮器Scratchpadmemory通过发出读暂存存储器内容的存储器操作命令能够读出此结果每一温度告警触发器TH和TL组成一个字节的EEPROM若是不对DS1820施加告警搜索命