单片机的应用于数据采集存储显示Word文件下载.docx
《单片机的应用于数据采集存储显示Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机的应用于数据采集存储显示Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
片内采用单总线结构。
用单一+5V电源。
数据采样是智能仪表、自动控制系统中不可缺少的部分,本次设计中由于8051单片机木身不具备将电量信号转换成数字量的功能,所以必须扩展A/D、D/A接口。
输入信号是
用5V电源经电位器调节得到0'
5V的采样输入信号送入ADC电路。
单片机分时对模拟输入信号进行采集,获得数值信号单片机内存储RAM中,也可以使用扩展RAMo经处理后的信号之后单片机将RAM中的数值量送入D/A转换电路,D/A电路通常输出与数字量相对应的模拟电流,经1/V变换成模拟电压值。
第三章控制系统性能说明
单片机多通道温度采集测控系统采用集成温度传感器满足温度测量,并将温度信号转换成电流,转换为电压信号,通过放大电路最终交由模/数转换芯片转换成数字信号经单片机
处理并经输出驱动电路显示于LED数码管。
该测量仪可实现多点不同区域测量,单通道,循环测量。
还具有超温报警和自动控制功能,当温度超过某一设定值时,系统控制继电器来关闭加温设备。
除此之外,考虑到测控会用于工业生产当中,可靠性要求比较重要,并要具有抗干扰能力和避免、消除干扰的能力,以保证系统平稳工作。
由以上大致分析,整个系统控制将由8051单片机为核心构成。
选用ADC0809作为模/数转换芯片,各个检测信号、控制信号、显示信号可由单片机的I/O口进行,并由程序保证系统抗干扰的能力。
将数据采集接口T-DETECT端口电压传入ADC0809数模转换元件中的IN-0通道,经转换后通过
D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理后输入LED数码显示管显示。
木设计使用的数据流输出为串入并出形式,这样的好处是使用接口较少,使用方便。
系统总体方案结构图
第四章硬件设计
1.主要电路
下面主要介绍温度采集系统中设计到的一些系统中的主要模块电路的设计原理和工作方式。
1.1温度测量与控制电路
本实验需要用到CPU模块和温度测量与控制模块、并行模数转换模块、8279显示模
块。
温度测量与控制电路原理参见图。
温度测量与控制电路
1・2静态数码管显示电路
木次实验设计需要用到CPU模块和静态数码管显示模块。
静态数码管显示电路原理图
参见下图。
静态数码管显示电路
(a)•系统各跳线器处在初始设置状态。
用导线对应连接静态数码管显示模块的DIN、
CLK到CPU模块的P30.P31o
(b).启动PC机,运行程序。
(c).观察数码显示结果。
2.硬件设计
2.1单片机主电路设计
在木次课题设计中我们选择了8051芯片,其具有功能强、体积小、成本低、功耗小等特点,
它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、速、高效地完成程序设计者事先规定的任务。
8051单片机
2.2测量、转换电路设计
2.3
使用ADC0809作为数模转换元件,其引脚图
ADC0809引脚图
-IN2
-INI
-IN0
—ADDA
ADC0809是带有8路模拟开关的8位A/D转换芯片,所以它可看陀界模拟量的输入端,由芯片的A,
START——ADDC
B,C三个引脚来选择模拟通道中的一个。
A,B,C三端分别与AT89C51
EOC—
的P0.0>
0.2相接。
地址锁存信号(ALE)和启动转换信号(START),由P2.6和/WR或非得到。
输出允许,
由P2.6和/RD或非得到。
时钟信号,可有89C51的ALE输出得到,不
过当采用12M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K
的要求。
与单片机的连接如图所示vcc-
"
REF(*)-2和LSB—
2.4显示电路设计
C->
2.3.1LED数码管构成
U15B
74L57H
K4
IQTGICTC
LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。
其外形结构
0-9.A-F及小数点
如图所示。
它由8个发光二极管构成,通过不同的组合可用来显示
数码管有共阴极和共阳极两种结构规格,电阻为外接。
共阴极数码管的发光二极管阴极
共地,当某发光二极管的阳极为高电平时,二极管点亮;
共阳极数码管的发光二极管是阳极,
并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。
(a)共阴极(b)共阳极
g£
GNDa.t>
dGNDcdp
(0字段显示
232显示方式
(R.静态显示方式
直接利用并行口输岀。
LED显示工作于静态显示方式时,各位的共阴极连接在一起接地每位的段选线分别于个8位的锁存输出相连。
一般称之为静态显示,是由于显示器中的各
位相互独立。
而且各位的显示字符一经确定,相应锁存器的输岀将维持不变,直到显示另一个
字符为止。
本实验采用串入并岀的静态显示方式。
利用通信号串行输出。
在实际应用中,多位LED显示时,为了简化电路,在系统不需要
通信功能时,经常采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。
(b).动态显示方式
对多位LED显示器的动态显示,通常都时采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。
这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且
人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。
为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。
因此多位LED显示器接口电路需要有两个输
出口,其中一个用于输出8位控信号;
另一个用于输出段控信号,其连接图如下。
LED显示电路
七段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
r
31H
7
07H
y
6EH
8
7FH
8.
FFH
9
6FH
“灭”
00H
A
77H
/
B
7CH
第五章软件设计
1.工作流程
在模拟信号转换开始初期延时一段时间(150微秒),延时完成后数据肯定己经转换完毕。
转向数据存储程序,最后再到显示程序,本设计使用的是串入并出形式的显示方法。
要求正
确的显示温度值。
完成一次温度采集显示程序后,要延时1秒,使的数据显示稳定,如果
延时时间过短,温度值会在跳跃的临界点闪烁。
然后转向温度采集并循环显示程序。
工作流
程图如下:
N
Y
转换数据的处理
主程序流程图
2•存储空间定义安排
40H用于存放A/D转换结果,40H、41H、42H三个位置分别存储显示用的三位数
据,具体情况如下表:
存储空间定义表
40H
用于存放A/D转换结果
温度值十位数部分
41H
温度值个位数部分(小数点的处理)
■42H
温度值小数位部分
3.模块程序设计
3.1A/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转换芯片
ADC0809o采用延时控制的方式实现,不浪费时间,效率较高。
其流程图如下:
A/D转换测量程序
3.2显示程序
LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;
每位的段选线分别于一个8位的锁存输出相连。
一般称之为静态显示,是由于显示器中的各位相互独立。
而且各
位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。
本实验采用串入并出的静态显示方式。
在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,采用串
行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。
显示子程序程序框图
4.系统程序代码
orgOOOh
jmpmain
org0030h
main:
movrO,#40h
movdptr,#0bff8h;
指向0809首地址movx@dptr,a启动A/D转换
ttl:
movxa,@dptr;
读数
movx@r0,a
;
存数
movx@dptr,a
lcall
rlo119Qi1e
movxa,@dptrmov@r0,a
;
数据转换
tran:
mov
inc
mul
启动A/D转换
等待转换完毕(至少128us)
lcalltran;
模数-数据转换
lcalldisp;
数据的静态显示
lcalldelaylssjmpmain
rO,#40h
r3,#00h
a,@r0;
把rO中的数给a
b,#03h;
标度变换3格一度divab
r3,b
b,#0ah;
将标度变换结果的整数部分进行BCD码转换divab
@rO,a;
将十位数送显示缓冲单元
rO;
指向缓冲单元下一地址
@rO,b;
将个位数送显示缓冲单元
a,r3;
标度转换结果小数部分处理
b,#03h;
实现三格一度
ab
rO
@rO,a;
送显示缓冲单元
lop:
ret
静态显示子程序-串入并出
disp:
movdptr,#tabmovrO,#40hmov
:
rO指向缓存区首地址
a,@r0move
将整数位数给a
a,@a+dptrmov
利用表格计算十位七段
LED数码管的段码
40h,a
将段码结果送入40h
incrO
rO指向缓存区下一地址
mova,@r0
将个位数给a
movea,@a+dptr
利用表格计算个位七段
mov41h,a
将段码结果送入41h
mova.,@r0
将小数给a
利用表格计算小数位七
mov42h,a
将段码结果送入42h
最后一位清零mov43h,#00h
mova,43hmovr7,#8ccc:
jbacc.7,aaa
clrp3・0
jmpbbbaaa:
setbp3.0bbb:
setbp3・1
clrp3.1
rla
djnzr7,ccc
小数位数显示
mova,42h
movr7,#8
cc:
jbacc・7,aa;
clrp3.0;
jmpbb
aa:
setbp3・0
bb:
setbp3・1
djnzr7,cc;
所有位检测后顺序执行;
个位数显示
orl41h,#80h;
个位数后置小数点
mova,41h
dd:
jbacc・7,ee
jmpff
ee:
setbp3・0
ff:
setbp3.1
djnzr7,dd
十位数数显示
mova,40h
gg:
jbacc・7,hh
clrp3.0
jmpii
hh:
ii:
setbp3.1
clrp3.1rla
djnzr7,gg
tab:
db3fh,06h,5bh,4fh,66h
db6dh,7dh,07h,7fh,6fh
lopl:
ret
ADC0809转换所需时间delayl28us:
movr5,#30
delayl:
movr7,#5
delay2:
nop
djnzr7,delay2
djnzr5,delaylret
为使数据显示稳定延时1秒delayls:
movr4,#10delayOO:
movr5,#100delayll:
movr7,#249delay22:
djnzr7,delay22
djnzr5,delayll
djnzr4,delayOO
弟八早
制造工艺
附表、附图
学习课件等等
THANKS!
!
致力为企业和个人提供合同协议,策划案计划书,
打造全网一站式需求