课程名称:数据采集与智能仪器姓名:学号:班级:《数据采集与智能仪器》课程考核(大作业)武汉理工大学信息学院参考书赵茂泰《智能仪器原理及应用》(第三版)电子工业出版社程德福《智能仪器》(第二版)机械工业出版社第1章概述本章要求掌握的内容:智能仪器分类、基本结构及特点、智能仪器设计的要点考试题(10分)1智能仪器设计时采用CPLD/FPGA有哪些优点?第2章数据采集技术本章要求掌握的内容:数据采集系统的组成结构、模拟信号调理、A/D转换技术、高速数据采集与传输、D/A转换技术、数据采集系统设计考试题(30分)1设计一个MCS-51单片机控制的程控增益放大器的接口电路。已知输入信号小于10mv,要求当输入信号小于1mv时,增益为1000,而输入信号每增加1mv时,其增益自动减少一倍,直到100mv为止。(15分)评分标准:正确设计硬件电路图(5分);正确编写控制程序(5分);完成仿真调试,实现基本功能(5分);2运用双口RAM或FIFO存储器对教材中图2-22所示的高速数据采集系统进行改造,画出采集系统电路原理图,简述其工作过程。(15分)评分标准:正确设计硬件电路图(10分);正确描述工作过程(5分);第3章人机接口本章要求掌握的内容:键盘;LED、LCD、触摸屏考试题(30分)1设计8031单片机与液晶显示模块LCM-512-01A的接口电路,画出接口电路图并编写上下滚动显示XXGCXY(6个大写英文字母)的控制程序(包含程序流程图)。评分标准:正确设计硬件电路图(10分);正确画出程序流程图(5分);正确编写控制程序(5分);完成仿真调试(10分)第4章数据通信本章要求掌握的内容:RS232C、RS485串行总线,USB通用串行总线,PTR2000无线数据传输考试题(30分)1设计PC机与MCS-51单片机的RS232C数据通信接口电路(单片机端含8位LED显示),编写从PC机键盘输入数字,在单片机的6位LED上左右滚动显示的通信与显示程序。评分标准:正确设计硬件电路图(5分);正确画出程序流程图(5分);正确编写单片机通信程序(5分);在开发系统上运行,实现基本功能(10分);制作实物,实现基本功能,效果良好(5分)。第1章概述考试题(10分)1智能仪器设计时采用CPLD/FPGA有哪些优点?答:FPGA/CPLD芯片都是特殊的ASIC芯片,他们除了ASIC的特点之外,还有以下优点:(1)随着VLSI工艺的不断提高,FPGA/CPLD的规模也越来越大,所能实现的功能越来越强可以实现系统集成;(2)FPGA/CPLD的资金投入小,研制开发费用低;(3)FPGA/CPLD可反复的编程、擦除、使用或者在外围电路不动的情况下用不同的EPROM就可实现不同的功能;(4)FPGA/CPLD芯片电路的实际周期短;(5)FPGA/CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计。FPGA/CPLD适合于正向设计,对知识产权保护有利。第2章数据采集技术考试题(30分)1、设计一个MCS-51单片机控制的程控增益放大器的接口电路。已知输入信号小于10mv,要求当输入信号小于1mv时,增益为1000,而输入信号每增加1mv时,其增益自动减少一倍,直到100mv为止。(15分)评分标准:正确设计硬件电路图(5分);正确编写控制程序(5分);完成仿真调试,实现基本功能(5分);1.设计原理及简介程控放大器利用选通开关,控制放大器的反馈电阻阻值,实现改变放大倍数的原理工作。这里采用两片8选1模拟开关器件CD4051作为放大器反馈电阻选择开关,通过两两电阻并联得到32种放大倍数。下面有程序将电阻组合一一列出并与芯片引脚相对应然后是单片机P0口控制液晶显示器的输出采用TLC549作为A/D转换芯片,在仿真图左上方。这里通过A/D转换将模拟输入量转换成数字量串行输出,通过P2.5输入。2.硬件电路图3.程序框图4.程序#includereg51.h#includeintrins.h#defineucharunsignedchar#defineuintunsignedintsbitcs=P3^5;sbitintr=P3^4;sbitwr=P3^6;sbitrd=P3^7;sbita1=P1^0;sbita2=P1^1;sbita3=P1^2;sbita4=P1^3;sbita5=P1^4;sbita6=P1^5;uchard[4];/*****************************************延时*****************************************/voiddelayms(ucharn){uchari,j;for(i=0;in;i++)for(j=0;j110;j++);}/*****************************************AD转换*****************************************/ucharadctrans(){cs=0;wr=1;_nop_();wr=0;_nop_();wr=1;delayms(1);//读取转换后的值P2=0xff;rd=1;_nop_();rd=0;_nop_();d[0]=P2;_nop_();rd=1;_nop_();wr=1;_nop_();wr=0;_nop_();wr=1;delayms(1);//读取转换后的值P2=0xff;rd=1;_nop_();rd=0;_nop_();d[1]=P2;rd=1;wr=1;_nop_();wr=0;_nop_();wr=1;delayms(1);//读取转换后的值P2=0xff;rd=1;_nop_();rd=0;_nop_();d[2]=P2;rd=1;while(1){if(d[0]d[1]&&d[1]d[2])returnd[1];d[0]=d[1];d[1]=d[2];wr=1;_nop_();wr=0;_nop_();wr=1;delayms(1);//读取转换后的值P2=0xff;rd=1;_nop_();rd=0;_nop_();d[2]=P2;rd=1;}}/*****************************************主函数*****************************************/voidmain(){uchara;a4=0;a5=0;a6=0;a=adctrans();while(1){wr=1;_nop_();wr=0;_nop_();wr=1;delayms(1);//读取转换后的值P2=0xff;rd=1;_nop_();rd=0;_nop_();d[3]=P2;_nop_();rd=1;if(d[3]a)a=d[3];if(a=25){a1=0;a2=0;a3=0;}elseif(a=51){a1=1;a2=0;a3=0;}elseif(a=76){a1=0;a2=1;a3=0;}elseif(a=102){a1=1;a2=1;a3=0;}elseif(a=127){a1=0;a2=0;a3=1;}elseif(a=153){a1=1;a2=0;a3=1;}elseif(a=178){a1=1;a2=0;a3=1;a4=1;}elseif(a=204){a1=1;a2=0;a3=1;a4=0;a5=1;}elseif(a=229){a1=1;a2=0;a3=1;a4=1;a5=1;}elseif(a=255){a1=1;a2=0;a3=1;a4=0;a5=0;a6=1;}}}5.仿真结果图1波形显示情况2、运用双口RAM或FIFO存储器对教材中图2-22所示的高速数据采集系统进行改造,画出采集系统电路原理图,简述其工作过程。(15分)评分标准:正确设计硬件电路图(10分);正确描述工作过程(5分)1.硬件电路图2.工作过程IDT7206是IDT公司容量为16K×9的且引脚功能完全兼容的串行FIFO双端口RAM单向的FIFO双端口存储器。因为是一个FIFO(先入先出)存储器,所以没有绝对地址的概念,只有读指针和写指针的相对位置。当相对位置为0时,表明存储器空;为所用的存储器的容量时,表明存储器已满。AD7677为ADI公司研制的16位、1MSPS的高速A/D转换器。采集系统的原理图如上图所示。用一片AD7677和两片IDT7206构成了一个16位的、最高采样频率可达1MHz、每组最大采样点数为16K的数据采集系统。若要增加采集样本长度,只需要换IDT7206即可,其硬件的连接方式基本不变。在此系统中单片机的作用只是控制何时采样,以及采样完成后对采样数据的处理,在采样过程中,单片机无须任何干预。至于一次采集多少次,可以由硬件决定,也可以有软件控制。在中断中,单片机首先关闭采样脉冲信号(使P1.1输出为0),然后把每一点数据分两次分别从IDT7206(存低位)和IDT7206(存高位)读出,进行处理。每组数据的数量应该由程序计数判断,当然也可以利用IDT7206的EF标志进行查询判断。在进行第二组数据的采集前,最好将IDT7206先复位,通过在IDT7206的RS引脚输入一个低脉冲,即在8031的P1.0引脚输出一个低脉冲。这样可以更充分地保证FIFORAM的读、写指针的稳定。第3章人机接口考试题(30分)1设计8031单片机与液晶显示模块LCM-512-01A的接口电路,画出接口电路图并编写上下滚动显示XXGCXY(6个大写英文字母)的控制程序(包含程序流程图)。评分标准:正确设计硬件电路图(10分);正确画出程序流程图(5分);正确编写控制程序(5分);完成仿真调试(10分)1.原理及简介1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。在单片机编程中还可以用字符型常亮或变量赋值,如'A’。因为CGROM储存的字符代码与我们PC中的字符代码是基本一致的,因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=‘A’这样的方法。PC在编译时就把'A'先转换为41H代码了。2.接口电路图3.程序流程图流程图4.程序#includereg52.h#defineucharunsignedchar#defineuintunsignedintucharcodetable[]=XXGCXY;sbitRS=P2^0;sbitRW=P2^1;sbitEN=P2^2;ucharnum;/****************延时函数*****************/voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}/*****************写数据******************/voidwrite_data(uchardate){P0=0xff;RS=1;RW=0;P0=date;delay(5);EN=1;delay(5);EN=0;}/******************写命令*******************/voidwrite_com(ucharcom){P0=0xff;RS=0;RW=0;P0=com;delay(5);EN=1;delay(5);EN=0;}/*****************初始化函数*******************/voidInit_LCD1602(){EN=0;write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口write_com(0x0c);//设置开显示,不显示光标write_com(0x06);//写一个字符后地址指针加一wri