智能仪器大作业.docx
- 文档编号:5054191
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:23
- 大小:607.22KB
智能仪器大作业.docx
《智能仪器大作业.docx》由会员分享,可在线阅读,更多相关《智能仪器大作业.docx(23页珍藏版)》请在冰点文库上搜索。
智能仪器大作业
课程名称:
数据采集与智能仪器
姓名:
学号:
班级:
《数据采集与智能仪器》课程考核(大作业)
武汉理工大学信息学院
参考书赵茂泰《智能仪器原理及应用》(第三版)电子工业出版社
程德福《智能仪器》(第二版)机械工业出版社
第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.程序
#include"reg51.h"
#include"intrins.h"
#defineucharunsignedchar
#defineuintunsignedint
sbitcs=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;i for(j=0;j<110;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] 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.程序 #include #defineucharunsignedchar #defineuintunsignedint ucharcodetable[]="XXGCXY"; sbitRS=P2^0; sbitRW=P2^1; sbitEN=P2^2; ucharnum; /****************延时函数*****************/ voiddelay(uintz) { uintx,y; for(x=z;x>0;x--) for(y=110;y>0;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);//写一个字符后地址指针加一 write_com(0x01);//显示清0,数据指针清0 } /*******************主函数*******************/ voidmain() { Init_LCD1602(); while (1) { write_com(0x80); for(num=0;num<6;num++) { write_data(table[num]); delay(5); } delay(200); write_com(0x01); write_com(0xc0); for(num=0;num<6;num++) { write_data(table[num]); delay(5); } delay(200); write_com(0x01); } } 5.结果 第4章数据通信 考试题(30分) 1.设计PC机与MCS-51单片机的RS232C数据通信接口电路(单片机端含8位LED显示),编写从PC机键盘输入数字,在单片机的6位LED上左右滚动显示的通信与显示程序。 评分标准: 正确设计硬件电路图(5分);正确画出程序流程图(5分);正确编写单片机通信程序(5分);在开发系统上运行,实现基本功能(10分);制作实物,实现基本功能,效果良好(5分)。 1.通信接口电路 2.流程图 3.程序 (1)下位机51单片机程序 /****************************************************************************** *名称: RS232串口接收程序 *连接方法: 使用串口调试助手(Baud4800、数据位8、停止位1、效验位无) 上位机通过串口给单片机发送信息并显示。 *功能: 电脑给单片机发送数据 ******************************************************************************/ #include #include #defineucharunsignedchar #defineuintunsignedint #defineSEG_NP2 #defineSEG_DP0 uchara; ucharcodetable[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; /***************************************************************************** *延时子程序 ******************************************************************************/ voiddelay(ucharms) { uchari; while(ms--)//共循环ms*120次 { for(i=0;i<120;i++); } } /***************************************************************************** *主程序 ******************************************************************************/ main() { ucharj; SCON=0x50;//REN=1允许串行接受状态,串口工作模式2 TMOD|=0x20;//定时器工作方式2 PCON|=0x80;//波特率提高一倍 //TH1=0xFD;//baud*2/*reloadvalue19200、数据位8、停止位1。 效验位无(11.0592) TH1=0xF3;////baud*2/*波特率4800、数据位8、停止位1。 效验位无(12M) TL1=0xF3; TR1=1;//开启定时器1 ES=1;//开串口中断 EA=1;//开总中断 //IE=0x0; P1=0xff; while (1) { if(RI)//RI接受中断标志 { RI=0;//清除RI接受中断标志 a=SBUF;//SUBF接受/发送缓冲器 } for(j=0;j<8;j++) { SEG_N=0x80; SEG_N=SEG_N>>j; P0=table[a&0x0f];//接收0-9 delay(200); } } } 3实验结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器 作业