精密模拟量数据采集器设计报告_第1页
精密模拟量数据采集器设计报告_第2页
精密模拟量数据采集器设计报告_第3页
精密模拟量数据采集器设计报告_第4页
精密模拟量数据采集器设计报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、8通道精密模拟量数据采集器设计报告单片机原理课程设计报告姓名:潘伟松 学号:2080611137同组姓名:林玉璇 黄晓红 班级: 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. 分析主程序设计及部分功能程序/* 文件:C52_ICL7109.c 说明:基于ICL7109的8通道精密模拟量

3、数据采集器, 通过上位机发送0xAA后,MCU将数据发回上位机*/#include#define uchar unsigned char#define uint unsigned intsbit LBEN=P20;/低电平使能端。当MODE和CE/LOAD均为低电平时,此信号将作为低位(B1B8)输出选通信号;sbit HBEN=P21;/高字节使能端。当MODE和CE/LOAD均为高电平时,此信号将作为高位字节(B8B12)以及POL,OR输出的辅助选通信号;sbit LOAD=P22;/低电平时,数据正常输出sbit RUN_HOLD=P23;/输入高电平,每经8192个时钟脉冲均完成一次

4、转换sbit STATUS=P32;/状态输出,转换结束时,该引脚发出转换结束信号uchar StatusFlag=0;/转换结束标志位uchar DataTemp16,DataSend16;/uchar U_COMMAND;/串口发送命令uchar Channel_Table8=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07;uchar XT_Channel=0;/通道计数变量/* 初始化程序*/void INIT(void) TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = 0xFD;PCON = PCON|0x00;I

5、T0 = 1;PX0 = 1;/外部中断0优先 EX0 = 1;ES = 1;EA = 1; TR1 = 1;P1 = 0x00;RUN_HOLD=1;/*主函数*/void main()uchar i=0; INIT();while(1)if(StatusFlag=1)ES=0; StatusFlag=0; for(i=0;i16;i+)DataSendi=DataTempi;/*串口中断函数*/void UART(void) interrupt 4uchar i; if(RI=1) RI=0;U_COMMAND=SBUF;if(U_COMMAND=0xAA)for(i=0;i16;i+)

6、SBUF=DataSendi;while(TI=0);TI=0;/* ICL7109数据读取*/void ICL7109_CON() interrupt 0ES=0;STATUS=1;RUN_HOLD=0;/读高字节数据LOAD=0;HBEN=0; DataTemp2*XT_Channel=P0 & 0x3f; /0011 1111暂存数据,前两位为POL,OR辅助选通信号HBEN=1;LOAD=1;/读低字节数据LOAD=0;LBEN=0; DataTemp2*XT_Channel+1=P0;LBEN=1;LOAD=1; XT_Channel+;if(XT_Channel=8) /判断是否转

7、换完成 XT_Channel=0;StatusFlag=1;P1=Channel_TableXT_Channel;RUN_HOLD=1;ES=1; 2.电路原理图参考设计(1)布线图(2)原理图3.分析显示程序设计思路设计要点:(1)电路中所用电阻必须全部采用5环电阻;(2)电路中的电容CAZ、CINT和CREF必须采用聚丙乙烯电容(CBB电容);(CBB电容外观)(3)电位器W1需用多圈电位器(多圈电位器外观)(4)串口通信协议9600波特,8位数据位,1位停止位,无校验方式,主从通信方式,计算机为主机,单片机为从机。主机发送命令:AA(十六进制数)从机回复数据:其中,CHX(H)为第X通道

8、数据的高6位,CHX(L)为第X通道数据的低8位。上位机的串口通信允许通过“串口调试助手”软件来完成。四 软件调试:说明软件调试过程所出现的问题及解决方法。对软件设计应考虑的特殊问题单片机应考虑:在RAM中开辟两个数据区,一个数据区(假设为DATABLOCK1)用于即时存放转换过来的8个通道的数据,另一个数据区(假设为DATABLOCK2)用于存放发送到上位计算机的数据。为了保证数据的统一,当单片机将8个通道的模拟量全部转换完毕后(转换的数据已存放在DATABLOCK1),须先将串口中断关闭,然后将DATABLOCK1中的数据全部复制到DATABLOCK2,复制完毕后在打开串口中断。这样保证返

9、回到计算机中的数据是完整的数据。五. 课程设计的体会这个课程设计我本来是负责写程序的,但是程序不怎么会写,所以和另外两个组员一起写。其实画pcb图和焊接元件我才是比较熟手一点。这个设计我是基本了解它的工作原理的,但是细节的东西就还有一些不会的。工作原理就是:上位机(计算机)向下位机(单片机)发起通信,下位机向上位机传送采集到8路的数据。通信方式是串口通信的主从通信方式。 在焊好板子之后,我拿过来一看,就发现焊点很大,然后线路有点细。测试后,果然发现有一些线路断了,我想要是我布线的话,我会布粗一点,因为板子面积还是足够大的。 调试过程中,发现接受的数据不对。经过分析和向其他人请教,我们发现焊错了两个CBB电容,有些地线也没接好。改过之后,终于可以接收到数据。 通过实验,发现了单片机其实还有很多东西没弄懂,程序也不熟练,做项目更是缺乏经

温馨提示

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

评论

0/150

提交评论