单片机多路数据采集及多机通讯系统.docx

上传人:b****4 文档编号:4307536 上传时间:2022-11-29 格式:DOCX 页数:18 大小:125.97KB
下载 相关 举报
单片机多路数据采集及多机通讯系统.docx_第1页
第1页 / 共18页
单片机多路数据采集及多机通讯系统.docx_第2页
第2页 / 共18页
单片机多路数据采集及多机通讯系统.docx_第3页
第3页 / 共18页
单片机多路数据采集及多机通讯系统.docx_第4页
第4页 / 共18页
单片机多路数据采集及多机通讯系统.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

单片机多路数据采集及多机通讯系统.docx

《单片机多路数据采集及多机通讯系统.docx》由会员分享,可在线阅读,更多相关《单片机多路数据采集及多机通讯系统.docx(18页珍藏版)》请在冰豆网上搜索。

单片机多路数据采集及多机通讯系统.docx

单片机多路数据采集及多机通讯系统

目录

一、实验概要2

二、用EPROM构成的心电信号发生器2

1、实验目的2

2、实验器材2

3、实验原理2

(1)、时钟脉冲发生器2

(2)、顺序地址发生器3

(3)、数据锁存器3

(4)、D/A转换器3

4、实验内容4

三、多路信号的微机采集与显示5

1、实验目的5

2、实验器材5

3、实验原理5

(1)采样保持电路5

(2)多路模拟开关5

(3)A/D转换器5

(4)分频器6

(5)静态RAM6

4、实验内容6

四、多机通讯系统7

1、实验目的7

2、实验器材7

3、实验原理7

4、实验内容8

五、心得与体会8

六、附录9

附录A9

附录B10

附录C10

附录D10

附录E10

附录F10

附录G11

附录H12

 

一、实验概要

为了进一步的了解现代通信系统的构成,理论联系实践,通过本实验的三个部分掌握任意波形的模拟信号的数字编码方法,了解数据采集与显示系统的组成,了解多机通讯系统的构成,掌握系统的概念及系统的构建和设计过程。

二、用EPROM构成的心电信号发生器

1、实验目的

(1)研究可编程存储器EPROM的非计算机应用,利用EPROM构成心电信号发生器

(2)掌握模拟信号进行数字编码的方法,完成心电信号发生器的制作

2、实验器材

稳压电源、双踪示波器、NE555、CD4040、74LS273、TL084、EPROM、DAC0832、电阻、导线

3、实验原理

心电信号是一种低频信号,在实验中利用EPROM存储心电波。

心电波是一种模拟信号,而EPROM存储的是数字信号。

为了能正确的反映心电波的变化,采用一定精度的采样、量化方式,将模拟信号编码为数字信号并存储于EPROM中。

用EPROM构建模拟心电信号发生器,即将EPROM中存储的二进制数值,按照一定的速率顺序的从EPROM中读出,并通过D/A转换成模拟信号,原理如图1。

实验中采用十二级串行二进制计数器CD4040作为顺序地址发生器,产生000H-3FFH的循环递增地址,从EPROM中读出的数据经过锁存后再输出给D/A,保证了数据的稳定性。

图1由EPROM产生模拟波形的原理图

(1)时钟脉冲发生器

时钟脉冲可以通过软件编程或硬件触发的方式产生,本实验采用NE555定时器构成的振荡电路来实现时钟脉冲的发生,如图2。

选取电阻R1=10K,R2=4.7K,R3=10K,C1=0.1UF,C2=0.01UF,根据公式,可得充电时间T1=(R1+R2)Cln2=1.02ms,放电时间T2=R2Cln2=0.326ms,R3为上拉电阻,保证对下级的驱动能力。

图2时钟脉冲发生器

(2)顺序地址发生器

由于寻址空间达到1K,实验中采用可以提供4K地址的12级串行二进制计数器CD4040作为地址发生器。

CD4040在时钟脉冲的触发下递增计数,当Q11输出高电平时表明已经计数1024次,将Q11与清零端相接利用芯片的自动清零功能,即可实现计数的循环顺序递增。

电路如图3。

图3顺序地址发生器

(3)数据锁存器

数据锁存器74LS273是8位D触发器,将EPROM输出的数据经过锁存后再传送给D/A转换器,避免由EPROM地址切换而产生的短暂数据不稳定现象所引起的毛刺干扰,在时钟脉冲的同步触发下,保证了D/A输入数据的稳定性。

(4)D/A转换器

DAC0832是一种具有两个独立的8位寄存器即数据寄存器和DAC寄存器的D/A转换器。

可以根据需求,通过端口的控制选择单寄存器、双寄存器和直通三种工作模式。

由于DAC0832是电流型转换器,可以在输出端通过运放实现电流-电压转换。

为了实现信号的放大和提高带载能力,在D/A转换之后添加了一个放大倍数为2的运放。

