多点温度控制系统Word格式文档下载.docx
- 文档编号:18513506
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:22
- 大小:117.71KB
多点温度控制系统Word格式文档下载.docx
《多点温度控制系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《多点温度控制系统Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
P3.0—P3.7(第10-17脚):
P3口8个引脚。
P3口除作为普通8位准双向I/O口外,还具有第二功能。
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(片外数据存储器读选通输出口)。
(4)控制引脚:
/PROG(第30引脚):
地址锁存有效信号输出端。
/EA(第31脚):
外部程序存储器选用端。
/PSEN(第29脚):
程序存储允许输出端。
RST(第9脚):
复位信号输入端。
2.本设计中8255可编程并行接口芯片如图3所示:
图38255芯片
(1)D0-D7:
8位三态双向输出/输入通道是8255与CPU接口的数据总线。
(2)RESET:
高电平动作。
复位时,8255的PA,PB,PC口与控制寄存器将被取消,PA,PB,PC口皆为设定为输入口模式。
(3)/CS;
芯片选择。
低电平动作。
当/CS=0时,8255被选择;
/CS=1时,8255无法与CPU做数据传输。
(4)/RD:
读取使能,低点平动作。
/RD=0,且/CS=0时,CPU从8255读取数
(5)/WR:
写入使能,低点平动作。
/WR=0,且/CS=0时,CPU将数据写入8255
(6)A0,A1:
地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。
A0、A1的端口选择如表1所示:
表1
A1
A0
被选中的端口名
0
0
PA口
1
PB口
1
PC口
控制寄存器
当A1=1,A0=1时,选择控制寄存器,控制字格式由D7决定。
当D7=1时。
控制字代表8255A组和B组的工作模式控制字,而当D7=0时,控制代表PC口位的设定或清除。
可作为PA口与PB口的控制信号。
3.温度传感器芯片DS18B20如图4所示:
图4DS18B20芯片
DS18B20是美国DALLAS半导体公司新近推出的单线数字化测温集成电路。
它具有独特的单线接口方式,即与微处理器接口时仅需占用1个I/O端口,支持多节点,使分布式温度传感器设计大为简化;
测温时无需任何外部原件,可以通过数据线直接供电,具有超低功耗工作方式;
测温范围为-55~+125℃,测温精度为0.5℃,可直接将温度转换值以9位数字码的方式串行输出,将温度转化为数字编码只需200ms。
因此该温度传感器特别适合与各种微处理器接口时需要A/D转换器和较复杂的外围电路的弊端,可广泛用于工业控制、消费类电子产品、电子测温计、医疗仪器等各种温度测控系统中,可提高产品的可靠性,降低成本,缩小体积。
DS18B20的性能与特点:
(1)独特的单线接口仅需要一个端口引脚进行通信
(2)多个DS18B20可以并联在惟一的三线上,实现多点组网功能
(3)无须外部器件
(4)可通过数据线供电,电压范围为3.0~5.5V
(5)零待机功耗
(6)温度以9或12位数字
(7)用户可定义的非易失性温度报警设置
(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件,负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B20各引脚功能说明如表2所示:
表2
引脚
8脚SOIC
PR35
符号
说明
5
1
GND
地
4
2
DQ
单线运用的数据输入/输出引脚
3
VDD
可选VDD引脚
4.LED七段数码管
LED显示器是于发光二极管组成的,用来显示特定的的显示器。
7段数码管发光二极管使用灵活,简单方便,当有电流通过时,相应的发光二极管就点亮;
当电流消灭没有电流时,发光二极管就灭。
同样。
共阳极LED显示器。
就是将所有发光二极管的阳极接到一起,接到电源正极。
这样,当某个发光二极管的阴极加有低电平,该发光二极管即被点亮。
常用7段数码管LED显示器,共阴极和共阳极结构如图5所示:
图5七段数码管结构图
LED显示器字符段码表如表3所示:
表3
示字符
共阴极段码
共阳极段码
显示字符
3FH
C0H
C
39H
C6H
06H
F9H
D(d)
5EH
A1H
5BH
A4H
E
79H
86H
4FH
B0H
F
71H
8EH
66H
99H
.
80H
7EH
6DH
92H
P
73H
82H
6
7DH
U
3EH
C1H
7
07H
F8H
T
31H
CEH
8
7FH
Y
6EH
91H
9
6FH
90H
8.
FFH
00H
A
77H
88H
"
灭"
B(b)
7CH
83H
|
通过a,b,c,d,e,f,g,dp各点和公共点的电位,就可以控制个发光二极管的亮暗,而不同的发光的亮暗组合就可以显示不同的数字(dp点是来表示小数点,在显示数字中不起作用)。
比如,要显示“3”,则只需点亮a,b,c,d,g5个发光二极管,而其他均为暗,对于共阴极LED显示器来说,就是在在这些引脚上输入高电平即可。
5.BCD七段译码器74LS47
7447有4个BCD码输入端A、B、C和D,其中D为最高有效位,A为最低有效位,它们分别与输出端口中的4位相连。
7447的7个输出引脚a~g直接与LED的相应引脚相连,每个段中都串接一个限流电阻,其阻值为100Ω。
当灭灯输入/动态灭灯输出(BI/RBO)开路或为高电平而试灯输入为低电平,则所有输出端都为1。
BI/RBO是线与逻辑,作灭灯输入(BI)或动态灭灯(RBO)之用,或者兼为二者之用。
74LS47芯片图如图6所示:
图674LS47芯片
7447功能表如表4所示:
表4
(1)要求0—15时,灭灯输入(BI)必须开路或保持高电平,如果不要灭十进制数零,则动态灭灯输入(RBI)必须开路或为高电平。
(2)将一低电平直接输入BI端,则不管其他输入为何电平,所有的输出端均输出为低电平。
(3)当动态灭灯输入(RBI)和A,B,C,D输入为低电平而试灯输入为高电平时,所有各段输出都为0,并且动态灭灯输出(RBO)为低电平(响应条件)。
(4)当灭灯输入/动态灭灯输出(BI/RBO)开路或为高电平而试灯输入为低电平,则所有输出端都为1。
表中H=高电平,L=低电平。
2.1.3部分硬件电路图
1.键盘控制输入和显示电路
8255通过D0—D7与CPU连接,及时实现与89C51数据的传输。
通过设置8255的控制字,使得PB为输出口,PC(0-3)口为键盘行扫描,PC(5-7)口为设定为输入口,作为键盘的列扫描。
PB(0-3)与7447芯片7,1,2,6引脚连接实现扩展。
PB(4-6)与74LS138芯片1,2,3引脚连接。
输出Y0,Y1实现LED的显示。
电路图如图7:
图7键盘控制输入和显示电路
2.89C51与8255的连接
通过P20,P21分别与A0,A1连接,可以控制8255控制字的的设置,89C51的/RD与8255的/RD连接,/WR与/WR连接,实现89C51与8255数据的读入和写出,/CS信片片选。
电路图如图8:
图88751与8255的连接图
3.报警电路
该电路利用晶体三极管的特性,将单片机的P3.7脚接NPN三极管的基极,根据其性质,当P3.7输出高电平时,三极管导通,从而驱动喇叭发出声音,否则蜂鸣器就不发声,在右图所师电路中,由软件编程控制当周围的温度超过所设定的温度时,三极管基极就为高电平,可以实现报警功能,反之P3.7保持低电平,三极管截止,蜂鸣器停止发声。
电路图如图9所示:
图9报警电路
4.复位及时钟信号产生电路
本电路主要由12M晶振、30PF的瓷片电容、电阻、开关组成,电路如图11所示。
12M晶振和30PF的瓷片电容构成稳定的自激振荡器,产生时钟信号。
上电自动复位电路则由22uF电容和两个电阻构成。
加电瞬间电容通过充电实现正脉冲,用以复位。
手动复位则由开关和电阻组成。
按下开关之后就产生一个正脉冲,就可以实现复位。
本电路采用的是二者的组合。
如图10所示:
图10复位及时钟信号产生电路
5.传感器与主机连接电路
在主机上可以挂接多个DS18B20,从而构成多点温度测控系统。
根据每个DS18B20把温度采集后送给主机分析,从而控制环境温度。
本图为了方便只给出一个DS18B20的连接方式,电路图如图11所示:
图11传感器与主机连接电路
2.1.4总体硬件电路图
由上述分析可以得出总体硬件电路图如图12所示:
图12总体硬件电路图
2.2软件
2.2.1程序流程图
系统程序流程图如图13所示:
图13系统程序流程图
2.2.2系统程序
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
LCALLRESET
MOV40H,#1
MOV41H,#1
MOV42H,#0
MOV43H,#0;
设定温度上下限
MOV44H,#5
MOV45H,#0
MOVP2,#0FBH
JNBP2.6,PPP
SJMPKKK
PPP:
LJMPKEY
KKK:
LCALLRES18B20
START:
MOVA,0CCH
LCALLWRITE
MOVA,44H
LCALLWRITE
LCALLRESET
MOVA,0CCH
LCALLWRITE
MOVA,0BEH
LCALLREAD
MOV50H,A
LCALLREAD
MOV51H,A
LCALLTEMPER
LCALLCOM
LCALLBEEP
LCALLXIANSHI
LJMPMAIN
RESET:
CLREA;
SETBP1.3;
BACK:
MOV60H,#200;
L1:
CLRP1.3
DJNZ60H,L1
SETBP1.3
MOV61H,#30H
DJNZ61H,$
CLRC
ORLC,P1.3
JCBACK
MOV61H,#80
L2:
ORLC,P1.3
JCL3
DJNZ61H,L2
SJMPBACK
L3:
MOV61H,#240
RETI;
;
重新写DS18B20暂存存储器设定值
RES18B20:
JB20H.1,RES1
RETI
RES1:
MOVA,#0CCH
MOVA,#4EH
MOVA,#00H
MOVA,#7FH
RETI
WRITE:
CLREA
MOVR3,#08H
WR1:
MOVR4,#8
RRCA
CLRP1.3
DJNZR4,$
MOVP1.3,C
MOVR4,#20
DJNZR3,L1
SETBP1.3
RET
READ:
MOVR6,#08H
RD1:
MOVR4,#4
NOP
DJNZR4,$
MOVC,P1.3
RRCA
MOVR5,#30
DJNZR5,$
DJNZR6,RD1
;
键盘扫描子程序
KEY:
MOVP2,#0F0H
MOVR7,#0FFH
MOVR0,#40H
MOV63H,#07H
KEY1:
DJNZR7,KEY1
MOVA,P2
ORLA,#0FH
CPLA
JZEKEY
LCALLDELAY
SKEY1:
MOVA,#00H
MOVR5,A
MOVR7,A
MOVR3,#0FEH
SKEY2:
MOVA,R3
MOVP2,A
NOP
MOVR7,A
S123:
JNZSKEY3
INCR5
SETBC
MOVA,R3
RLCA
MOVR3,A
MOVA,R4
CJNEA,#04H,SKEY1
EKEY:
RET
SKEY3:
MOVA,R1
JNBACC.4,SKEY5
JNBACC.5,SKEY6
JNBACC.6,SKEY7
JNBACC.7,SKEY8
AJMPEKEY
SKEY5:
MOVR2,A
AJMPDKEY
SKEY6:
MOVA,#01H
SKEY7:
MOVA,#02H
SKEY8:
MOVA,#03H
键位置译码
DKEY:
MOVA,R5
ACALLDECODE
键值译码
DECODE:
MOVB,#04H
MULAB
ADDA,R2
MOV@R0,A
INCR0
DJNZ63H,KEY
将从DS18B20中读出的温度数据进行转换
TEMPER:
MOVA,#0F0H
ANLA,50H
SWAPA
MOV53H,A
MOVA,50H
JNBACC.3,COV1
INC53H
COV1:
MOVA,51H
ANLA,#07H
ORLA,53H
MOV53H,A
MOVB,#64H
DIVAB
MOV46H,A
MOVA,#0AH
XCHA,B
DIVAB;
MOVA,#47H
MOVB,#48H
温度值与上下限比较
COM:
MOVA,46H
CJNEA,40H,LOOP1
MOVA,47H
CJNEA,41H,LOOP2
MOVA,48H
CJNEA,42H,LOOP3
LOOP3:
JCCOML1
SJMPSPEAKER
LOOP2:
JCCOML2
SJMPSPEAKER
LOOP1:
JCCOML3
COML1:
CJNEA,45H,LOOP4
LOOP4:
JCSPEAKER
COML2:
CJNEA,44H,LOOP5
LOOP5:
COML3:
CJNEA,43H,LOOP6
LOOP6:
SPEAKER:
SETBP1.6
蜂鸣器响铃子程序
BEEP:
LCALLDEX1
CPLP1.6
LCALLDELAY
MOVR6,#100
DJNZR6,DEL2
DEL2:
MOVR7,#180
DJNZR7,DEL2
DELAY:
MOVR6,#50
MOVR5,#1O
DEX1:
MOVR7,#100
DJNZR7,$
DJNZR6,DEX1
DJNZR5,DELAY
74LS164驱动4个LED
XIANSHI:
MOVTMOD,#01H
MOVTL0,#00H
MOVTH0,#4BH
MOVR0,48H
MOV70H,#04H
MOVSCON,#00H
SETBTR0
SETBET0
SETBEA
SJMP$
中断子程序
ORG000B
INTT0:
PUSHACC
PUSHPSW
CLREA
CLRTR0
MOVTL0,#00H
MOVTH0,#4BH
SETBTR0
DJNZ70H,EXIT
SJMPQQQ
EXIT:
MOVDPTR,#TABLE
MOVA,R0
MOVCA,@A+DPTR
CLRTI
MOVSBUF,A
DECR0
DJNZ70H,EXIT
QQQ:
SETBEA
POPPSW
POPACC
TABLE:
DB11H,77H,92H,32H,74H,38H,18H,73H,10H,30H
END
课程设计体会
课程设计虽然结束了,但在做课程设计中遇到不少难题,经过反复的查找资料以及同学的帮助总算把问题解决了。
从这次的课程设计中我学到了不少东西,不仅对微机控制基础知道加深了理解,更清楚了如何理论联系实际,把书本上学到的知识活用到实际中从而解决问题。
更提高了分析问题的能力,学会了解决问题的方法。
本设计采用常用的单片机组成应用系统,同时外扩接口电路,以实现人机交互,便于人们的操作和掌握系统的运行。
本系统就是根据这一原理来设计电路,通过本系统可以像计算机输入数据,传送命令,控制系统的运行,实现多点温度的检测控制。
本设计介绍了以AT89C51单片机为核心的温度控制系统的工作原理和设计方法。
温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。
单片机通过对信号进行相应处理,从而实现温度控制的目的。
本设还介绍了软件设计部分,在这里采用模块化结构,主要模块有:
主机控制程序、数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、蜂鸣器响铃子程序、中断子程序。
在实现设计的过程中让我学会了一些相应软件的应用,巩固了以前学过的知识,像这次设计就是单片机、微机原理、自动控制等多门学科的综合,给我们一个知识综合运用的一个实例。
课程设计结束了,从中获益匪浅,在人生的道路中受用无穷。
学习永无止境,一个设计并不能学会很多,但重要的是学到了解决问题的方法,今后遇到问题要学会解决问题,并从中学会更多的知识,在最后要强调一点:
路漫漫其修远兮,吾将上下而求索。
参考文献
[1]张桂红.《单片机原理及应用(第3版)》.科学技术出版社.2007.2
[2]李朝青.《单片机原理及接接口技术》.北京航空航天大学出版社.1990
[3]彭为,黄科,雷道中.《单片机典型系统设计》.电子工业出版社.2006.5
[4]周润景,袁伟亭,景晓松.《Proteus在MCS-51﹠ARM7系统中的应用百例》.电子工业出版社.2006.10
[5]丁元杰.《单片机原理及应用》.机械工业出版社.1996
[6]张海.《基于AT89C51和DS18B20的最简温度测量系统的设计》.现代电子技术.2007
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多点 温度 控制系统