精密模拟量数据采集器设计报告.doc

精密模拟量数据采集器设计报告.doc

ID:61417205

大小:120.50 KB

页数:9页

时间:2021-01-27

精密模拟量数据采集器设计报告.doc_第1页
精密模拟量数据采集器设计报告.doc_第2页
精密模拟量数据采集器设计报告.doc_第3页
精密模拟量数据采集器设计报告.doc_第4页
精密模拟量数据采集器设计报告.doc_第5页
资源描述:

《精密模拟量数据采集器设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、8通道精密模拟量数据采集器设计报告〈单片机原理课程设计报告〉姓名:潘伟松学号:同组姓名:林玉璇黄晓红班级:081班学号:11号20号一.方案的选定(参考设计方案如图1所示)目标:设计一能采集8个通道的模拟量的精密数据采集系统。主要技术指标:(1)模拟量通道数:8;(2)AD转换分辨率:14位(数据实质是12位,加符号位和过量程指示位,总共14位);(3)模拟量输入范围:0-4.8V;(3)数据通信与显示方式:采集到的数据通过串口发送到上位计算机,由计算机显示数据;(4)上位计算机与数据采集系统(下位机)通信方式:串口通信,主从通信方式,上位机为主机,下位机为从机。由上位机发起通信,

2、下位机响应,将采集到的8路数据一并发送到计算机中。二.硬件系统框图及原理分析:分析硬件系统框图图1参考设计方案系统允许有8路模拟信号输入。在单片机的控制下,任意一时刻,多路模拟开关选通其中一路模拟信号送入双积分AD转换器ICL7109。ICL7109将模拟量转换成数字量,单片机读取数字量。通过控制模拟开关,8路模拟信号依次接入AD转换器转换成数字量。当8路模拟信号全部转换完毕,数据存放在单片机的RAM中,单片机将转换的数字量通过串口发送到计算中。三.软件设计:1.分析主程序设计及部分功能程序/*********************************************

3、************文件:C52_ICL7109.c说明:基于ICL7109的8通道精密模拟量数据采集器,通过上位机发送0xAA后,MCU将数据发回上位机*********************************************************/#include#defineucharunsignedchar#defineuintunsignedintsbitLBEN=P2^0;//低电平使能端。当MODE和CE/LOAD均为低电平时,此信号将作为低位(B1~B8)输出选通信号;sbitHBEN=P2^1;//高字节使能端。当MODE和

4、CE/LOAD均为高电平时,此信号将作为高位字节(B8~B12)以及POL,OR输出的辅助选通信号;sbitLOAD=P2^2;//低电平时,数据正常输出sbitRUN_HOLD=P2^3;//输入高电平,每经8192个时钟脉冲均完成一次转换sbitSTATUS=P3^2;//状态输出,转换结束时,该引脚发出转换结束信号ucharStatusFlag=0;//转换结束标志位ucharDataTemp[16],DataSend[16];//ucharU_COMMAND;//串口发送命令ucharChannel_Table[8]={0x00,0x01,0x02,0x03,0x04,0x

5、05,0x06,0x07};ucharXT_Channel=0;//通道计数变量/*******************************************初始化程序********************************************/voidINIT(void){TMOD=0x20;SCON=0x50;TH1=0xFD;TL1=0xFD;PCON=PCON

6、0x00;IT0=1;PX0=1;//外部中断0优先EX0=1;ES=1;EA=1;TR1=1;P1=0x00;RUN_HOLD=1;}/****************************

7、***************主函数********************************************/voidmain(){uchari=0;INIT();while(1){if(StatusFlag==1){ES=0;StatusFlag=0;for(i=0;i<16;i++)DataSend[i]=DataTemp[i];}}}/*******************************************串口中断函数********************************************/voidUART(void)interr

8、upt4{uchari;if(RI==1){RI=0;U_COMMAND=SBUF;if(U_COMMAND==0xAA){for(i=0;i<16;i++){SBUF=DataSend[i];while(TI==0);TI=0;}}}}/*******************************************ICL7109数据读取********************************************/voidICL7109_CON()

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。