电路如图4。

图4D/A转换器

由EPROM构成的心电信号波形发生器的系统电路图见图5

图5由EPROM构成的心电信号波形发生器

4、实验内容

(1)按图5搭接电路

(2)测得NE555输出的时钟脉冲的周期为2.040ms,频率为490.2Hz,其占空比为83.3%,具体波形如图6。

图6时钟脉冲

(3)CD4040各个Q脚输出的脉冲信号成分频关系,图7给出了Q1-Q7输出的波形,其他管脚具有同样的分频特性。

图7CD4040的Q1-Q7波形

(4)用示波器观察D/A转换后的心电波形和经过运放反相放大后的波形分别如图8、图9。

比较放大前后的心电波形可得波形的放大倍数A=-2.56/1.28=-2,与电路设计时的理论值相同。

心电信号的频率为1.38Hz,属于低频信号。

从D/A转换出的心电波形中含有2.27V的直流分量。

图8放大前的心电波形

图9放大后的心电波形

三、多路信号的微机采集与显示

1、实验目的

(1)研究以单片机为主体的多路信号采集系统

(2)了解数据采集与显示系统的组成

2、实验器材

单片机、函数信号发生器、心电信号发生器、稳压电源、双踪示波器、ADC0804、LF398、CD4013、CD4052、DAC0832、TL084、电阻、电容、导线

3、实验原理

数据采集系统的任务是将模拟信号采集后,以数字量的方式进行存储、处理、传送、显示等。

系统又数据采集器、微机接口电路、D/A转换器等硬件电路和控制软件构成。

其中,数据采集器包括多路开关、测量放大器、采样保持放大器、模数转换器等。

微机接口电路实现数据、状态、控制信号的传送。

数据采集系统的结构框图如图10。

图10数据采集系统结构框图

(1)采样保持电路

在A/D进行转换期间,保持输入信号不变的电路即为采集保持电路。

本实验使用的采样保持电路为集成芯片LF398,它具有6us的捕捉时间和1MHz的信号带宽,有效的保证了A/D转换器输入信号的稳定性和可靠性。

(2)多路模拟开关

系统中采用模拟开关实现采集、模数以及调理电路的复用。

由于多路信号的循环采集,降低了系统的采集速率,适用于速率要求不高的系统。

CD4052为CMOS双四选一模拟开关,利用两比特信号可以实现信道的选择。

(3)A/D转换器

ADC0804是分辨率为8位,转换时间100us即可对10KHz信号的进行转换的模数转换器。

ADC0804可以对差分信号的进行转换,与单片机相配合,可将转化后的数字量传送给单片机进行后续处理,结构如图11所示。

为保证数据传送的可靠性,在ADC0804和单片机之间添加一数据锁存器。

图11ADC0804与单片机配合

(4)分频器

分频器可以通过软件计数、硬件计数等多种方式实现。

实验中根据D触发器的性能,采用双D触发器CD4013,将两个D触发器级连实现四分频的功能,电路如图12。

图12四分频器

(5)静态RAM

根据系统存储数据的要求,采用HM6116作为数据存储RAM。

HM6116是具有2K字节空间的高速CMOS静态RAM,具有11个地址管脚和8个数据I/O口,最大存储时间为200ns,能实现数据的高速读写。

与单片机的配合如图13所示。

图136116与单片机的配合

多路信号的采集与显示系统的系统电路图见附录A。

4、实验内容

(1)测得8031的ALE管脚输出的脉冲频率为2MHz,CD4013第13脚输出的频率为500KHz,为ALE的四分频。

(2)运行采样频率程序,分别设定定时时间为2.5ms、1ms、0.5ms,测得P1.7口的频率为200Hz,500Hz和1KHz,符合程序的设计要求。

程序见附录B。

(3)当CH1为正弦波、CH2为心电波时,采用500HZ的采样频率进行采样,在两片LF398的输出用示波器可以观察到正弦波和心电波的离散信号。

(4)运行多路模拟开关测试程序,分别选择通道0和通道1,用示波器观察CD4052输出端可以看到输出的波形与所选信道的输入波形相同。

程序见附录C。

(5)运行A/D转换测试程序,可以将32个从A/D采集的信号存储在单片机的外部RAM中所开辟的存储空间。

将通道0的输入端接高电平,可以观察到从60H开始的32个存储空间中的数据为FFH。

同样,将通道1的输入端接低电平,可观察到存储的数据为00H。

程序见附录D。

(6)运行D/A转换测试程序,用示波器可以观察到D/A转换输出端输出的为从00H-FFH的锯齿波。

若在程序中加入延时程序可以改变输出锯齿波的频率。

程序见附录E。

(7)运行多路模拟开关测试程序,选择通道2、通道3,用示波器可以观察到输出波形与输入波形相同。

