设计人员:陈祖坤
摘要:以单片机为控制器设计1-8路温度采集控制系统,设计出温度检测电路、A/D转换电路、键盘显示电路、加热电路等,可自行选择器件设计电路,测量温度范围为:15~150℃,温度误差不大于0.5%,温度用4位数码管显示,温度检测元件可选用AD590、热敏电阻等。
1方案论证与比较
1.1 传感器的选择与比较
方案一 采用18B20,数字传感器,单片机能直接读取数据。
方案二 使用AD590,能够采集回来模拟信号,然后进行处理与分析。 由于本实验要求用AD处理所以18B20不可以。
1.2 AD的选择与比较
方案一 采用ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通
道A/D转换芯片。其体积小,兼容性强
方案二 采用ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
因为ADC0809既经济又实惠,而且满足要求,而且平时应用较多,所以我选择ADC0809。
1.3扩口与否的最优选择
方案一 不采用扩口,直接把ADC0809接到单片机接口上。
方案二 采用8155进行并口扩口,因为考虑到还得控制键盘及数码管,管脚不够,而且会增加程序的复杂度 终上所述,所以选择方案二
1
2 硬件系统设计 2.1 总体设计
用AD590进行数据采集,采集后经过三级放大,将放大的信号输入ADC0809,转换后经8155传送给单片机,单片机将传回来的数据经处理后发给数码管,实时监测键盘的输入,单片机将检测回来的数据与目前温度进行比对,然后控制加热体进行加热,然后闭环控制
温度采集模块 ADC08098单1加热片 模机块
键 盘 模 块5数码显示模块5图2.1 总体设计电路图
2.2单元电路设计
2.2.1传感器单元电路的设计
图2.2 传感器单元电路
2
AD590采集回来的电流模拟信号,由于ADC0809只能识别电压信号,所以需要经过IV变换转化成电压信号,经过一级放大转换成电压信号,然后二级经过10级放大,再经过三级一比一放大后传给ADC0809。
ADC0809功能简介
IN0~IN7:8路模拟量输入端。
2-1~2-8:8位数字量输出端。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。
START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动
(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个
高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。要求时钟频率不高于0KHZ。
2.2.2转化单元电路的设计
图2.3 ADC0809单元电路
2.2.3扩口单元电路的设计
3
图2.4 8155单元电路图
8155各引脚功能说明如下:
AD0~AD7:三态的地址/数据总线。与单片机的低8位地址/数据总线(P0口)相连。单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。
IO/M :8155的RAM存储器或I/O口选择线。当IO/M =0时,则选择8155的片内RAM,AD0~AD7上地址为8155中RAM单元的地址(00H~FFH);当IO/M =1时,选择 8155的I/O口,AD0~AD7上的地址为8155 I/O口的地址。
ALE:地址锁存信号。8155内部设有地址锁存器,在ALE的下降沿将单片机P0口输出的低8位地址信息及 ,IO/ 的状态都锁存到8155内部锁存器。因此,P0口输出的低8位地址信号不需外接锁存器。
PA0~PA7:8位通用I/O口,其输入、输出的流向可由程序控制。 PB0~PB7:8位通用I/O口,功能同A口。
PC0~PC5:有两个作用,既可作为通用的I/O口,也可作为PA口和PB口的控制信号线,这些可通过程序控制。
所以得出8155控制器地址为0DFF8,PA口地址为0DFF9,PB口地址是0DFFA,PC口地址为0DFFB
2.2.4显示单元电路设计
4
图2.5数码管显示单元电路图
采用数码管显示电路,进行动态扫描,这样的设计能降低能耗并且能节省IO口,由8155控制数码管的显示。
2.2.5键盘单元电路设计
图2.6键盘单元电路图
本设计采用键盘的是矩阵键盘扫面方式,改方式不仅节省IO口,而且准确度高
5
3软件系统设计
3.1 总体设计
系统在上电后,各模块进行初始化,系统检测当前温度值,采集回来后与在键盘处采集回来的预设温度值进行比对,若温度值小于预设值,则启动加热程序,进行实时监测,并对当前温度值显示在数码管上若温度值大于当前温度值,则关
闭加热子程序,直到温度回归预设值,一次进行闭环控制
开始初始化键盘输入模块输入AD处理模块显示模块比键盘输入及预设值大加热子程序
图3.1 软件总体设计流程图
3.1.1AD转换子程序
mov DPTR,#78FFH loop: mov 20h,#00h
movx @DPTR,A mov R6,#14H DELAY:NOP NOP NOP
DJNZ R6,DELAY movx A,@DPTR mov 20h,A
6
3.1.2 显示单元子程序
DIR:mov DPTR,#0DFF8H mov A,#03H movx @DPTR,A mov R0,#79H mov R3,#01H mov A,R3
LD0:mov DPTR,#0DFF9H mov @DPTR,A INC DPTR mov A,@R0 ADD A,#data movc A,@A+PC
DIR1:movx @DPTR,A ACALL DL1ms INC R0 mov A,R3
JB Acc.3,LD1 RL A mov R3,A AJMP LD0 LD1:RET
DSEG:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH DB 31H,6EH,1CH,23H,40H,03H DB 18H,00H
DL1ms:mov R7,#02H DL:mov R6,#0FFH DL6:DJNZ R6,DL6 DJNZ R7,DL
7
3.1.3 键盘扫描子程序
MAIN:MOV P0,#0FFH MOV A,P0 SUBB A,#FE
ACALL DELAY JZ RUN
SUBB A,#FD
ACALL DELAY JZ STOP SJMP MAIN
RUN: MOV P2,#0FEH SJMP MAIN
STOP: MOV P2,#0FEH SJMP MAIN
DELAY: MOV R7,#08H DELAY1:MOV R6,#0FFH DELAY2:DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET
8
附录一 总体电路图
9
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- howto234.com 版权所有 湘ICP备2022005869号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务