多路数据采集系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多路数据采集系统设计
学习要求掌握用单片机构成的数据采集系统的设计方法及其基本的应用程序设计技术;了解单片机应用系统的开发过程。
数据采集系统是一种通用测试系统,它可以对各种物理量(如温度、压力、转速、位移等)进行测量、存储、处理和结果输出。.
一、单片机数据采集系统组成框图
图2.35为单片
机数据采集系统组
成框图,它由传感放
大器(测非电量时应
采用传感器)、A/D
转换器、单片机、地
址锁存器、程序存储
器、数据存储器、译
码显示器、D/A转换
器及输出控制器等
部分所组成。其中,
单片机及其扩展部分地址锁存器、程序存储器、数据存储器、A/D转换器是数据采集系统中不可或缺的重要组成部分,其它部分则可以视系统的需要而配置。如被测量的已经是电信号,则可以不要传感放大器电路;若测量结果不作为控制信号,则可以不接D/A转换和输出控制器。
二、数据采集系统的电路和程序设计
图2.36所示电路是由8031单片机构成的一种数据采集系统,它可以完成对被测信号的采样,数据存储、计算、处理,以及信号的放大输出等功能。下面分别介绍各组成部分的工作原理及其程序设计。
1.单片机的时钟源和复位电路设计
电容C1、C2和晶振(6MHz)组成8031的外部时钟源电路,将C1、C2和晶振组成的回路称为LC并联谐振回路,晶振起电感的作用,谐振频率由晶振的频率所决定,8031单片机的晶振可以选1.2MHz~12MHz。电容C1、C2的取值一般在20Pf~100pF之间(在60pF~70pF 时,频率比较稳定)。
复位电路由R1C3组成,在上电瞬间,由于电容C3两端的电压不能突变,REST端出现高电平,只要保持10ms的高电平时间,就能可靠地使单片机复位,当晶振为6MHz时,取C3=22p,F,Rl=lkΩ。
2.程序存储器和数据存储器电路设计·
EPROM2716是8031单片机的程序存储器,用于存放指令,常数及表格。其地址范围为0000H~07FFH。片选端CS接地,表示2716总是处于选通状态。开机后,由8031的PSEN控制OE端(低电平有效),自动执行从0000H开始的程序。如果从EPROM中取常数
或查表,则需要执行MOVCA,@A+DPTR指令。
RAM6116是8031单片机的数据存储器,用于存放采集的数据及数据的计算与处理结果等。它的地址范围也是0000H~07FFH,但不会与EPROM2716的地址发生冲突。因为它
的片选端S
C是通过8031的地址线控制的。当地址线P26 =0 时,RAM6116才选通。8031 执行MOVX@DPTR,A指令可以产生R
W信号,将累加器A的内容送片外数据存储器。执行MOVX A,@DPTR指令可以产生RD信号,将片外数据存储器由DPTR指定的地址单元中的内容送至累加器A。DPTR表示16位的地址计数器的内容,它可以通过执行MOV DPTA,#addrl6指令被赋值。
3、A/D转换电路及其程序设计
单片机8031、ADC0809及或非门74LS02等共同组成数据采集系统的A/D转换电路。设有一路信号巧(0V~5V)从ADC0809的INo通道输入,地址输人端A、B、C均接地,这时1No的通道地址为OOH。0809是8位ADC,对0V~,5V的信号,其转换精度为20mV/级。P24和R
W、RD共同组成ADC0809的口地址和启动转换控制信号。当P24=0时,指定ADC0809的口地址为0EFFFH;当8031的R
W来到时,0809的ALE在脉冲的上升沿锁存地址信号,START在脉冲的高电平启动A/D转换。在转换结束后EOC输出高电平,转换后的数字量锁存在0809内部的三态输出锁存器中。当输出允许信号OE为高电平时,转换结果经数据线D7`~D0输出,图2.36中,8031采用了中断方式读取转换结果,也可以采用时等待的方式读取转换结果, A/D转换的程序如下:
MOV A,00H ;指定IN0的通道号
MOV DPTR,#OEFFFH ;指向0809口地址
MOVX @DPTR,A;启动0809转换
lOOP:AJNp Loop ;等待转换结果
采用中断方式等待转换结束的A/D转换和D/A转换的程序如下:
ORG 0000H ;复位
AJMP START
ORG 0013H ;
INT中断向量地址
1
AJMp INTISV ;转中断服务子程序
START: SETB INTI ;测中断响应信号是否来到
SETB EA.;开中断
SETB EXI ;允许
INT产生中断
1
MOV DPTR,#0EFFFH ;指向0809口地址
MOV A,00H ;0809 IN0的通道号
MOVX @DPTR,A;启动0809转换
LOOP;AJMP LOOP ;等待转换
INTlSV:MOVDPTR,#0EFFFH ;指向0809口地址
MOVX A,@DPTR ;读丸D转换的结果
MOVDPTR,#7FFFH ;指向DAC0832口地址
MOVX @DPTR,A;启动0832转换
MOVDPTR,#0EFFFH ;指向0809以进行下一次
MOV A ,00H ;A/D 转换(1No)
MOVX @DPTR ,A ;启动A/D 转换
RETI ;中断返回,进行下一次A/D 、D/A 转换,如此周而复始。
若有8路信号输入,0809的通道号应为INo ~IN 7,对应的通道地址为00H~07H 。由低位地址线P 00~P 02控制A 、B 、C 。相应的A/D 转换程序改为8通道循环检测。
4.D /A 转换电路及其程序设计
单片机8031与DAC0832及运算放大器µA747(双运放)组成数据采集系统的D/A 转换输出电路。其中,DAC0832接成双缓冲工作方式,允许端ILE 接+5V ,则内部的输入寄存器可以锁存8031的P 0口送来的数据。片选端CS 与控制端XFER 都与8031的高位地址线P 27 相连接,由此指定了DAC0832的口地址为07FFFH 。当P 27=0时,由于0832内部的两级寄存器的1WR 、2WR 都与8031的WR 信号直接相连,当WR 来到时,DAC0832完成一次
D/A 转换,其转换程序如下
MOVDPTR ,#7FFFH ;地址指针指向0832的口地址
MOV A ,#dara ;A/D 转换的结果data 送累加器A MOVX@DPTR ,A ;累加器A 的数字量送DAC0832
执行MOVXDPTR,A 这条指令时,可以生成W信号,DAC0832的输出经运算放大
器后可以得到与输人数字量成比例的模拟电压信号。
三、单片机应用系统的开发
单片机虽然是一个五脏俱全的微型计算机,但其自身并无开发能力,必须借助于开发 工具来开发应用软件以及对硬件系统进行诊断。
单片机应用系统的开发过程可以分为系统硬件设计、系统软件设计、系统仿真调试及
系统脱机运行等四个阶段。如前所述,系统的硬件设计与软件设计工作是同时进行的,可以 在设计硬件电路时编制相应电路的软件模块或子程序。系统的仿真调试工作是指修改
软件模块,将软件模块链接成二个完整的满足系统功能要求的软件,并对硬件系统进行诊,断,
系统的仿真调试工作必须借助于开发工具才能进行,目前较常见的开发工具有在线仿真开发装置它可在计算机上调试单片机的应用程序,既能输入程序、设置断点运行,单步运行、修改程序,也能方便地查询各寄存器,I/O 口、存储器的状态和内容,还能判断硬件系统的故障。
系统应用软件调试通过后,应固化在EPROM 中,然后脱机运行,即脱离开发装置, 独立运行。
四、设计任务
设计课题:多路数据采集系统设计 ,
●主要元器件 8031单片机,EPROM2716,ADC0809,DAC0832,74LS373等,, ●主要功能 设有2路输人信号,第一路是0V~5V 的直流电压;第二路是0V~1V 的 正弦波信号,其频率为lkHz 。采用开关控制输出通道号,第一路的输出采用数字电压表测 量;第二路的输出采用示波器观察。 ,
●设计要求
①写出设计步骤,画出设计的整机电路图并进行安装;