(8)运行静态RAM测试程序,将从55H开始的15个数据按顺序分别写入RAM中,并同时将数据从RAM中读出存储在从60H开始的外部RAM中。

可以观察到外部RAM中的数据与设计相符合。

程序见附录F。

(9)多路信号采集与显示系统的程序流图如图14所示。

系统对两路信号以200Hz的采样速率分别采集1KB的数据存储C000H和C400H起始的空间中,采样结束后从CH1和CH2中分别循环输出所采集的信号。

程序见附录G。

(10)从CH1和CH2输出的为离散信号,经过无源低通滤波后所得的波形与输入波形相似。

由于系统D/A输出的速率是固定的,可以通过改变信号的采集速率来改变输出信号的频率等参数。

图14多路信号采集与显示系统程序流图

四、多机通讯系统

1、实验目的

(1)研究多台单片机组成的主从式多机通讯系统

(2)了解多机通讯系统的构成,完成“一主四从”的通讯系统

2、实验器材

五套多路信号采集与显示系统

3、实验原理

单片机串行通道是一个全双工串行接口,不仅具有双机之间的串行通讯能力,而且还可以实现多机之间的串行通讯。

物理上独立的接收和发送缓冲器SBUF可同时接收和发送数据。

系统由5台单片机组成“一主四从”的工作模式,各从机地址可以分别定义,各台从机的发送端TXD匀与主机的接收端RXD相连,而主机的发送端TXD则连接到每一台从机的接收端RXD,所以只有主机可以对各从机进行直接通讯。

系统框图如图15。

图15“一主四从”通讯系统框图

4、实验内容

(1)利用串行口进行主机与0#从机之间的通讯:

呼叫地址,从机应答。

采用查询方式的主、从机的程序流图如图16,从机的地址为00H,应答信号为FFH,程序见附录H。

图16一对一通讯程序流图

(2)编制一台主机联络四台从机的程序,将0#从机采集到的现场信号分别送到1#从机和3#从机,并命令1#、3#从机进行D/A转换,观察所得的波形是否一致。

五、心得与体会

通过四个时段的学习,基本掌握了一个现代通信系统的组成和系统的构建过程。

掌握了由EPROM构成的心电信号发生器以及多路信号采集与显示系统的制作,了解了多机通讯系统的构成和组建。

系统硬件搭接方面,总体的布局是至关重要的,直接影响到了系统的外观和布线的难易度。

电源与地线的颜色应该严格区分,通常电源线为红色,地线为深黑色,正负电源取蓝、绿色,同时,各组数据线可以采用同色或不同数据位采用不同颜色两种方式,,这样不仅有利于系统的检测,也有效的避免了线路的错搭。

各条线路应该尽可能的短,避免线路之间的干扰。

系统软件设计方面,在全面了解系统的工作原理的前提下,绘出系统的程序流图,再根据流程图进行程序的编写。

系统中的各个子程序应该分别独立测试,这不仅有利于验证程序的正确性,同时也验证了该功能模块的可靠性。

系统联调方面,在确保硬件搭接无误的前提下,充分利用仿真器的便利性来进行程序的调试。

硬件的调试可以采用至上而下或至下而上两种方式对各级进行测试。

 

六、附录

===========================================

附录A多路信号的采集与显示系统电路图

===========================================

=============================

附录B采样频率子测试程序

=============================

ORG0000H

AJMPSTART

ORG000BH

AJMPTIMEINT

ORG0030H

START:

MOVSP,#60H

MOVTMOD,#02H

MOVTH0,#0F6H;2.5ms=F63BH,1ms=FC17H,0.5ms=FE0BH

MOVTL0,#3BH

SETBET0

SETBEA

SETBTR0

AJMP$

TIMEINT:

CPLP1.7

RETI

===============================

附录C多数模拟开关测试程序

===============================

ORG0000H

AJMPSTART

ORG0030H

START:

MOVSP,#60H

CLRP1.1;CHANNEL1

SETBP1.0

LOOP:

MOVTMOD,#01H

MOVTH0,#0F6H;F63B

MOVTL0,#49H;F649

SETBTR0

LOOP1:

JBCTF0,NEXT

AJMPLOOP1

NEXT:

CPLP1.7

AJMPLOOP

==========================

附录DA/D转换测试程序

==========================

ORG0000H

AJMPSTART

ORG0003H

AJMPADINT

ORG0030H

START:

MOVSP,#40H

MOVDPTR,#0BFFFH;P2.6

MOVR0,#60H

MOVR1,#20H

SETBIT0

SETBPX1

SETBEX0

SETBEA

MOVX@DPTR,A;STARTAD

SETBP1.7

CLRP1.1

CLRP1.0

AJMP$

ADINT:

DJNZR1,NEXT1

AJMPADEND

NEXT1:

MOVXA,@DPTR

