版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多路数据采集器设计1.设计要求所设计的数据采集器,共有16路信号输入,每路信号都是直流020mV信号,每秒钟采集一遍,将其数据传给上位PC计算机。本采集器地址为50H。要求多路模拟开关用4067,A/D转换用ADC0809,运算放大器用OP07,单片机用89C51,通信用RS232接口,通信芯片用MAX232。与PC机的RS232串口进行通信。设计采集器的电原理图,用C51语言编制采集器的工作程序。2.方案设计按要求,设计数据采集器方案如下所示:数据采集器采用AT89C51单片机作为微控制器,模拟开关4067的地址A、B、C、D分别与P1.0P1.3连接,通过控制P1口输出来选择输入信号,将直
2、流信号依次输入ADC0809的模拟信号输入端,ADC0809共有8路输入通道,在使用模拟开关时,仅将模拟开关的输出端连接到ADC0809的1路输入通道即可,本方案中使用0通道。ADC0809的转换结果通过P0口传给单片机,单片机将采集结果通过串行通信RS232接口上传给上位PC机,实现数据的采集。3.电路原理图a)AT89C51单片机电路本实验中选取8位单片机AT89C51作为微控制器,需要片外11.0592MHz的振荡器,4K字节EPROM,128字节RAM,与51单片机有很好的兼容性。在本此实验中程序及数据不多,故无需另加外部程序存储器。单片机部分的电路如下所示:C2GNDIXI|CRYS
3、TAL11.0592MHzU110C110uF1oo10kIN_AIN_BIN_CINXTAL1PO.QADOP0.1/AD1P0.2-AD2XTAL2P0.3-AD3P0.4-AD4P0.&AD5PO.&ADRSTPQ.7/AD7PS.QAfiP2.1/A9P2.2-A10FSENP2.3.-A11ALEP2.4-A12EAP2.5k-A13P2.&A14P2.7/A15P1.0P3.0/RXDP1.1P3.1.-TXD-PI.2P3.iNT0PI.3P3.1INTTP1.4P3.4-T0-PI.5P3.&T1P1.SP3.&WRPI.7P3.7JRD18331ATB9C51丄10三1221
4、2230D137D2萄D335C434D533D332D739DOW_ENOS0_ALE3&D9_START3&D9OE13ZjiRXDTXDINTOAT89C51单片机电路b)数据输入部分数据输入部分由模拟开关4067实现多路信号的切换。CD4067是单16路(单刀16位)模拟开关,各开关由外部输入二进制的地址码A、B、C、D来切换。其中脚10、11、14和13是地址码A(LSB)、B、C、D(MSB)的输入端;脚29和1623是开关的输入/输出端(开关位);脚1是开关的输出/输入公共端(开关刀);脚15为控制端,低电平有效(选通),高电平禁止(开关开路)。输入脚A、B、C、D分别与单片机P
5、1.0P1.3相连,改变P1输出即可切换输入通道,控制脚与P2.4相连。输出脚1后接电压放大电路。直流电压,所以必须后接电压放大电路。放大器选用OP07,将020mV电压放大到05V,其放大倍数为250倍,一般情况下,放大器的放大倍数最好小于200倍,安全起见,选用两个OP07进行两级放大,前级放大25倍,后级放大10倍,放大电路如上图所示。d)模数转换部分DB0S_STARTCDBD9CLKCDJ14D215D3&D41BD513D620D72JDEVfiEF(-)7REF(+ALEOUT7ADDCOUT6ADDBOUT5ADDAOUT4OUT3IN7OUT2IN6OUT1INSIIN4EO
6、CIN3IM2STARTINICLOCKINDADCDED9J65匸L27262223248路8位A/D转换器,即分辨率8位;具有转换起停控制端;转换时间为100s;单个+5V电源供电;模拟输入电压范围0+5V,不需零点和满刻度校准;工作温度范围为-4085;低功耗,约15mW。选择参考电压为+5V,当输入电压为+5V时,转换数据为#FFH,当输入电压为0V时,转换数据为#00H。ADC0809片内没有时钟,用于51单片机系统时,时钟信号可由51单片机ALE端口经过一个2分频电路获得。一般情况下,ALE信号频率是51单片机时钟频率的1/6。若采用11.0592MHz的晶振,则ALE的输出频率为
7、1.8432MHz,经2分频后为921.6KHz,这个频率符合ADC0809对时钟频率的要求。U4:AC-74HC74Vvcc2分频电路由于多路输入信号切换由模拟开关4067实现,所以ADC0809的8路输入开关实际只使用1路,为方便起见,使用0通道输入,所以电路中将A、B、C脚接地处理,并且将IN1IN7同样做接地处理。IN0与电压放大输出相连。转换结果的读取有3种方法:A延时法:不利用EOC信号,启动A/D转换,等待130us后读取转换结果。查询法:将EOC信号接到10口,检测EOC,若EOC=0,则A/D转换没有结束,继续检测;当EOC=1时,A/D转换已经结束,可读取A/D转换结果。A
8、中断法:将E0C信号接到INT0口,利用中断程序获取结果。实际应用中,通常采用跳变触发方式。EOC经过一个反向器接到单片机INT0上。启动A/D转换后,单片机可以做其它工作,A/D转换结束时,EOC端产生一个由低到高的正跳变,经反向器传输到INT0,若此时单片机的CPU处于开中断状态,并且允许INT0中断,又没有高一级的或同一级的其他中断正在服务,则CPU立即执行中断服务程序,在中断服务程序中读取A/D转换结果。本次试验中,采取中断法实现转换结果的读取。e)串行通信部分C4TXDARXDJC6ID1uF13C1+C1-T1IMT1OLITR1OLTTR1INT2INT2OUTR3OLTTR2I
9、NVS+VS-C2+C2-211U7C71uFI1!MAX232串行数”-单片机串口通信采用RS232C标准,由于RS231C标准采用正负电压表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同,必须使用电平*专换器件进行装换,本方案采用Maxim公司的MAX232芯片实现接口的电平转换。MAX232的11、12脚分别与单片机P3.0、P3.1脚相连,13、14脚与电脑串口相连接。串行口工作于工作方式1下,使用定时器1作为波特率发生器,定时器1工作于定时器方式2下,由于系统使用11.0592MHz晶振,所以取初值为FDH,得,系统工作的波特率为9600bps。程序流程图4.软件设计程序流程如
10、下图所示,详细程序见附录一。5.仿真实验采用Proteus7.1可以很方便地进行单片机单路的仿真,本方案中需要用到串口通讯仿真,由两个MAX232器件连接模拟单片机和PC机的通信,如下图所示,左边虚线框中Max232与单片机相连,右边实线框中Max232与PC机相连,模拟上位机。MFRMDPTXD11uFLI:也T1OUTT2OUTT2OUTR1MT1OUT串口通信模拟电路测试输入信号由Proteus中电压探针工具提供,如图所示:!1a测试输入电压值4067_pur串口通信调试时实现方式有两种:1)通过虚拟串口软件VSPDXP5.0设置两个相关联的串口如COM3和COM4,在Proteus中增
11、加一个虚拟串口控件COMPIM,通过串口调试软件如串口调试小助手进行串口调试,其过程如下:上。在虚拟串口软件中添加一对关联的串口,本次添加的为C0M1和COM2,并将红色方框处勾ERRORCONTISComponentReference:Hidden:ComponentValue:|C0MPIMHidden:VSMModel:|匚0MPIM.DLL|HideAll二|Physicalport:|C0M1二|HideAll二|PhysicalE:audRate:19600二|HideAll二|PhysicalDataBits:二|HideAll二|PhysicalParity:|none二|Hi
12、deAll二|VirtualBaudRate:19600二|HideAll二|VirtualDataBits:二|HideAll二|VirtualParity:|noneHideAllAdvancedProperties:|PhysicalStopBitsHideAll0therProperties:MPIM控件及其属性设置CO1EditComponent旦K.HelpCanci在Proteus中添加一个COMPIM控件,并上i图设置其属性后运行:仿电路。打开串口调试小助手,按下图设置后就可以进行串口通信的调试了。Editallpropertiesastext厂Hidecommonpins阮串
13、口调试小肋手1.2IColo-1IllIair!6MessagefslANIMATING:00:00:35.900313CPUload100X1波特率COM29600pone|R3F3;关闭串口|校验位数据位惇止位渚空接收区接收区000C182556626E7B93AOACB8DIDDEAF6停止显示厂自动清空17十六进制显示接收文件bone|f呆存数据更改路径|c:VCOMDATAV渚空重埴I发送区507十六进制发送亡1二IE甘口匚二i5i5qrs-ISISProfessional(Animating)WatchWindowFileViewEditToolsDesignGraphSourct
14、2d4|)圈tH|串丨爭N-dflieAddressValuewatchE.SBUF0X00190XF6OnChang已SCON0X009SoboioioiooFCON0X00S70X00TCONOXOOSSobiioioooiIEOX00ASobiooioooiTTdUD0X00S9obooiooooi4件*屁LE:L9m.ct-i二DEVICESPlLcr-c*r=l-回74HC0474HC744067ADnnRnRATBUCACAoDiaAIDCOCR礎OFRE川川U7MAXZI2J11JJ1JBU2口匚trjRrI-CLOO:.X_UOriJ-E.rcc.ZCE-.JRAC7n陀IB2
15、2)通过Proteus中的虚拟终端仿真串口通信过程,如下图所示,运行后,在PTXD窗口中点鼠标右键,在弹出菜单中选上“EchoTypedCharacters”和“HexDisplayMode”,在PRXD窗口中同样选中“HexDisplayMode”,后在PTXD窗口中按Shift+p(即输入大写字母P,其对应ASCII码为50H),结果如下:虚拟终端结果2d团=二=|回U1却卜F-R:djR7j-+lWiDC2aaCTg7ITT=sC6DCisisqrs-ISISProfessional(Animating)VirtualTerminal-PTXDVirtualTerminal-PRXD00
16、0C182556626E7B93AOACB8D1DDEAF6000C182556626E7B93A0ACB8D1DDEAF6GENERATORSSINEPULSEEXPSFFMFWLINFILEAUDIODSTATEDEDGEDPULSEDCLCICKDPATTERNSCRIPTABLE启|備|常tH4-+PRXDPTXDFTdj-q-VIX1IIlrutu_=Z-11艮兀+*:F加如PJ.iiTZdj:::Td-LiHJ-rf-LJ-F-dJUJ呛i!3PJ-.ltf-j*PJUEllP;立订pz*ne-i-npiZt-.Idi_iTd-RTtFileViewEditToolsDesignG
17、raphSourceWatchWindowl-KW-JJ-N-inieAddressValuewatche.SBUF0X00190XF6OnChang已SCON0X009SoboioioiooFCON0X00870X00TCONOXOOSSobnoooooiIEOX00ASobiooioooiTM匸i0X0089obooiooooiIIIIIIH-kiIJciJ#i血tacDnrU3lCOtfid-LE*fljlfTd-CiCii:d-CiCibd-CiCid-WiTS*OilPMiTIWiTPdiTi显FihJhJ-tit-U2CiTihRiOiTTJ-hR1O1TCi-TiOjTRihTJ
18、OjTRi-h亡4Cl6.实验结果分析输入通道0123456789101112131415测试电压V1(mV)0123789101213141517181920仿真结果(HEX)000C182556626E7B93A0ACB8D1DDEAF6仿真电压V2(mV)00.941.882.896.727.668.599.6111.4812.5013.4414.3816.3317.2718.2819.22模拟开关输出端电压V3(mV)00.971.932.906.767.738.709.6611.612.613.514.516.417.418.419.3上表中:测试电压VI为由电压探头提供的测试电压值
19、;仿真结果为ADC0809输出的结果;仿真电压V2为由仿真结果计算所得的电压值,公式为:V2=,仿真结果;256模拟开关输出端电压V3为直流毫安表测量得到电压值(接调理放大电路时);由结果看,随着输入电压的升高,仿真电压值V2与测试电压VI的误差逐渐变大,尤其当输入为满量程的20mV时,误差达到0.781mV;V3电压同样与V1误差越来越大,满量程时误差值最大为0.7mV;V3与V2电压则始终相差不超过O.lmV,较为精确。由V2和V3的关系可以看出ADC0809的转换精度基本能够满足要求,测量电压V2与测试电压V1之间的误差并非由ADC0809造成。进一步分析电路,当将模拟开关输出端与后面的
20、放大电路断开时,毫安表输出值V3完全与测试电压V1相同;当与放大电路再次连接时,再次出现上表中的较大误差值。误差是由于电压放大电路等效电阻分压造成电压值的损失。解决方案有2种:由上面测量结果通过插值多项式拟合出误差与测量结果的关系式,在单片机的测量程序中修正测量结果。通过硬件电路进行电压补偿。比较两种方案,可以看出第一种方案比较方便,下面计算插值公式:测试电压输出理论输出值误差值根据理论输出值和误差值计算插值公式,10-误差值拟合值Y=0.30481+0.04X0.04,际输出应为C+Y,即ADC0809转换值加上实时误差值。2-皐片机不适合做浮点运算,所以将插值公式改为插值公式为Y0.304
21、8址Y40X/1000经过插值修正后,经过修正后,结果如下:11111测试电压50080(00:5DIE绍、002输出7咄1U|修正值0123889101114127152166178191217229243255仿真电压00.941.882.896.727.668.599.6111.4812.5013.4414.3816.3317.2718.2819.22修正电压00.932.966.957.898.919.9211.8612.9713.9114.9216.9517.8918.9819.9250可以看出,修正后精度大幅提高。附录一:mainc文件#include#defineucharuns
22、ignedchar#defineuintunsignedintsbitm_enable=P2人4;sbitadc_a=P2A5;sbitadc_s=卩2人6;sbitadc_oe=P2A7;/低电平有效/ALE:上升沿锁存通道地址,地址已固定为0通道/START:上升沿清除ADC寄存器,下降沿启动ADC/OE:高电平有效uchardataadc_result16=0;ucharadc_in=0;voiddelay(unsignedintt)/延时tx0.1msdoTH0=0 xFF;TL0=0 xA3;TR0=1;while(!TF0);TF0=0;TR0=0;while(-t);voidsend_char(ucharch)SBUF=ch;while(TI=0);TI=0;voidINT0_SVC(void)interrupt0using0EA=0;adc_oe=1;adc_resultadc_in=P0;adc_oe=0;EA=1;v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育心理学提升训练试卷A卷附答案
- 2024年度山西省高校教师资格证之高等教育法规能力测试试卷A卷附答案
- 2024年微波集成电路AL2O3基片项目资金申请报告代可行性研究报告
- 四年级数学(四则混合运算)计算题专项练习与答案
- 2024年反担保协议法律文件样式
- 生态农业园建设项目可行性研究报告
- 2024年劳动协议监管手册内容概览
- 2024年期办公场所租赁协议模板
- 2024室内涂装批白施工服务协议
- 2024新装修工程项目协议
- 《乌鲁木齐市国土空间总体规划(2021-2035年)》
- 无人机应用技术专业申报表
- 减速器拆装实训教案
- 氢氧化钠安全技术说明书(共2页)
- 投标优惠条件承诺书
- 生石灰(氧化钙)MSDS
- 精通版五年级英语上册Unit4单元测试卷(含听力材料及答案)
- 顾客皮肤分析护理档案表
- 中俄跨界水体水质联合监测方案
- 秋季宜宾东辰国际学校小升初超越杯数学试题(含参考答案)
- 老挝的建筑文化
评论
0/150
提交评论