智能仪器自动量程切换_第1页
智能仪器自动量程切换_第2页
智能仪器自动量程切换_第3页
智能仪器自动量程切换_第4页
智能仪器自动量程切换_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能仪器实验报告 实验项目 自动量程切换 实验时间 同组同学 班级 111 学号 1111 姓名 瓜瓜 2014年4月 实验四 自动量程切换一、实验目的1. 了解仪器量程的概念,量程切换原理。2. 了解多路开关在模拟量输入通道中的应用。3. 掌握实现自动量程切换的硬件电路和编程方法。二、实验原理与要求用电位器调整输入电压值,利用实验板上的AD774 A/D转换器、多路模拟开关MPC508和可编程增益放大器AD526和C8051单片机构成单路电压测量系统,对输入电压进行测量。 图4-1 自动量程切换实验原理图对输入电压的量程判断是通过不断改变可编程增益放大器AD526的增益实现的。AD526通过

2、编程可输出1、2、4、8、16五档不同的增益,本实验取其增益为1。实验中AD774输入电压为10V那么经衰减后的电压应该在0-10。取衰减电阻网络中的电阻分别为1K、1K、2K,可以实现三个量程的切换。假设输入信号在0-40V内(根据实验台条件提供),则0-10V范围的电压不需要衰减,10-20V范围的电压需要衰减一半,20-40V范围内的输入电压需要衰减为原值的1/4。实验中,我们假设输入电压分别为6V、12V、24V,编写具有自动量程切换功能的电压测量程序,将采集的电压值以数字量形式存于内存中。来观察内存中相应的量程和AD转换结果。三、实验内容及说明实验电路图请参考实验指导书附录中的“12

3、位并行AD模块”部分(图4-2所示),1 8通道多路开关MPC508在此模块中,MPC508(U1)为8通道多路开关,其引脚图如图8-2及主要功能说明如下:INn(n=18)为8通道模拟量输入端,A0、A1、A2为通道选择控制端,EN为使能端,它们之间的关系见真值表8-1所示。要访问MPC508多路开关,只要对端口位置(8C00H8CFFH范围中的一个位置)写入相应的数据,从而选通相应的通道。表4-1 MPC508通道选择2 可编程增益放大器AD526 AD526(U2)为可编程增益放大器, A2、A1、A0、B四端为控制增益的代码输入端,、为使能端,VIN端为信号输入端,VOUT端为信号输出

4、端,它们之间的关系见真值表4-2,通过编程可以很方便的设置1、2、4、8、16不同的增益。 要访问AD526可编程增益放大器,只要对端口位置(8B00H8BFFH范围中的一个位置)写入相应的数据,从而选择对信号不同的放大倍数。 表4-2 AD526增益设置控制3 A/D转换器AD774BAD774B(U5)为12位逐次逼近型快速A/D转换器,其转换速度最大为8S,引脚说明如下:数字逻辑部分电源+5V。12/:数据输出格式选择信号引脚。当12/=1(+5V)时,双字节输出,即12位数据同时有效输出,当12/=0(0V)时,为单字节输出,即只有高8位或低4位有效。:片选信号端,低电平有效。:字节选

5、择控制线。R/:读数据/转换控制信号,当R/=1,ADC转换结果的数据允许被读出;当R/=0时,则允许启动A/D转换。CE:启动转换信号,高电平有效。、:模拟部分供电的正电源和负电源,为或。REF OUT:10V内部参考电压输出端。REF IN:内部解码网络所需参考电压输入端。REF OFF:补偿调整。接至正负可调的分压网络,以调整ADC输出的零点。10、10:模拟量10V,20V量程的输入端口,信号的一端接至AG引脚。DGND:数字公共端(数字地)。AGND:模拟公共端(模拟地)。:数字量输出。STS: 输出状态信号引脚。转换开始时,STS达到高电平, 转换过程中保持高电平。转换完成时返回到

6、低电平。STS可以作为状态信息被CPU查询,也可以用它的下降沿向CPU发中断申请,通知A/D转换已完成,CPU可以读取转换结果。四、实验步骤1 本实验需要用到的实验模块包括:“SMP-102 12位并行AD模块”,“SMP-202 C8051模块” ,“SMP-204 译码模块”。2 把上述模块分别插放到相应的实验挂箱所在位置。3 在确保上述模块插放无误后,用扁平信号线连接“SMP-1 信号转换单元”挂箱的“J2”与“SMP-2 控制器单元”挂箱的“J8”;“SMP-1 信号转换单元”挂箱的“J1”与“SMP-2 控制器单元”挂箱的“J7”。4 将“SMP-2 控制器单元”挂箱的“切换模块”切

7、换到下列状态:SW1(全部OFF),SW2(全部OFF),SW3(全部OFF),SW4(全部OFF)。5 将“SMP204 译码模块”上的插针J1的2、3用短路帽短接,J2的2、3用短路帽短接,J3的1、2用短路帽短接,给系统上电。6 在“SMP-102 12位并行AD模块”的“CH0”和“CH1”处接入2K电阻,“CH1”和“CH2”处接入1K电阻,“CH2”和GND处接入1K电阻。7 打开“实验程序/C8051实验程序/多路开关”文件夹下SWITCH.wsp和GAIN.wsp项目文件,阅读、分析、理解程序,参照图4-3所示流程图,用C语言编写多量程切换程序。用适配器连接PC机和系统MCU,

8、编译、生成项目、下载程序; 8 在“SMP-102 12位并行AD模块”的“CH0”接入6V输入电压。在程序中的设置断点,全速运行程序到每个断点处。观察“SMP-102 12位并行AD模块”上的A0A1处的通道选择指示灯的变化情况,并观察调试软件AD转换后所得数值。 9 依次在“SMP-102 12位并行AD模块”的“CH0”接入 12V、24V的电压信号,重复上述实验步骤8。 图4-2 12位并行AD模块图4-3 量程切换程序流程图五、实验报告1用c语言编制实验程序。#include / SFR declarations#include #include Delay.h#include AD