MOV@R0,A

INCR0

MOVDPTR,#0BFFFH

MOVX@DPTR,A;STARTAD

ADEND:

RETI

==========================

附录ED/A转换测试程序

==========================

ORG0000H

AJMPSTART

START:

MOVDPTR,#0DFFFH;P2.5

MOVR0,#00H

LOOP:

MOVA,R0

MOVX@DPTR,A

INCR0

AJMPLOOP

===========================

附录F静态RAM测试程序

===========================

ORG0000H

AJMPSTART

ORG0030H

START:

MOVSP,#70H

MOVR0,#55H

MOVR1,#60H

MOVR3,#0FH

MOVDPTR,#0C000H

LOOP:

MOVA,R0

MOVX@DPTR,A

CALLDELAY

CLRA

MOVXA,@DPTR

MOV@R1,A

INCR0

INCR1

DJNZR3,LOOP

AJMP$

DELAY:

MOVR7,#0FFH

DJNZR7,$

RET

=================================

附录G多路信号采集与显示程序

=================================

FLAGEQU20H

HHEQU50H

LLEQU51H

ORG0000H

AJMPSTART

ORG0003H

AJMPADINT

ORG0030H

START:

MOVSP,#60H

MOVR7,#00H;1024POINT

MOVR6,#04H

CLRFLAG

CLRP1.7

CLRP1.1

CLRP1.0

MOVDPTR,#0C000H;CH1

MOVHH,DPH

MOVLL,DPL

MOVDPTR,#0C400H;CH2

MOVR2,DPH

MOVR3,DPL

SETBIT0

SETBEX0

SETBEA

LOOP1:

MOVTMOD,#01H

MOVTH0,#0FCH;F82F;FC17;F63B

MOVTL0,#017H

SETBTR0

JBP1.7,LOOP2

MOVDPTR,#0BFFFH

MOVX@DPTR,A;STARTAD

JBFLAG,NEXT1;SAMPLEMORETHAN2K

LOOP2:

JBCTF0,NEXT2

AJMPLOOP2

NEXT2:

CPLP1.7

AJMPLOOP1

NEXT1:

CLREA

LOOP3:

MOVDPTR,#0C000H

MOVLL,DPL

MOVHH,DPH

MOVDPTR,#0C400H

MOVR2,DPH

MOVR3,DPL

LOOP4:

MOVDPH,HH

MOVDPL,LL

MOVXA,@DPTR

INCDPTR

MOVLL,DPL

MOVHH,DPH

SETBP1.3;CHANNEL2

CLRP1.2

MOVDPTR,#0DFFFH;STARTDA

MOVX@DPTR,A

CLRP1.3;CHANGETOCHANNEL0

MOVDPH,R2

MOVDPL,R3

MOVXA,@DPTR

INCDPTR

MOVR2,DPH

MOVR3,DPL

SETBP1.2;CHANNEL3

SETBP1.3

MOVDPTR,#0DFFFH

MOVX@DPTR,A

CLRP1.3CHANGETOCHANNEL1

DJNZR7,LOOP4

DJNZR6,LOOP4

MOVR6,#03H

AJMPLOOP3

ADINT:

MOVDPTR,#0BFFFH;ADDROFAD

MOVXA,@DPTR

MOVDPL,LL

MOVDPH,HH

MOVX@DPTR,A

INCDPTR

MOVHH,DPH

MOVLL,DPL

DJNZR7,ADEND

DJNZR6,ADEND

MOVR6,#04H

JNBP1.0,NEXT4

SETBFLAG

NEXT4:

CLRP1.1;SAMPLECHANNEL2

SETBP1.0

ADEND:

RETI

END

========================

附录H一对一通讯程序

========================

=========

主机程序

=========

ORG0000H

AJMPSTART

ORG0030H

START:

MOVSP,#60H

MOVTMOD,#20H

MOVTH1,#0FDH;9600

MOVTL1,#0FDH

MOVPCON,#00H;SMOD=0

MOVSCON,#0DBH

SETBTR1

CLREA

CLRES

LOOP1:

MOVSBUF,#00H

JNBTI,$

CLRTI

JNBRI,$

CLRRI

MOVA,SBUF

CJNEA,#0FFH,LOOP1

SETBP1.7

AJMP$

END

============

0#从机程序

============

ORG0000H

AJMPSTART

ORG0030H

START:

MOVSP,#60H

MOVTMOD,#20H

MOVTH1,#0FDH;9600

MOVTL1,#0FDH

MOVPCON,#00H;SMOD=0

MOVSCON,#0DBH

SETBTR1

CLREA

CLRES

LOOP:

JNBRI,$

CLRRI

MOVA,SBUF

CJNEA,#00H,LOOP

MOVSBUF,#0FFH

JNBTI,$

CLRTI

AJMP$

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1