1、厦门大学电子工程系课程设计- 1 -厦门大学电子工程系课 程 设 计 题 目 单片机多路数采集通讯系统 专 业 电子工程系 04 级 学 号 04140057 学生姓名 魏松林 指导老师 王德清、陈华宾 2007 年 05 月 12 日厦门大学电子工程系课程设计- 2 -目 录一、概述-3、实验目的-3、实验器材-3二、实验原理-4、用 EPOROM 构成的心电信号发生器-4、多路信号的微机采集与显示-5三、实验步骤及数据记录-6、用 EPOROM 构成的心电信号发生器-6、多路信号的微机采集与显示-7四、思考题-14五、心得与体会-14六、参考书目-14厦门大学电子工程系课程设计- 3 -一
2、、概述本实验由三大部分组成:1.为 EPOROM 构成的心电信号发生器;2.为多路信号的微机采集与显示;3.为多台 MCS-51 单片机组成的通信系统。第一部分实验主要研究可编程序存储器 EPROM 的非计算机应用。第二部分实验的目的是研究一个数据采集系统,该系统利用 ECD-51 型单片机和A/D、D/A 芯片等将各种低频信号以及由 EPROM 产生的模拟人体心电信号变换成离散的数字信号存入微机内存,以待进行的牌和分析,然而再将其不愿成模拟信号显示在示波器的屏幕上。第三部分实验的目的是研究由多 ECD单片机组成的主、从机多机通讯系统。主机可以通过串行口向从机发送各种命令,从机则可以向主机申请
3、进行某些工作。、实验目的通过这三个实验项目)能掌握利用“取样法”将任意小型的模拟信号进行数字编码的方法,完成用 EPROM 构成的心电信号发生器的制作;)了解数据采集与显示系统的组成,并完成多路模拟信号 A/D、D/A 转换的程序设计和;)了解由多台 ECD-51 单片机组成的多机通讯系统,并完成五组实验之间由某组作为主机,其余四组作为从机的机间数据通讯。、实验器材()用 EPROM 构成的心电信号发生器:稳压电源:12V 0.55A,+5V 3A 各一台;35MHZ 示波器(双踪)一台IC:NE555 1 只, CD4040 只,74LS2743 只,TL084 只,EPROM(2716)只
4、,DAC0832 只 ;电阻:10K 只,4.7K 只, 20K 只。()多路模拟信号的微机采集与显示:1) ECD-51 单片机台,配套稳压电源一台2) 函数信号发生器台(能产生正弦波、三角波、方波,具有可调幅度输出和 TTL 标准幅度输出) 。3) 由 EPROM 构成的心电信号发生器一套.4) 双踪 100MHZ 示波器一台5) ADC0804 一片 LF398 二片CD4013 一片 CD4052 二片DAC0832 一片 TL084 一片6) 电阻:10K 电容:1000P厦门大学电子工程系课程设计- 4 -二、实验原理:、用 EPOROM 构成的心电信号发生器:本实验用 EPROM
5、 来产生人体心电波,其本身是模拟信号,而 EPROM 是存储数字集训珠,因此要先进行二进制编码,采用“取样法” 即:模 拟波 形取 样量 化编 码微 机内 存完成后即可按时间顺序将每一组八位二进制数写入 EPROM 存贮器的各个地址单元。之后要将 EPROM 内的二进制数码转换成模拟量,利用顺序地址发生器可以顺序读出存放于其中的二进制数码。原理图如下:输 出时钟脉冲发生器低 通 滤 波D/A 变换器数据锁存器EPROM顺序地址发生器厦门大学电子工程系课程设计- 5 -时钟脉冲用 555 产生采用锁存器的目的是为了避免在EPROM 的输出端出现由 EPROM 地址切换而产生的短暂数据不稳定现象所
6、引起的毛刺干扰,在时钟脉冲的同步触发下,它可以保证 D/A 数据输入端不产生数据不稳定现象。、多路信号的微机采集与显示:(1)一般情况下,组成一个微机数据采集系统应具备正面几个部分:a) 数据采集器:包括多路 MUX,测量放大器 IA,取样保持放大器 SHA,模数转换器 ADC 等,可将多个现场模拟信号逐个采样再量化成为数字信号后送往微型计算机。b) 微机接口电路:用来传送数据采集系统运行所需要的数据,状态信息以及控制信号。c) DAC 转换器:将微机输出的数字信号再转换为模拟信号,以实现系统要求的显示,记录与控制任务。d) 应用软件:实现系统转换,存储所必须的软件,也包括各种处理、运算软件。
7、(2)数据采集要注意采样频率的选择:即采样频率 fs要大于等于信号最高频率 fh的两倍,一般取 fs =fh (310)。(3)实验中 A/D 转换器是 ADC0804 集成上,它仅需脉冲信号WR 和CS,且内有三态门控制,不需其它接口电路,并可通过INTR 与连接。(4)采样保持电路:保持输入信号不变,通常由电容器,输入输出缓冲放大器和逻辑输入控制的开关等组成。(5)多路模拟开关 MUX:实现模拟信号通道接通或断开的器件。可由一个功耗很小的数字控制电路改变其工作状态。因此设计一个数据采集系统,首先要解决的问题就是: 了解系统的要求 掌握各芯片的我,只有这样才能选择好满足系统要求的芯片厦门大学
8、电子工程系课程设计- 6 -三、实验步骤及数据记录:、用 EPOROM 构成的心电信号发生器:按原理图接好线路确认接线无误后,通电检查:1)NE555 第脚是否有时钟脉冲输出?测试后有如下波形输出:答:有频率有 739.6HZ 的方波2)CD4040 各 Q 脚是否有逐一二分频的脉冲信号输出?观察各 Q 脚有逐一二分频答:有逐一二分频 Q0:384.62HZ Q1:192.31HZ Q2:95.23HZQ3:47.62HZ Q4:23.53HZ3)观察 DAC0832 转换器后两级运放输出,此时从 OUT 处应得到心电波形。答:厦门大学电子工程系课程设计- 7 -、多路信号的微机采集与显示:按
9、原理图连接好线路,确认无误后1) 通电测试 8031 ALE 输出脉冲 f?CD4013 第一脚输出脉冲 f1?f1=(1/2)f?答:f=1.905MHZ f1=952.2KHZ 满足 f1=(1/2)f2)运行定时器程序,便定时时间分别为 2.5ms、1ms、0.5ms,每当定时时间到使 P1.7 产生一次电平跳变,示波器测试 P1.7 脚输出 f 是否与软件设计吻合答:定时工作方式 0,由2 13-X=T 计算初值,T 分别为 2.5ms、1ms、0.5ms自得计数初值分别为 B11H、E018H、F00CH定时程序:(以下程序定时时间为 2.5ms,采用方式 0)ORG 0000HSJ
10、MP STARTORG 0030HSTART: MOV TMOD,#00HMOV TH1,#00B1HMOV TL1,#1CHMOV IE,#00HLOOP: SETB TR1JBC TF1,LOOP1AJMP LOOPLOOP1: MOV TH1,#0B1HMOV TL1,#1CHCLR TF1CPL P1.7AJMP LOOPEND(1ms 0.5ms 分别修改对应计数初值即可)运行程序,分别输出周期为 5ms、2ms、1ms 的方波,定时时间与软件设计吻合。3)运行上程序使 CH1 为正弦波,CH2 为心电波或方波,根据奈奎斯特采样定理,送入相应频率,观察 LF398 第脚是否有离散的同
11、样信号输出?答:正弦波选 f=10HZ,V=2.0V 则 CH2 为心电波,而其相应频率用定时0.5ms,即 200HZ,由奈奎斯特采样定理知可正确采样,运行程序后在 LF398第脚可测得离散的同样信号即 CH1 端的 LF398 第脚测得的是正弦波的离散信号,CH2 端的 LF398 第脚测得的是心电波的离散信号.4)运行相应软件 P1.1,P1.0=0 或 P1.0=1 且当 P1.0=0 或 P1.0=1 时,测试 CD4052(1)第脚的输出是否分别为 CH1 或 CH2?厦门大学电子工程系课程设计- 8 -1.ORG 0000HAJMP STARTORG 0030HSTART:SET
12、B P1.7CH1:CLR P1.1CLR P1.0JMP CH1END2.ORG 0000HAJMP STARTORG 0030HSTART:SETB P1.7CH2:CLR P1.1SETB P1.0JMP CH2END运行则在 CD4052(1)第脚输出 CH1,运行则输出 CH25)运行 A/D 采集程序,检查 RAM 区是否为相应通道信号的数字量?此时 CH1若接至+5V 则相应的 RAM 区应为 FFH,CH2 接 0V,则 RAM 区应为 00H。答:编制 A/D 采集程序(采样送至 R0)ORG 0000HSJMP STARTORG 0013HAJMP ADCORG 0030H
13、START: MOV SP,#70HSETB IT1SETB EASETB EX1CLR P1.0 /*选择 CH2 用 SETB P1.0 */ CLR P1.1MOV DPTR,#0BFFFHMOVX DPTR,ASJMP $ADC: MOVX A,DPTRMOV R0,AMOVX DPTR,ARETIENDCH1 接+5V,CH2 接 0V选择 0 开关(即 CLR P1.0)运行程序则 R0 区为 FFH选择 1 开关(即 SETB P1.0)运行程序则 R0 区为 00H即可以证明 A/D 采样正常。6)DA 检测:设置是否可以在 Q 点输出峰峰值为 5V 的锯齿波程序:ORG 00
14、00HSJMP STARTORG 0030HSTART: MOV R0,#0HLOOP: MOV DPTR,#0DFFFH厦门大学电子工程系课程设计- 9 -MOV A,R0MOVX DPTR,AINC R0SJMP LOOPEND通过示波器在 Q 点测得峰峰值为 5V 的锯齿波,所以 D/A 转换是正确的.7)运行相应软件,使 P1.3=0,P1.2=0 或 P1.3=1,P1.2=1,当 P1.3=0,P1.2=0时观察 CD4052()脚是否为 Q 点波形?当 P1.3=1,P1.2=1 时观察CD4052(2)脚输出是否为 Q 点波形?答:在第 6 个步骤的程序上加上选择开关即可,即在
15、 4052 的 1 或 4 脚是不是显示锯齿波.程序ORG 0000HSJMP MAINORG 0030HMAIN: MOV DPTR,#0DFFFHMOV A,#0H/*选择 1 脚*/ /*选择 4 脚*/CLR P1.3 SETB P1.3CLR P1.2 SETB P1.2WW:MOVX DPTR,AINC ANOPNOPSJMP WWEND用示波器的 2 个探头分别测 Q 点和 1 脚或 4 脚,运行程序选择 1 脚,测得在 1 脚的波和 Q 点一样也同样的锯齿波运行程序选择 4 脚,测得在 4 脚的波和 Q 点一样也同样的锯齿波8).6116 外部 RAM 的测试程序:ORG 00
16、00HAJMP STARTORG 0030HSTART: MOV R7,#30HMOV R0,#30HMOV DPTR,#0F800HLOOP: MOV A,R7MOVX DPTR,ANOPCLR AMOVX A,DPTR厦门大学电子工程系课程设计- 10 -MOV R0,AINC R0INC DPTRDJNZ R7,LOOPSJMP $END运行程序在外部 RAM 的 0F800H 开始的数值是 30,2F,2E,2D,2C一直到 0,而且再回来看从内部 RAM 的 30H 开始的也是 30,2F,2E,2D,2C一直到 0可以得出 6116 的芯片运行正确.8)运行总程序,设计 CD405
17、2()CH1,CH2 输出信号的低通滤波器,观察CH1 是否为 CH1 波形?CH2 是否为 CH2 波形?答:多路数据采集与显示软件流程图如下厦门大学电子工程系课程设计- 12 -置 INTI 为边沿触发 ;允许 INTI中断,允许系统中断,置P1.7=0,采样通道为“”主 程 序置采样缓存区首地址指针:CH1=C000h;CH2=C400H定时器初始化,定时方式,定时时间为 0.5ms置 CH1,CH2 采样缓存区首址禁止 INTI 中断启动 A/D 转换启动定时器P1.7=0?存满K?CH1 数字量赋给 A启动 D/A 转换缓冲区(CH1)地址加闭合 MUX通道,送出 CH1闭合 MUX
18、通道CH2 数字量赋给 A启动 D/A 转换闭合 MUX通道送出 CH2缓冲区地址加送完 03FFFH点否?AACPL P1.7定时时间到标志0定时时间到?厦门大学电子工程系课程设计- 13 -总程序 中断服务程序(入口 0013H)AJMP A/D读采样结束存缓存器入口入口缓存区地址加存满K?置采样通道为通道返回ORG 0000HSJMP STARTORG 0013HAJMP AD1ORG 0030HSTART: SETB IT1SETB EASETB EX1CLR P1.7CLR P1.0CLR P1.1MOV 50H,#00HMOV 51H,#0C0HMOV TMOD,#00HTIME:
19、 MOV TH0,#0F0HMOV TL0,#0CHSETB TR0JB P1.7,TIME1MOV DPTR,#0BFFFHMOVX DPTR,AMOV A,51HCJNE A,#0C8H,TIME1AJMP END0TIME1: JB TF0,TIME2SJMP TIME1TIME2: CLR TF0CPL P1.7AJMP TIMEEND0: CLR EAAD:MOV 50H,#00HMOV 51H,#0C0HMOV 52H,#00HMOV 53H,#0C4HQQ:MOV DPL,50HMOV DPH,51HMOVX A,DPTRINC DPTRMOV 50H,DPLMOV 51H,DP
20、HMOV DPTR,#0DFFFHMOVX DPTR,A厦门大学电子工程系课程设计- 14 -CLR P1.2CLR P1.3ACALL DELAYSETB P1.3MOV DPL,52HMOV DPH,53HMOVX A,DPTRINC DPTRMOV 52H,DPLMOV 53H,DPHMOV DPTR,#0DFFFHMOVX DPTR,ASETB P1.2ACALL DELAYMOV A,53HCJNE A,#0C8H,QQAJMP ADAD1: CLR EAPUSH PSWPUSH ACCPUSH DPHPUSH DPLMOVX A,DPTRMOV DPH,51HMOV DPL,50H
21、MOVX DPTR,AINC DPTRMOV 50H,DPLMOV 51H,DPHMOV A,51HCJNE A,#0C4H,AD2SJMP ADCAD2: CJNE A,#0C5H,AD3SJMP ADCAD3: CJNE A,#0C6H,AD4SJMP ADCAD4: CJNE A,#0C7H,AD5ADC: SETB P1.0AD5: POP DPLPOP DPHPOP ACCPOP PSWSETB EARETIDELAY: MOV R3,#10DELAY1: MOV R4,#24DELAY2: DJNZ R4,DELAY2DJNZ R3,DELAY1RETEND低通滤波器的设计:心电波
22、最高频率大概为 100HZ,输入正弦波频率为 30HZ 左右,因此设计低通的截止频率为 f0=100HZ由公式 f0=1/(2RC),取 R=10K,则 C1.410 -7 F 取 C=10*10-8 即取 C104输入正弦波频率为 30HZ 左右按下图连接即可构成所需的低通滤波器波形分别与输入正弦波和前面所产生的心电波大致相同,即达到多路信号的正常采样与显示的目的。厦门大学电子工程系课程设计- 15 -四、思考题、实验中 NE555 的输出频率和 D/A 输出模拟信号的哪些参数有关?答:555 的输出频率与 A/D 采样的频率密切相关,而与 D/A 输出的模拟信号点的疏密程序有直接的关系。、
23、实验中 D/A 转换后我们在示波器屏幕上观察到的信号频率和哪些因素有关?答:D/A 转换后显示在示波器上的信号频率与采样信号频率及原信号的频率以及它们之间的关系都有密切关系。五、心得与体会1、做实验前需要做好充分准备,理解实验原理2、面包板搭接电路,布局十分重要,一开始芯片无规则乱放,导致面包板不够用。应按电路图芯片之间连线的复杂程度安排芯片之间的远近,接线尽量短。3、实验中发现问题应首先自己检查线路,查看逐个芯片的电源、接地线、管脚是否正确,再检查各管脚电压是否正常,可能是芯片损坏。与同学的交流也是必须的。4、根据硬件连线编写程序,熟悉软件的使用是非常必要的,在实验中我就因为不熟悉软件而浪费了不少时间。5、芯片管脚比较多,在原理图上一一标注,不致混乱6、做实验切忌急噪情绪六、参考书目1许茹,单片机多路数据采集及多机通讯系统,厦门大学电子工程系,2000 年月。2李广弟,朱月秀,王秀山,单片机基础(修订本) ,北京航空航天大学出版社,北京,2004 年月。厦门大学电子工程系课程设计- 7 -