9、774.hsfr16 DP = 0x82; / data pointersfr16 TMR3RL = 0x92; / Timer3 reload valuesfr16 TMR3 = 0x94; / Timer3 countersfr16 ADC0 = 0xbe; / ADC0 datasfr16 ADC0GT = 0xc4; / ADC0 greater than windowsfr16 ADC0LT = 0xc6; / ADC0 less than windowsfr16 RCAP2 = 0xca; / Timer2 capture/reloadsfr16 T2 = 0xcc; / Time

10、r2sfr16 RCAP4 = 0xe4; / Timer4 capture/reloadsfr16 T4 = 0xf4; / Timer4sfr16 DAC0 = 0xd2; / DAC0 datasfr16 DAC1 = 0xd5; / DAC1 data#define BAUDRATE 115200 / Baud rate of UART in bps#define SYSCLK 22118400/11059200 / SYSCLK frequency in Hz#define SAMPLE_RATE 50000 / Sample frequency in Hz#define INT_D

11、EC 256 / integrate and decimate ratio/sbit AD_BUSY = P35;sbit AD_BUSY = P16;void SYSCLK_Init (void);void PORT_Init (void);long result; / ADC0 decimated valuelong zhuanhuan();long duzhi();void main (void) long c; long b; SET_PLUS(0x60); /选择并设置多路开关的通道为第1 号通道 /选择并设置程控放大器的放大倍数 while(1) SET_PGA(0x00); c=

12、duzhi(); if (c2048&c2176&c2304) SET_PGA(0x60); b=zhuanhuan(); if(c2304) SET_PGA(0x40); b=zhuanhuan(); if(c2560) SET_PGA(0x20); b=zhuanhuan(); if(c3072&c3072) ADC0GT=1; long zhuanhuan() unsigned char high8,low4; unsigned char HIGH4,LOW8; long res; / temperature WDTCN = 0xde; / disable watchdog timer

13、WDTCN = 0xad; SET_PLUS(0x60); SYSCLK_Init (); / initialize oscillator PORT_Init (); / initialize crossbar and GPIO / sample rate HIGH4 = 0x00; LOW8 = 0x00; AD_BUSY = 1; AD_START(); /启动AD转换 while(AD_BUSY);/等AD转换完 if(!AD_BUSY) /若转换完,则读转换后的数字量 high8 = RD_ADDATA_H8(); /读高8位(D7D4D11D8) low4 = RD_ADDATA_L

14、4(); /读低4位(D3D0) HIGH4 = high8 & 0x0f; / (0000D11D8)- HIGH4 LOW8 = (high8 & 0xf0)|(low4 & 0x0f);/(D7D4D3D0)- LOW8 res=HIGH4*256+LOW8; return res;/ Initialization Subroutines/ SYSCLK_Init/ This routine initializes the system clock to use an 22.1184MHz crystal/ as its clock source.void SYSCLK_Init (vo

15、id) int i; / delay counter OSCXCN = 0x67; / start external oscillator with / 22.1184MHz crystal for (i=0; i 1ms) while (!(OSCXCN & 0x80) ; / Wait for crystal osc. to settle OSCICN = 0x88; / select external oscillator as SYSCLK / source and enable missing clock / detectorvoid PORT_Init (void) XBR0 =

16、0x04; / Enable UART0 XBR1 = 0x00; XBR2 = 0x40; / Enable crossbar and weak pull-ups P1MDOUT = 0xff; / enable P1.6 (LED) as push-pull output P2MDOUT = 0xff; / enable P1.6 (LED) as push-pull output P3MDOUT = 0xff; / enable P1.6 (LED) as push-pull output P74OUT = 0xff; /设置P4-P7口输出 EMI0CF=0x2f; /外部存储器接口配

17、置 EMI0TC=0x9e; /外部存储器时序控制(2)AD774程序#include / SFR declarations#define PLUS_ADDR 0x8c00#define PGA_ADDR 0x8b00#define AD_START_ADDR 0x8d00#define RD_H8_DATA_ADDR 0x8e00#define RD_L4_DATA_ADDR 0x8f00unsigned char xdata *PLUS_POINT = (unsigned char *)PLUS_ADDR;unsigned char xdata *PGA_POINT = (unsigned

18、 char *)PGA_ADDR;unsigned char xdata *AD_POINT = (unsigned char *)AD_START_ADDR;unsigned char xdata *RD_H8_POINT = (unsigned char *)RD_H8_DATA_ADDR;unsigned char xdata *RD_L4_POINT = (unsigned char *)RD_L4_DATA_ADDR;/入口参数:一个多路开关参数/出口参数:无/功能:根据所给的开关参数打开相应的开关void SET_PLUS(unsigned char i) *PLUS_POINT

19、= i;/入口参数:一个增益参数/出口参数:无/功能:根据所给的增益参数设置相应的放大倍数void SET_PGA(unsigned char i) *PGA_POINT = i;/入口参数:无/出口参数:无/功能:启动AD转换void AD_START(void) *AD_POINT = 0x00;/入口参数:无/出口参数:AD转换结果的高8位数/功能:读AD转换结果的高8位数unsigned char RD_ADDATA_H8(void)unsigned char i;i = *RD_H8_POINT;return(i);/入口参数:无/出口参数:AD转换结果的低4位数/功能:读AD转换结果的低4位数unsigned char RD_ADDATA_L4(void) unsigned char i; i = *RD_L4_POINT; return(i);(3)延时程序#include c8051F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论