单片机多路采集04140057Word文档格式.docx
《单片机多路采集04140057Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机多路采集04140057Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
2)了解数据采集和显示系统的组成,并完成多路模拟信号A/D、D/A转换的程序设计和;
3)了解由多台ECD-51单片机组成的多机通讯系统,并完成五组实验之间由某组作为主机,其余四组作为从机的机间数据通讯。
2、实验器材
(1)用EPROM构成的心电信号发生器:
稳压电源:
±
12V 0.55A,+5V 3A各一台;
35MHZ示波器(双踪)一台
IC:
NE5551只, CD4040 1只,
74LS2743 1只,TL084 1只,
EPROM(2716)1只,DAC0832 1只
;
电阻:
10K 3只,4.7K 1只, 20K 2只。
(2)多路模拟信号的微机采集和显示:
1)ECD-51单片机1台,配套稳压电源一台
2)函数信号发生器1台(能产生正弦波、三角波、方波,具有可调幅度输出和TTL标准幅度输出)。
3)由EPROM构成的心电信号发生器一套.
4)双踪100MHZ示波器一台
5)ADC0804一片 LF398二片
CD4013一片CD4052二片
DAC0832一片 TL084一片
6) 电阻:
10K×
2 电容:
1000P×
2
二、实验原理:
1、用EPOROM构成的心电信号发生器:
本实验用EPROM来产生人体心电波,其本身是模拟信号,而EPROM是存储数字集训珠,因此要先进行二进制编码,采用“取样法” 即:
完成后即可按时间顺序将每一组八位二进制数写入EPROM存贮器的各个地址单元。
之后要将EPROM内的二进制数码转换成模拟量,利用顺序地址发生器可以顺序读出存放于其中的二进制数码。
原理图如下:
输 出
时钟脉冲用555产生
采用锁存器的目的是为了避免在EPROM的输出端出现由EPROM地址切换而产生的短暂数据不稳定现象所引起的毛刺干扰,在时钟脉冲的同步触发下,它可以保证D/A数据输入端不产生数据不稳定现象。
2、多路信号的微机采集和显示:
(1)一般情况下,组成一个微机数据采集系统应具备正面几个部分:
a)数据采集器:
包括多路MUX,测量放大器IA,取样保持放大器SHA,模数转换器ADC等,可将多个现场模拟信号逐个采样再量化成为数字信号后送往微型计算机。
b)微机接口电路:
用来传送数据采集系统运行所需要的数据,状态信息以及控制信号。
c)DAC转换器:
将微机输出的数字信号再转换为模拟信号,以实现系统要求的显示,记录和控制任务。
d)使用软件:
实现系统转换,存储所必须的软件,也包括各种处理、运算软件。
(2)数据采集要注意采样频率的选择:
即采样频率fs要大于等于信号最高频率fh的两倍,一般取fs=fh(3~10)。
(3)实验中A/D转换器是ADC0804集成上,它仅需脉冲信号/WR和/CS,且内有三态门控制,不需其它接口电路,并可通过/INTR和51连接。
(4)采样保持电路:
保持输入信号不变,通常由电容器,输入输出缓冲放大器和逻辑输入控制的开关等组成。
(5)多路模拟开关MUX:
实现模拟信号通道接通或断开的器件。
可由一个功耗很小的数字控制电路改变其工作状态。
因此设计一个数据采集系统,首先要解决的问题就是:
●了解系统的要求
●掌握各芯片的我,只有这样才能选择好满足系统要求的芯片
三、实验步骤及数据记录:
按原理图接好线路
确认接线无误后,通电检查:
1)NE555第3脚是否有时钟脉冲输出?
测试后有如下波形输出:
答:
有频率有739.6HZ的方波
2)CD4040各Q脚是否有逐一二分频的脉冲信号输出?
观察各Q脚有逐一二分频
有逐一二分频Q0:
384.62HZQ1:
192.31HZQ2:
95.23HZQ3:
47.62HZQ4:
23.53HZ……
3)观察DAC0832转换器后两级运放输出,此时从OUT处应得到心电波形。
按原理图连接好线路,确认无误后
1)通电测试8031 ALE输出脉冲f?
CD4013第一脚输出脉冲f1?
f1=(1/2)f?
f=1.905MHZf1=952.2KHZ满足f1=(1/2)f
2)运行定时器程序,便定时时间分别为2.5ms、1ms、0.5ms,每当定时时间到使P1.7产生一次电平跳变,示波器测试P1.7脚输出f是否和软件设计吻合
定时工作方式0,由[213-X]=T计算初值,T分别为2.5ms、1ms、0.5ms
自得计数初值分别为B11H、E018H、F00CH
定时程序:
(以下程序定时时间为2.5ms,采用方式0)
ORG0000H
SJMPSTART
ORG0030H
START:
MOVTMOD,#00H
MOVTH1,#00B1H
MOVTL1,#1CH
MOVIE,#00H
LOOP:
SETBTR1
JBCTF1,LOOP1
AJMPLOOP
LOOP1:
MOVTH1,#0B1H
CLRTF1
CPLP1.7
END
(1ms0.5ms分别修改对应计数初值即可)
运行程序,分别输出周期为5ms、2ms、1ms的方波,定时时间和软件设计吻合。
3)运行上程序使CH1为正弦波,CH2为心电波或方波,根据奈奎斯特采样定理,送入相应频率,观察LF398第5脚是否有离散的同样信号输出?
正弦波选f=10HZ,V=2.0V则CH2为心电波,而其相应频率用定时0.5ms,即200HZ,由奈奎斯特采样定理知可正确采样,运行程序后在LF398第5脚可测得离散的同样信号即CH1端的LF398第5脚测得的是正弦波的离散信号,CH2端的LF398第5脚测得的是心电波的离散信号.
4)运行相应软件P1.1=0,P1.0=0或P1.0=1且当P1.0=0或P1.0=1时,测试CD4052
(1)第3脚的输出是否分别为CH1或CH2?
1.
AJMPSTART
SETBP1.7
CH1:
CLRP1.1
CLRP1.0
JMPCH1
2.
CH2:
SETBP1.0
JMPCH2
运行1则在CD4052
(1)第3脚输出CH1,运行2则输出CH2
5)运行A/D采集程序,检查RAM区是否为相应通道信号的数字量?
此时CH1若接至+5V则相应的RAM区应为FFH,CH2接0V,则RAM区应为00H。
编制A/D采集程序(采样送至R0)
ORG0013H
AJMPADC
MOVSP,#70H
SETBIT1
SETBEA
SETBEX1
CLRP1.0/*选择CH2用SETBP1.0*/
CLRP1.1
MOVDPTR,#0BFFFH
MOVX@DPTR,A
SJMP$
ADC:
MOVXA,@DPTR
MOVR0,A
RETI
CH1接+5V,CH2接0V
选择0开关(即CLRP1.0)运行程序则R0区为FFH
选择1开关(即SETBP1.0)运行程序则R0区为00H
即可以证明A/D采样正常。
6)DA检测:
设置是否可以在Q点输出峰峰值为5V的锯齿波
程序:
MOVR0,#0H
MOVDPTR,#0DFFFH
MOVA,R0
MOVX@DPTR,A
INCR0
SJMPLOOP
通过示波器在Q点测得峰峰值为5V的锯齿波,所以D/A转换是正确的.
7)运行相应软件,使P1.3=0,P1.2=0或P1.3=1,P1.2=1,当P1.3=0,P1.2=0时观察CD4052(2)1脚是否为Q点波形?
当P1.3=1,P1.2=1时观察CD4052
(2)4脚输出是否为Q点波形?
在第6个步骤的程序上加上选择开关即可,即在4052的1或4脚是不是显示锯齿波.
程序
SJMPMAIN
MAIN:
MOVA,#0H
/*选择1脚*//*选择4脚*/
CLRP1.3SETBP1.3
CLRP1.2SETBP1.2
WW:
INCA
NOP
SJMPWW
END
用示波器的2个探头分别测Q点和1脚或4脚,
运行程序选择1脚,测得在1脚的波和Q点一样也同样的锯齿波
运行程序选择4脚,测得在4脚的波和Q点一样也同样的锯齿波
8).6116外部RAM的测试
MOVR7,#30H
MOVR0,#30H
MOVDPTR,#0F800H
MOVA,R7
NOP
CLRA
MOV@R0,A
INCDPTR
DJNZR7,LOOP
END
运行程序在外部RAM的0F800H开始的数值是30,2F,2E,2D,2C……一直到0,
而且再回来看从内部RAM的30H开始的也是30,2F,2E,2D,2C……一直到0
可以得出6116的芯片运行正确.
8)运行总程序,设计CD4052(2)CH1,CH2输出信号的低通滤波器,观察CH’1是否为CH1波形?
CH’2是否为CH2波形?
多路数据采集和显示软件流程图如下
总程序 中断服务程序(入口0013H)
AJMPAD1
SETBIT1
CLRP1.7
CLRP1.0
CLRP1.1
MOV50H,#00H
MOV51H,#0C0H
MOVTMOD,#00H
TIME:
MOVTH0,#0F0H
MOVTL0,#0CH
SETBTR0
JBP1.7,TIME1
MOVA,51H
CJNEA,#0C8H,TIME1
AJMPEND0
TIME1:
JBTF0,TIME2
SJMPTIME1
TIME2:
CLRTF0
AJMPTIME
END0:
CLREA
AD:
MOV50H,#00H
MOV51H,#0C0H
MOV52H,#00H
MOV53H,#0C4H
QQ:
MOVDPL,50H
MOVDPH,51H
MOV50H,DPL
MOV51H,DPH
CLRP1.2
CLRP1.3
ACALLDELAY
SETBP1.3
MOVDPL,52H
MOVDPH,53H
MOV52H,DPL
MOV53H,DPH
SETBP1.2
MOVA,53H
CJNEA,#0C8H,QQ
AJMPAD
AD1:
PUSHPSW
PUSHACC
PUSHDPH
PUSHDPL
MOVX@DPTR,A
INCDPTR
MOV50H,DPL
MOV51H,DPH
MOVA,51H
CJNEA,#0C4H,AD2
SJMPADC
AD2:
CJNEA,#0C5H,AD3
AD3:
CJNEA,#0C6H,AD4
AD4:
CJNEA,#0C7H,AD5
AD5:
POPDPL
POPDPH
POPACC
POPPSW
DELAY:
MOVR3,#10
DELAY1:
MOVR4,#24
DELAY2:
DJNZR4,DELAY2
DJNZR3,DELAY1
RET
低通滤波器的设计:
心电波最高频率大概为100HZ,输入正弦波频率为30HZ左右,因此设计低通的截止频率为f0=100HZ
由公式f0=1/(2пRC),取R=10K,则C=1.4×
10-7 F 取C=10*10-8 即取C104
输入正弦波频率为30HZ左右
按下图连接即可构成所需的低通滤波器
波形分别和输入正弦波和前面所产生的心电波大致相同,即达到多路信号的正常采样和显示的目的。
四、思考题
1、实验1中NE555的输出频率和D/A输出模拟信号的哪些参数有关?
555的输出频率和A/D采样的频率密切相关,而和D/A输出的模拟信号点的疏密程序有直接的关系。
2、实验2中D/A转换后我们在示波器屏幕上观察到的信号频率和哪些因素有关?
答:
D/A转换后显示在示波器上的信号频率和采样信号频率及原信号的频率以及它们之间的关系都有密切关系。
五、心得和体会
1、做实验前需要做好充分准备,理解实验原理
2、面包板搭接电路,布局十分重要,一开始芯片无规则乱放,导致面包板不够用。
应按电路图芯片之间连线的复杂程度安排芯片之间的远近,接线尽量短。
3、实验中发现问题应首先自己检查线路,查看逐个芯片的电源、接地线、管脚是否正确,再检查各管脚电压是否正常,可能是芯片损坏。
和同学的交流也是必须的。
4、根据硬件连线编写程序,熟悉软件的使用是非常必要的,在实验中我就因为不熟悉软件而浪费了不少时间。
5、芯片管脚比较多,在原理图上一一标注,不致混乱
6、做实验切忌急噪情绪
六、参考书目
[1]许茹,单片机多路数据采集及多机通讯系统,厦门大学电子工程系,2000年6月。
[2]李广弟,朱月秀,王秀山,单片机基础(修订本),北京航空航天大学出版社,北京,2004年10月。