猪舍温度的单片机控制系统文档格式.docx
- 文档编号:22147235
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:24
- 大小:66.17KB
猪舍温度的单片机控制系统文档格式.docx
《猪舍温度的单片机控制系统文档格式.docx》由会员分享,可在线阅读,更多相关《猪舍温度的单片机控制系统文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
猪舍供暖设备完好,有燃气式,有焚烧锯末式。
供暖管道都预埋在猪栏的躺卧区,质材为高强度PV管。
许多猪场,特别是采用了VeLOS自动饲养管理系统的猪场都安装了自动控温,排气的设备,所以能提供世界文明的高质量肉制品。
而我国大部分地方养猪技术落后,养猪设备老化,结构不合理,无法提供现代猪所需的良好环境。
第二章舍内温度控制系统的硬件部分
温控系统主要由温度传感器、温度调节仪、执行装置、被控对象四个部分组成,其系统结构图如图1所示。
被控制对象是一间农村猪舍的温度,环境不是太特殊,对传感器的要求不高,一般的即可,在本设计中选用的是选LM35系列是精密集成电路温度传感器,用通过ADC0809转化可供数码管显示的数字量。
温度调节仪是控温系统的核心部分,采用单片机控制,实现智能化,它具体是由8051单片机、键盘及显示器接口电路等组成。
它把传感器送来的温度信号进行放大、比较、运算后,输出控制信号,触发执行装置,实现温度的自动控制,同时还实现多种温度传感器的转换、调零、调幅的软调整等功能。
为了提高系统的抗干扰能力,温度传感器信号应采用屏蔽线单独接地,此外,对主机亦采用电磁屏蔽措施,以防止其它的电磁干扰。
执行装置是由采用采用两个AC12V/DC5V,分别连接升温装置壁挂炉电路,降温装置接-DC12V的电风扇(外接12V直流电源),并且分别由单片机的P2.2口和P2.3口控制。
当温度超过高限时,其中连接降温的继电器被吸合电风扇工作;
当超过底限时,连接升温装置的继电器吸合,壁挂炉电路工作,当温度处于正常温度范围时,继电器断开,不工作,整个电路处于恒温状态
—图1
第三章芯片介绍
3.1主要性能
●内部程序存储器:
4KB
●内部数据存储器:
128B
●外部程序存储器:
可扩展到64KB。
●外部数据存储器:
●输入/输出口线:
32根(4个端口,每个端口8根)。
●定时/计数器:
2个16位可编程的定时计数器。
●串行口:
全双工,二根。
●寄存器区:
在内部数据存储器的128B中划出一部分作为寄存器区,分为四个区,每个区8个通用寄存器。
●中断源:
5个中断源,2个优先级别。
●堆栈:
最深128B。
●布尔处理机:
即位处理机,对某些单元的某位做单独处理。
●指令系统(系统时钟为12MHZ时):
大部分指令执行时间为1us;
少部分指令,执行时间为2us;
只有乘、除指令的执行时间为4us。
3.2引脚功能说明
(1)主电源引脚
1VCC:
电源端。
2GND:
接地端。
(2)外接晶体引脚XTAL1和XTAL2
①XTAL1:
晶体振荡电路反相器的输入端。
当采用外部振荡器时,此引脚接地。
②XTAL2:
晶体振荡电路反相器的输出端。
采用外部振荡器时,此引脚作为外部振荡信号的输入端。
在使用内部振荡电路时,这俩引脚用来外接石英晶体和微调电容。
(3)RST:
复位信号输入端。
当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
ALE/
:
当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
然而注意的是:
每当访问外部数据存储器时,将跳过一个ALE脉冲。
在对Flash存储器编程期间,该引脚还用于输入编程脉冲(
)。
程序存储允许(
)输出是外部程序存储器的读选通信号,低电平有效。
当80C51由外部程序存储器取指令(或常数)时,每个机器周期两次
有效(即输出2个脉冲)在访问外部程序储存器时,此引脚接单片机外部EPROM的——OE端,此端口有效时,允许读出片外EPROM的指令码。
/Vpp:
外部程序储存器地址访问允许端。
要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则
端必须保持低电平(接到GND端)。
。
当
端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。
在Flash存储器编程期间,该引脚也用于施加12V的编程允许电源Vpp(如果选用12V编程)。
(4)输入/输出引脚P0.0~P0.7,P1.0~P1.7,P2.0~P2.7和P3.0~P3.7。
①P0端口(P0.0~P0.7):
P0是一个8位漏极开路型双向I/O端口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
②P1端口(P1.0~P1.7):
P1是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在对Flash编程和程序校验时,P1接收低8位地址。
③P2端口(P2.0~P2.7):
P2是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在对Flash编程和程序校难期间,P2也接收高位地址和一些控制信号。
3P3端口(P3.0~P3.7):
P3是一个带内部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在AT89C51中,P3端口还用于一些复用功能。
复用功能如表3-1所列。
在对Flash编程或程序校验地,P3还接收一些控制信号。
表3-1P3各端口引脚与复用功能表
端口引脚
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
___________INTO(外部中断0)
P3.3
_________INTI(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
_______WR(外部数据存储器写选通)
P3.7
_______RD(外部数据存储器读选通)
第四章单片机的最小应用系统
单片计算机是一个最小的应用系统,但由于应用系统中有一些功能器件无法集成到芯片内部,如晶振、复位电路等,需要在片外加接相应的电路。
4.1单片机的时钟电路[2]
MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。
单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。
MCS-51单片机的时钟产生方式有两种。
(1)内部时钟方式
利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。
最常用的是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激震荡器,
晶体可在1.2~12MHz之间选择。
MCS-51单片机在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12Hz频率的晶体主要是在高速串行通信情况下才使用。
C1和C2可在20~100pF之间取值,一般取30pF左右。
(2)外部时钟方式
在由单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的合用外部振荡脉冲作为各单自片机的时钟。
外部时钟方式中是把外部振荡信号源直接接入XTAL1或XTAL2。
由于HMOS和CHMOS单片机外部时钟进入的引线不同,其外部振荡信号源接入的方式也不同。
HMOS型单片机由XTAL2进入,外部振荡信号接至XTAL2,而内部反相放大器的输入端XTAL1应接地,由于XTAL2端的逻辑电平不是TTL的,故还要接一上接电阻。
CHMOS型单片机由XTAL1进入,外部振荡信号接至XTAL1,而XTAL2可不接地.
4.2复位电路和复位状态[3]
MCS-51单片机的复位是靠外部电路实现的。
MCS-51单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。
(1)复位电路
MCS-51单片机通常采用上电自动复位和按键复位两种方式。
最简单的复位电路如图所示。
上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。
图4-1
(2)复位状态
复位电路的作用是使单片机执行复位操作。
复位操作主要是把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序。
程序存储器的0003H单元即MCS-51单片机的外部中断0的中断处理程序的入口地址。
留出的0000H~0002H3个单元地址,仅能够放置一条转移指令,因此,MCS-51单片机的主程序的第一条指令通常情况下是一条转移指令。
除PC之外,复位还对其他一些特殊功能的寄存器有影响,它们的复位状态如表4-1所示。
由表4-1可知,除SP=07H,P0~P34个锁存器均为FFH外,其他所有的寄存器均为0。
此外,单片机的复位不影响片内RAM的状态(包括通用寄存器Rn)。
寄存器
复位状态
PC
0000H
TMOD
00H
ACC
OOH
TCON
PSW
TL0
SP
07H
TH0
DPTR
TL1
P0—P7
FFH
TH1
IP
Xxx0000B
SCON
IE
0xx0000B
PCON
表4-1寄存器的复位状态
P0、P1、P2、P3共有4个8位并行I/O口,它们引线为:
P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7,共32条引线。
这32条引线可以全部用做I/O线,也可将其中部分用做单片机的片外总线。
一、控制线
A、ALE地址锁存允许
当单片机访问外部存储器时,输出信号ALE用于锁存P0口输出的低8位地址A7~A0。
ALE的输出频率为时钟振荡频率的1/6。
B、
程序存储器选择
=0,单片机只访问外部程序存储器。
对内部无程序存储器的单片机8031,
必须接地。
=1,单片机访问内部程序存储器,若地址超过内部程序存储器的范围,单片机将自动访问外部程序存储器。
对内部有程序存储器的单片机,
应接高电平。
C、
片外程序存储器的选通信号。
此信号为读外部程序存储器的选通信号。
D、RST复位信号输入
二、电源及时钟
VSS地端接地线,VCC电源端接+5V,XTAL1和XTAL2接晶振或外部振荡信号源。
4.3总线结构[4]
单片机的引线除了电源、复位、时钟输入、用户I/O口外,其余引线都是为实现系统扩展则设置的,这些引线构成了单片机外部的3总线形式,如图4-2
(1)地址总线
地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A7~A0),P2口直接提供高8位地址(A15~A8)。
由口的位结构可知,MCS-51单片机在进行外部寻址时,P0口的8根引8位地址和8位数据的复用线。
P0口首先将低8位的地址发送出去,然后再传送数据,因此要用锁存器将先送出的低8位地址锁存。
MCS-51常用74LS373或8282做地址锁存器。
(2)数据总线
数据总线宽度为8位,由P0口提供。
(3)控制总线
MCS-51用于外部扩展的控制总线除了它自身引出的控制线RES、
、ALE、
外,还有由P3口的第二功能引线:
外部中断0和外部中断1输入线
和
,以及外部RAM或I/O端口的读选通和写选通信号
图4-2
4.4MCS—51单片机的最小应用系统[5]
构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图4-1所示,这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户选用的大量I/O线。
图4-3MCS—51单片机的最小应用系统
第五章温度采集控制系统设计
5.1温度传感器的分类和应用
按照温度传感器输出信号的模式,可大致划分为三类:
数字式温度传感器、逻辑输出温度传感器、模拟式温度传感器。
传统的模式温度传感器,如热电偶、热敏电阻和RTDS对温度的监控,在一些温度范围内线性不好,需要进行冷端补偿或引线补偿;
热惯性大,响应时间慢。
集成模拟温度传感器与之相比,具有灵敏度高、线性度好、响应速度快等优点,而且它还将驱动电路、信号处理电路以及必要的逻辑控制电路集成在单片IC有实际尺寸小、使用方便等优点。
常见的模拟温度传感器有LM3911、LM335、LM45、AD22103电压输出型、AD590电流输出型。
LM35系列是精密集成电路温度传感器,其输出的电压线性地与摄氏温度成正比。
因此,
LM35比按绝对温标校准的线性温度传感器优越感得多。
LM35系列传感器生产制作时已经
过校准,输出电压与摄氏温度一一对应,使用极为方便。
灵敏度为10.0mV/℃,精度在0.4℃至0.8℃(-55℃至+150℃温度范围内),重复性好,低输出阻抗,线性输出和内部精密校准使其与读出或控制电路接口简单和方便,可单电源和正负电源工作。
特性:
1、在摄氏温度下直接校准
2、+10.0mV/℃的线性刻度系数
3、确保0.5℃的精度(在25℃)
4、额定温度范围为-55℃至+150℃
5、适合于远程应用
6、工作电压范围宽,4V至30V
7、低功耗,小于60uA
8、在静止空气中,自热效应低,小于0.08℃的自热
9、非线性仅为±
1/4℃
10输出阻抗,通过1mA电流时仅为0.1Ω
图5-1温度采集电路图
5.2LED数码管显示接口
在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。
LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。
5.2.1LED数码管
LED数码管是由发光二极管作为显示字段的数码型显示器件。
图5-2a为0.5inLED数码管的外形和引脚图,其中七只发光二极管分别对应a~g笔段构成“
”字形另一只发光二极管Dp作为小数点。
因此这种LED显示器称为七段数码管或八段数码管。
LED数码管按电路中的连接方式可以分为共阴型和共阳型两大类,如图5—2b,c所示。
共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,a~g、Dp各笔段通过限流电阻接控制端。
某笔段控制端低电平时,该笔段发光,高电平时不发光。
控制这几段笔段发光,就能显示出某个数码或字符。
共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。
图5—2
LED数码管按其外形尺寸有多种形式,使用较多的是0.5in和0.8in;
按显示颜色也有多种形式,主要有红色和绿色;
按亮度强弱可分为高亮和普亮,指通过同样的电流显示亮度不一样,这是因发光二极管的材料不一样而引起的。
LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为1.5~2V额定电流为10mA,最大电流为40mA。
静态显示时取10mA为宜,动态扫描显示可加大,加大脉冲电流,但一般不超过40mA。
[6]
5.2.2LED数码管编码方式
当LED数码管与单片机相连时,一般将LED数码管的各笔段引脚a、b、…、
g、Dp按某一顺序接到MCS-51型单片机某一个并行I/O口D0、D1、…、D7,当该I/O口输出某一特定数据时,就能使LED数码管显示出某个字符。
例如要使共阳极LED数码管显示“0”,则a、b、c、d、e、f各笔段引脚为低电平,g和Dp为高电平,如表5-1所示。
[7]
表5-1共阳极LED数码管显示数字“0”时各管段编码
D7
D6
D5
D4
D3
D2
D1
D0
字段码
显示数
Dp
g
f
e
d
c
b
a
1
C0H
C0H称为共阳极LED数码管显示“0”的字段码,不计小数点的字段码称为七段码,包括小数点的字段称为八段码。
LED数码管编码方式有多种,按小数点计否可分为七段码和八段码;
按共阴共阳可分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;
按a、b、…、g、Dp编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字段码。
甚至在某些特殊情况下将a、b、…、g、Dp顺序打乱编码。
表5-2共阴和共阳LED数码管几种八段编码表。
[8]
表5-2共阴和共阳数码管集中编码方式
共阴顺序小数点暗
共阴逆序小数点暗
共阳顺序
小数点亮
小数点暗
Dpgfedcba
16进制
abcdefgdp
00111111
3FH
11111100
FCH
40H
C0H
00000110
06H
01100000
60H
79H
F9H
2
01011011
5BH
11011010
DAH
24H
A4H
3
01001111
4FH
11110010
F2H
30H
B0H
4
01100110
66H
19H
99H
5
01101101
6DH
10110110
B6H
12H
92H
6
01111101
7DH
10111110
BEH
02H
82H
7
00000111
11100000
E0H
78H
F8H
8
01111111
7FH
11111110
FEH
00H
80H
9
01101111
6FH
11110110
F6H
10H
90H
5.2.3LED数码管显示方式和典型应用电路[9]
该设计中LED数码管显示电路在单片机应用系统中可应用的为静态显示方式
静态显示方式在静态显示方式下,每一位显示器的字段需要一个8位I/O口控制,而且该I/O口须有锁存功能,N位显示器就需要N个8位I/O口,公共端可直接接+5V(共阳)或接地(共阴)。
显示时,每一位字段码分别从I/O控制口输出,保持不变直至CPU刷新显示为止。
也就是各字段的亮灭状态不变。
静态显示方式编程较简单,但占用I/O口线多,即软件简单、硬件成本高,一般适用显示位数较少的场合。
显示器由5个LED数码管组成。
输入只有两个信号,它们是移位数据信号RXD和移位时钟信号TXD。
5个串/并移位寄存器芯片74LS164首尾相连。
每片的并行输出作为LED数码管的段码。
74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。
其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。
T(第8脚)为时钟输入端,可连接到串行口的TXD端。
每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。
R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。
Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的hg·
·
a各段对应的引脚上。
在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,最终74LS164把输入的串行数转换成并行数输出。
5.2.4利用74LS164在数码管上显示数字量原理图:
5.3设计说明
本设计是模拟温度的显示,温度经过热敏电阻转换为电压信号,经放大器放大后进入单片机进行A/D转换成数字量后输出到静态显示部分,显示其温度值。
其中温度范围的计算原理:
首先把A/D转换中电位器顺时针旋到底,即模拟信号的输入不衰减,选取两个温度状态T1T2,分别测量出其模拟输出电压V1V2;
根据ADC0809的输入范围在0到5伏,即可计算出温度极限。
0伏时对应的温度TL:
T1-(V1-0)(T2-T1)/(V2-V1)
5伏时对应的温度TH:
T1-(V1-5)(T2-T1)/(V2-V1)
本设计中近似计算TH为50℃,TL为-50℃。
程序中温度的计算原理:
首先用温度范围除以0到256(即每个十六进制数的温度增长率),然后乘以模拟转换的数字量,即得到升高的温度,再和最低温度相加,就可以得到实际的温度值。
其公式为:
TL+AX(TH-TL)/256
TL:
显示的最低温度
TH:
显示的最高温度
AX:
模拟电压所转换的数字量
在ADC0809A/D转换实验模块中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 猪舍 温度 单片机 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)