AD590温度采集系统设计Word下载.docx
- 文档编号:8286935
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:21
- 大小:403.64KB
AD590温度采集系统设计Word下载.docx
《AD590温度采集系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《AD590温度采集系统设计Word下载.docx(21页珍藏版)》请在冰点文库上搜索。
关键字:
AT89C51、DS1302、LCD12864、PROTEUS
第一章系统方案
1系统的设计任务
设计单片机主电路、数据采集接口电路、LED显示电路、时钟信号控制电路,能够实现对1路电压值进行测量,能够显示当前实际的温度值,温度值精度小数点后1位,可以通过ADC0809模数转换芯片将采集的模拟信号转换为数字信号并在LED显示屏显示出来。
2设计方案
将数据采集接口T-DETECT端口电压传入ADC0809数模转换元件中的IN-0通道,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。
本设计使用的数据流输出为串入并出形式,这样的好处是使用借口较少,方便使用。
图1.1系统总体方案结构图
3软硬件开发环境
硬件选择:
选择AT89C51作为单片机芯片,选用8段共阴极LED数码管实现温度显示,要求,利用ADC0809作为数模转换芯片,利用P0至P4的各个串口来进行不同设备间的连接,计算机进行汇编,WAVE仿真器,单片机多功能实验台。
软件开发环境:
keil软件进行程序编写。
第二章理论分析与计算
系统使用集成电路温度传感器AD590作为测温器,AD590是一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。
图33-1温度传感部分
图33-1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有了10℃的变化时输出电压变化为20mV,即该电路运放6脚电压随温度变化为2Mv/℃。
AD590将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。
将温度传感器输出的小信号跟随放大45倍左右后,送至8位A/D转换器换成数字量。
设定温度为0摄氏度时变换放大电路送出的模拟量为0V,此时A/D输出的数字量为00H;
温度为85.3摄氏度时变换放大电路送出5V电压,此时A/D输出的数字量为FFH,即每0.3摄氏度对应1LSB变化量。
当温度超过报警温度报警85.3摄氏度,此时,输出电压约为5.0V左右。
通过电压比较器接通硬件报警电路报警。
输入A/D的模拟信号有过压保护,不会损坏A/D转换器。
在实验平台硬件中,已有安全设计,即加热温度不会超过80℃。
系统出厂时已依据标准调整好了放大器的增益和零位。
应注意:
由于热惯性的影响及温度计显示的滞后因素,若要精确观察某温度点的测量值,在加热到观察温度点后,应停止加热,等待温度计示值稳定后,再观察记录结果。
若选区观察点温度较高,还应相应延长等待时间。
需要说明的是,由于温度计和温度采样芯片AD590的采样点不同,理论计算值同显示略有偏差。
第三章电路与程序设计
1主要电路
1.1温度测量与控制电路
本实验需要用到CPU模块(F3区)和温度测量与控制模块(A5区)、并行模数转换模块(D7区)、8279显示模块(F4区)。
温度测量与控制电路原理参见图33-2。
图33-2温度测量与控制电路
1.2静态数码管显示电路
本实验需要用到CPU模块(F3区)和静态数码管显示模块(B4区)。
静态数码管显示电路原理图参见图9-1。
图9-1静态数码管显示电路
1)系统各跳线器处在初始设置状态。
用导线对应连接静态数码管显示模块的DIN、CLK到CPU模块的P30、P31。
2)启动PC机,打开KeiluVision2软件,加载程序,编译,下载,运行。
3)观察数码显示结果。
2.硬件设计
2.1单片机主电路设计
在本次课题设计中我们选择了8951芯片,其具有功能强、体积小、成本低、功耗小等特点,它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
2.2测量、转换电路设计
使用ADC0809作为数模转换元件,其引脚图如2.1所示
图2.1ADC0809引脚图
ADC0809是带有8路模拟开关的8位A/D转换芯片,所以它可有8个模拟量的输入端,由芯片的A,B,C三个引脚来选择模拟通道中的一个。
A,B,C三端分别与AT89C51的P0.0~P0.2相接。
地址锁存信号(ALE)和启动转换信号(START),由P2.6和/WR或非得到。
输出允许,由P2.6和/RD或非得到。
时钟信号,可有89C51的ALE输出得到,不过当采用12M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K的要求。
与单片机的连接如图2.2所示
图2.2数据转换系统电路图
2.3显示电路设计
一、LED数码管构成
LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。
其外形结构如图所示。
它由8个发光二极管构成,通过不同的组合可用来显示0-9、A-F及小数点“.”等字符。
数码管有共阴极和共阳极两种结构规格,电阻为外接。
共阴极数码管的发光二极管阴极共地,当某发光二极管的阳极为高电平时,二极管点亮;
共阳极数码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。
图2.3(a)共阴极图2.3(b)共阳极
图2.3(C)字段显示
二、显示方式
(1)静态显示方式
直接利用并行口输出。
LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;
每位的段选线分别于一个8位的锁存输出相连。
一般称之为静态显示,是由于显示器中的各位相互独立。
而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。
本实验采用串入并出的静态显示方式。
利用通信号串行输出。
在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,经常采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。
(2)动态显示方式
对多位LED显示器的动态显示,通常都时采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。
这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。
为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。
因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位控信号;
另一个用于输出段控信号,其连接图如下。
2.4LED显示电路
表2.1七段LED段选码表
显示字符
共阴极段
3FH
C
39H
1
06H
D
5EH
2
5BH
E
79H
3
4FH
F
71H
4
66H
P
73H
5
6DH
U
3EH
6
7DH
Γ
31H
7
07H
y
6EH
8
7FH
8.
FFH
9
6FH
“灭”
00H
A
77H
/
B
7CH
3.软件设计
3.1主程序设计
(一)工作流程
首先在模拟信号转换开始初期延时一段时间(150微秒),延时完成后数据肯定已经转换完毕。
转向数据存储程序,最后再到显示程序,本设计使用的是串入并出形式的显示方法。
要求正确的显示温度值。
完成一次温度采集显示程序后,要延时1秒,使的数据显示稳定,如果延时时间过短,温度值会在跳跃的临界点闪烁。
然后转向温度采集并循环显示程序。
工作流程图如下:
N
Y
图3.1主程序流程
(二)存储空间定义安排
40H用于存放A/D转换结果,40H、41H、42H分别存储显示用的三位数据如下表:
表3.1存储空间定义表
40H
用于存放A/D转换结果
温度值十位数部分
41H
温度值个位数部分(小数点的处理)
42H
温度值小数位部分
3.2模块程序设计
(一)A/D转换测量程序
A/D转换的常用方法有:
①计数式A/D转换,②逐次逼近型A/D转换,③双积分式A/D转换,④V/F变换型A/D转换。
在这些转换方式中,记数式A/D转换线路比较简单,但转换速度较慢,所以现在很少应用。
双积分式A/D转换精度高,多用于数据采集及精度要求比较高的场合,如5G14433(31/2位),AD7555(41/2位或51/2位)等,但速度更慢。
逐次逼近型A/D转换既照顾了转换速度,有具有一定的精度,这里选用的是逐次逼近型的A/D转换芯片ADC0809。
采用延时控制的方式实现,不浪费时间,效率较高。
其流程图如下:
图3.2A/D转换测量程序
(二)显示程序
在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。
图3.3显示子程序
4.系统程序
org000h
jmpmain
org0030h
main:
movr0,#40h
movdptr,#0bff8h;
指向0809首地址
movx@dptr,a;
启动A/D转换
tt1:
movxa,@dptr;
读数
movx@r0,a;
存数
启动A/D转换
lcalldelay128us;
等待转换完毕(至少128us)
movxa,@dptr
mov@r0,a
lcalltran;
模数-数据转换
lcalldisp;
数据的静态显示
lcalldelay1s
sjmpmain
;
数据转换;
tran:
;
数据转换
movr3,#00h
mova,@r0;
把r0中的数给a
movb,#03h;
标度变换3格一度
divab
movr3,b
movb,#0ah;
将标度变换结果的整数部分进行BCD码转换
mov@r0,a;
将十位数送显示缓冲单元
incr0;
指向缓冲单元下一地址
mov@r0,b;
将个位数送显示缓冲单元
mova,r3;
标度转换结果小数部分处理
实现三格一度
mulab
incr0
送显示缓冲单元
lop:
ret
静态显示子程序-串入并出;
disp:
movdptr,#tab
movr0,#40h;
r0指向缓存区首地址
将整数位数给a
movca,@a+dptr;
利用表格计算十位七段LED数码管的段码
mov40h,a;
将段码结果送入40h
r0指向缓存区下一地址
将个位数给a
利用表格计算个位七段LED数码管的段码
mov41h,a;
将段码结果送入41h
将小数给a
利用表格计算小数位七段LED数码管的段码
mov42h,a;
将段码结果送入42h
最后一位清零;
mov43h,#00h
mova,43h
movr7,#8
ccc:
jbacc.7,aaa;
clrp3.0;
jmpbbb
aaa:
setbp3.0
bbb:
setbp3.1
clrp3.1
rla
djnzr7,ccc
小数位数显示;
mova,42h
movr7,#8
cc:
jbacc.7,aa;
jmpbb
aa:
bb:
djnzr7,cc;
所有位检测后顺序执行
个位数显示;
orl41h,#80h;
个位数后置小数点
mova,41h
dd:
jbacc.7,ee
clrp3.0
jmpff
ee:
ff:
djnzr7,dd
十位数数显示;
mova,40h
gg:
jbacc.7,hh
jmpii
hh:
ii:
djnzr7,gg
tab:
db3fh,06h,5bh,4fh,66h
db6dh,7dh,07h,7fh,6fh
lop1:
ADC0809转换所需时间;
delay128us:
movr5,#30
delay1:
movr7,#5
delay2:
nop
nop
djnzr7,delay2
djnzr5,delay1
为使数据显示稳定延时1秒;
delay1s:
movr4,#10
delay00:
movr5,#100
delay11:
movr7,#249
delay22:
djnzr7,delay22
djnzr5,delay11
djnzr4,delay00
第四章结果分析
1.调试内容及问题解决
程序可分为数据采集系统、数据转换系统、显示系统,这三部分先独立测试,然后整体调试。
显示系统的调试:
要显示的数据存放在40H、41H、42H单元中,先在40H、41H、42H分单元中存放0~10的数,运行显示程序,察看显示的结果是否与存放值一样。
在测试的过程中发现小数点没有显示,通过指令ORL30H,#80H,把小数点显示出来。
整体测试:
把个部分用线连接,P2接数码管,P3接位选。
仿真器、仿真头连好,进入WAVE软件,设置仿真器。
编译程序,看是否存在错误。
2.整体调试
1.把Vref电压调到+5V;
2.将多位开关S7A拨向最左端,调节RW10电位器,使T-DECTECT孔为零。
将多位开关S7A拨加最右(温度控制)端,Survey灯亮。
3.用导线连接温度测量与控制模块的T-Detect到并行模数转换模块的IN-0;
并行模数转换模块的CS_0809到地;
并行模数转换模块的Vref接压力测量模块的Vref电源;
P10接温度模块的T-CON;
CUP模块的P12F3与P0F3,P11F3与P1F3相连,CPU模块的/WR,/RD与D1区的/WR,/RD相连,F4区的CS8279接P27,RESET接地。
4.启动PC机,打开KeiluVision2软件,加载程序,编译,下载,运行。
运行后,正常显示温度控制模块的温度加热时将T-CON与P2.3连接温度将会以0.3度为单位逐渐增加,当停止加热时温度会以0.3为单位逐渐下降。
第五章课程设计总结
在我国,随着国家信息化发展战略的贯彻实施,信息化建设已经进入了全方位、多层次推进应用的新阶段。
现在,掌握计算机技术已成为二十一世纪人才应具备的基本素质之一。
单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。
这次课程设计对我们来说有着很重要的意义,不仅综合理论知识来运用到创新和设计,还让我们知道了团队的合作。
两个星期前我们还为这次课程设计发愁,我们需要了解在做本次课程设计的过程中,我感触最深的当属查阅大量设计资料了。
为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。
在这两星期的时间里,我们经历从迷茫到清晰的全过程,我认识到做课程设计,必须做到,首先要分析好自己的设计目的及要求,在设计程序前不能妄想一蹴而就要有一个清晰的思路和一个完整的流程图,学会单步调试来找错,很多我们在课本上没学到的知识,比如说LCD的应用、以及AD590芯片的用法,我们通过上网和图书馆查资料并在老师细心的指导下,完成了这次设计,感谢老师的辛勤指导。
经过这些天的实践和体验下来,我们学到了不仅是知识更多的学会的是团队协作。
通过这次课程设计,我也发现了自身存在的很多不足之处,虽然理论知识感觉掌握了,但在运用实践过程中仍有意想不到的困惑,进过一番努力才得以解决。
我想这将对我以后的学习产生积极的影响。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要性,学会了坚持、耐心和努力,这将为自己今后的学习和工作作出了最好的榜样。
再次感谢老师的热心指导,没有老师的指导我们不可能完成。
由于知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能不够完善,精度有待提高等问题,会在学习的使用过程中,根据学习的具体要求不断的修改,完善,争取使该系统慢慢趋向完美,并希望老师批评指点在因难中进步,还要感谢指导教师给我的提供了宝贵的意见。
参考文献
[1]徐爱钧.智能化测量控制仪表原理与设计(第二版).北京:
北京航空航天大学出版社,2004
[2]吴金戌.8051单片机实践与应用.北京:
清华大学出版社,2002
[3]张国勋.缩短ICL7135A/D采样程序时间的一种方法,1993
[4]高峰.单片微型计算机与接口技术.北京:
科学出版社,2003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AD590 温度 采集 系统 设计