模拟量采集实验报告 公昊
- 格式:doc
- 大小:311.00 KB
- 文档页数:19
模拟信号取样仿真实验报告总结
模拟信号取样仿真实验是一项重要的电子信息工程实验,在该实验中我们掌握了数字信号处理基本理论和方法,同时也学习了数字信号处理软件工具的使用。
通过对该实验的学习,我们可以总结以下几点:
首先,我们了解了模拟信号和数字信号的基本差异,知道了为什么需要将模拟信号转化为数字信号进行处理。
同时,我们也学会了如何根据采样定理来选取合适的采样频率,以保证数据的准确性。
其次,我们在仿真实验中掌握了MATLAB数字信号处理工具箱的使用方法,包括使用MATLAB 进行信号采样、重构、滤波、频域分析等操作。
这些技能对于我们今后在工程领域实际应用中具有非常重要的意义。
最后,我们在实验中也学习了如何制作实验报告,包括实验过程、结果分析以及总结和评价等部分,这些都是科技实验必备的能力。
总之,通过本次模拟信号取样仿真实验的学习,我们掌握了数字信号处理的基本理论和方法,学会了使用MATLAB工具进行数字信号处理操作,提高了实验操作能力和实验报告撰写能力。
这些都对我们今后的科技研究和工程开发具有非常重要的意义。
自动化系统典型模拟量采集实验总结在高校中一直都是学习计算机网络和通讯课程的重要内容之一。
我们首先了解了电厂典型设备及信号传输方式。
接着在老师指导下用MSCommeTech 操作平台进行数据采集,然后与通讯服务器端连接,对通道特性参数进行分析。
在此过程中遇到了很多问题,但同时也积累了许多经验,从而使我受益匪浅,现将实验心得做以汇报:电力生产的各个环节都离不开信息技术,如何提升企业管理水平?加强人员培训;促进职工信息素质的整体提升等。
企业信息化建设具有显著成效。
经过调研分析,最终决定由华北电力大学继续教育学院主办“应用现代网络技术开展职工教育”培训班。
本期培训班邀请国家级精品课《网络组建与维护》授课专家王元国博士讲解应用现代网络技术开展职工教育方法、思路。
因此,我十分珍惜这次宝贵的学习机会。
在短暂的五天里,学到了很多东西。
可谓收获颇丰!这次采样,充分发挥了计算机网络通信知识来完成对控制系统模拟量采集。
所以我非常感谢我的计算机老师,他给予我们详细耐心地讲解了电气测试、变压器保护原理、 plc 技术等内容。
其中还涉及到了如何利用网络技术,如何构造简单的组态软件,如何在组态软件上添加 plc 等相关知识点。
因为在计算机的基础教学中,老师并没有详尽介绍相关网络技术知识,所以我们都是边听边记,再根据老师所说的去做。
这种实践能让我们真正掌握相关的概念和操作步骤。
对于那些模糊的概念或者是自己难以想象出来的操作步骤,就需要通过自己动手去摸索,最终达到熟练运用的目的。
另外,在老师的悉心指导下,我们每个人都完成了两份报告——《电气测试、变压器保护原理及 PLC 应用》和《组态软件及 plc 应用》。
虽然任务艰巨,但当看到自己的劳动成果时,心情无比激动。
尤其是当我们把第二份报告交给王老师审阅时,她毫不吝啬地表扬了我们,这让我们既兴奋又欣慰。
为了能够对工作站的硬件性能有更深刻、全面的认识,在课余时间我们进行了一项名叫“电力工业自动化系统典型模拟量采集”的实验。
宁波技师学院课程设计课题名称 S7-300PLC模拟量采集专业班级学生姓名学号指导教师宁波技师学院电气技术系二零零一二年五月模拟量是指变量在一定范围连续变化的量也就是在一定范围(定义域)内可以取任意值。
数字量是分立量不是连续变化量只能取几个分立值二进制数字变量只能取两个值变送器是把传感器的输出信号转变为可被控制器识别的信号的转换器。
至于有时候与传感器通用是因为现代的多数传感器的输出信号已经是通用的控制器可以接收的信号,此信号可以不经过变送器的转换直接为控制器所识别。
所以,传统意义上的“变送器”意义应该是:“把传感器的输出信号转换为可以被控制器或者测量仪表所接受标准信号的仪器”。
在自控中:信号源-->传感器-->变送器-->运算器控制器-->执行机构-->控制输出。
在时间上或数值上都是连续的物理量称为模拟量,一般模拟量输入输出分别用AI/AO表示。
模拟量指控制系统量的大小是一个在一定范围内变化的连续数值,比如温度,从0-100度,压力从0-10MPA,液位从1-5米,电动阀门的开度从0-100%,等等,这些量都是模拟量。
输出的量为模拟量即为“模拟量输出”。
最常用的地方是电子技术领域,比如DA转换输出的即为模拟电流/电压(连续变化的电流/电压),模拟整流电路输出的也是模拟量。
从数学角度,如果物理某在t时刻输出量a(t)呈a(t)=F(t)的连续函数关系,则输出量为模拟量。
这次试验压力的测试,水流的高度。
关键字:模拟量、压力、水流1引言 (1)2 总体设计 (2)3 模拟量输入 (3)2.1 模拟量输入模块 (3)2.2 模拟量输入模快的接线方式 (3)2.3量程卡的设置 (5)2.4输入模块设置 (6)4 软件设计 (8)4.1 AI系统 (8)4.1 AI程序 (10)致谢 (11)参考文献 (12)1引言模拟量输入/输出量程转换的概念是实际的工程量,如压力、温度、流量等要采用各种类型传感器进行测量。
任务要求1.4路模拟量输入,输入电压范围0~5V,分辨率8位,转换时间100us,具有显示(数码管)测量结果(用10进制显示直流电压值或交流电压峰值)的功能;2.1路模拟量输出,用来分别重现4路被采信号的波形(供示波器观测)摘要本数据采集系统是基于单片机AT89C51来完成的,4路的模拟电压通过通用的8位A/D 转换器ADC0809转换成数字信号后,由单片机进行数据处理,并将处理后的数据送LED显示器显示。
再经过常用的8位D/A转换器DAC0832将数字数据转换成模拟量,供示波器观测。
一、系统的方案选择和论证根据题目基本要求,可将其划为如下几个部分:●4路模拟信号A/D转换●单片机数据处理●LED显示测量结果●D/A转换模拟量输出系统框图如图1所示:图1 单片机数据采集系统框图1、4路模拟信号A/D转换由于被测电压范围为0~5V,分辨率为8位,转换时间为100us,所以A/D转换部分,本系统选择常用的8路8位逐次逼近式A/D转换器ADC0809。
ADC0809芯片有28条引脚,采用双列直插式封装。
下面说明各引脚功能。
IN0~IN7:8路模拟量输入端。
2-1~2-8:8位数字量输出端。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。
ALE:地址锁存允许信号,输入,高电平有效。
START:A/D转换启动信号,输入,高电平有效。
EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):基准电压。
Vcc:电源,单一+5V。
GND:地。
ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
沈阳工程学院课程设计单片机原理及应用课程设计题目:模拟量采样系别自动控制工程系班级电自101 学生姓名蒋德林学号 28 指导教师李贞王德君职称教授、副教授起止日期:12年06月25日起——至12年06月29日止沈阳工程学院课程设计任务书课程设计题目:模拟量采样系别自动控制工程系班级电自101 学生姓名蒋德林学号 28 指导教师李贞王德君职称教授、副教授课程设计进行地点:单片机实验室(F207)任务下达时间:2012 年06 月08日起止日期: 12年06月25日起——至12年06月29日止教研室主任王健 2012年 06月 07日批准一、设计目的通过课程设计使学生更进一步掌握单片机原理及应用课程的有关知识,提高应用单片机解决问题的能力,加深对单片机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用单片机解决问题的步骤及方法。
为以后学生结合专业从事单片机应用奠定基础。
二、设计的原始资料及依据8051单片机 ,C51单片机 ,51单片机 ,单片机实验与实践三、设计的主要内容及要求(1)用发光二极管显示采样结果,并随采样值变化.(2)再用一个发光二极管:当所有采样的模拟量大于3V时,发光管亮,否则灭.四、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
2.学生应撰写的内容为:目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.说明书(论文)手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、总结、参考文献。
五、设计完成后应提交成果的种类、数量、质量等方面的要求;提交课程设计说明书一份。
宁波技师学院课程设计课题名称 S7-300PLC模拟量采集专业班级学生姓名学号指导教师宁波技师学院电气技术系二零零一二年五月模拟量是指变量在一定范围连续变化的量也就是在一定范围(定义域)内可以取任意值。
数字量是分立量不是连续变化量只能取几个分立值二进制数字变量只能取两个值变送器是把传感器的输出信号转变为可被控制器识别的信号的转换器。
至于有时候与传感器通用是因为现代的多数传感器的输出信号已经是通用的控制器可以接收的信号,此信号可以不经过变送器的转换直接为控制器所识别。
所以,传统意义上的“变送器”意义应该是:“把传感器的输出信号转换为可以被控制器或者测量仪表所接受标准信号的仪器”。
在自控中:信号源-->传感器-->变送器-->运算器控制器-->执行机构-->控制输出。
在时间上或数值上都是连续的物理量称为模拟量,一般模拟量输入输出分别用AI/AO表示。
模拟量指控制系统量的大小是一个在一定范围内变化的连续数值,比如温度,从0-100度,压力从0-10MPA,液位从1-5米,电动阀门的开度从0-100%,等等,这些量都是模拟量。
输出的量为模拟量即为“模拟量输出”。
最常用的地方是电子技术领域,比如DA转换输出的即为模拟电流/电压(连续变化的电流/电压),模拟整流电路输出的也是模拟量。
从数学角度,如果物理某在t时刻输出量a(t)呈a(t)=F(t)的连续函数关系,则输出量为模拟量。
这次试验压力的测试,水流的高度。
关键字:模拟量、压力、水流1引言 (3)2 总体设计 (4)3 模拟量输入 (5)2.1 模拟量输入模块 (5)2.2 模拟量输入模快的接线方式 (5)2.3量程卡的设置 (7)2.4输入模块设置 (8)4 软件设计 (10)4.1AI系统 (10)4.1 AI程序 (12)致谢 (13)参考文献 (14)1引言模拟量输入/输出量程转换的概念是实际的工程量,如压力、温度、流量等要采用各种类型传感器进行测量。
实验5 模拟量采集及监控界面设计一.实验目的:1. 掌握模拟量模块的设置方法;2. 掌握模拟量的编程采集指令;3. 掌握触摸屏监控画面与模拟量的连接过程;4. 学会使用比较功能指令;5. 了解较复杂监控画面的设计方法。
二.实验设备:1.计算机及ME软件;2.PACsystems RX3i 演示实验箱中的模拟量输入模块IC694ALG600及模拟量输出模块IC694ALG704;3.电位器及电流表;4.触摸屏。
三.实验内容:1.对PACsystems RX3i 演示实验箱中的模拟量输入模块IC694ALG600及模拟量输出模块IC694ALG704进行配置;图1.模拟量输入模块IC694ALG600的配置图2.模拟量输出模块IC694ALG704的配置2.编程实现通过模拟量输入模块IC694ALG600的通道Channel3对电位器输入0-5V电压信号进行采集,每秒钟采集1次,采集信号放入存储单元%R00001中。
同时将信号输出到模拟量输出模块IC694ALG704的输出通道Channel1中,在电压/电流表中观察输出结果。
3.绘制如图所示的触摸屏监控界面并连接模拟量输入变量。
注意BITMAP的放置,TEXT的应用,Trend趋势图的设置,动画fill(填充)的应用。
图3.触摸屏监控画面设计4.完成储液罐液位上下限位报警控制系统的编程。
(1)控制要求:某储液罐液位报警系统,通过传感器检测液位高低向模拟量模块输入0V~5V 电压信号(用电位器替代),通过A/D转换器转换为相应数字量存放在%AI00005中。
试编程实现转换值超过80时,红灯闪亮报警( 2秒亮,2 秒灭);转换值低于80,高于20时绿灯正常输出;转换值低于20时,黄灯闪亮报警( 2秒亮,2 秒灭)。
(2)I/O分配表输入地址输出地址模拟量输入AI00005红灯Q00001绿灯Q00002黄灯Q00003模拟量输出通道AQ000295.下载程序,旋转电位器旋钮并观察触摸屏监控画面的输出。
模拟量采集的仿真设计报告姓名:公昊学号:201000111025同组者:马振玢实现功能设计一个模拟量采集系统,将所采集的直流电压模拟量显示在LED显示器上,并设置报警上限,当电压超过或等于3V时产生报警信号,并在显示器上闪烁显示电压量大小。
报警信号可以通过按键消除,再次按下时恢复报警。
设计分析该设计就是采集模拟量,通过A/D转换,经过数据处理,用LED 显示器显示数值。
所谓模拟量,可以是温度、光亮度、声音响度、压力等量度,但经感应器转换后,这些模拟量通通能装换成电子量度,如电阻。
所以,为了简单广泛起见,我们统一用电阻所分的电压大小来代表模拟量。
最终的输出量,也就是显示在LED显示器上的量,可以是电压,电流,电阻,功率等,这可以根据不同的计算和转化来调整。
我们采集多路模拟信号,通过扫描用数码管循环显示采集的信号值,并且显示这是第几个采集量。
程序设计设计的软件部分由Keil uVision软件编程和Protues软件模拟仿真。
软件编程我们用了比较熟悉的C语言。
以下介绍我们的编程:程序流程图启动0808进行模拟量采集 采集量转换成电压显示格式 判断是否报警(电压大于等于3V 时报警) 外部键盘产生中断,停止报警初始化中断T0while (1)采集四路信号 for (i=0;i<=3;i++) 选择采集通道IN0~IN3打开0808输出使能,P2口读入存入数组判断转换是否结束(EOC 标志)显示四路信号for (i=0;i<=3;i++)采集结束结束闪烁显示约1秒持续显示约1秒大于3V未结束#include<reg52.h>#include<intrins.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned int#define addo (5.0/255.0)uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//字符码uchar ad[4];uint i,j,flag,k;bit flag1;uint ge[4],shif[4],baif[4],qianf[4],ad1[4];sbit start=P3^6; //ADC0808工作触发sbit oe=P1^1; //ADC0808输出使能sbit eoc=P3^0; //ADC0808转换结束信号sbit adda=P1^5; //采集信号地址选择sbit addb=P1^6;sbit addc=P1^7;sbit ale=P1^4; //0808地址锁存sbit abc=P3^4; //字符码锁存器锁存控制端sbit led1=P3^5; //led片选码锁存器锁存控制端sbit oe1=P1^2; //led片选码锁存器使能sbit speak=P3^3; //蜂鸣器控制sbit oe2=P3^1; //字符码锁存器使能//延时1微秒程序void delay(int t1){unsigned int i;for(i=0;i<t1;i++){;}}//初始中断void initT0(){EA=1;EX0=1;IT0=1;flag1=1;flag=0;}//中断程序void temp() interrupt 0{speak=0;flag1=!flag1;}//信号采集程序void signalacq() //四路信号采集{oe1=1; //led显示器使能关闭oe2=1;for(i=0;i<=3;i++){ale=0;start=0; //ADC0808地址锁存关闭switch(i) //选择采集信号的地址{case 0:{adda=0;addb=0;addc=0;break;}case 1:{adda=1;addb=0;addc=0;break;}case 2:{adda=0;addb=1;addc=0;break;}case 3:{adda=1;addb=1;addc=0;break;}}ale=1;start=1; //ADC0808在START下降沿触发启动start=0;while(!eoc); //等待转换结束信号oe=1; //ADC0808允许输出ad[i]=P2; //保存采集的模拟量oe=0; //ADC0808允许输出关闭}}//采集信号量转换成显示数字void bd(){for(i=0;i<=3;i++){ad1[i]=(uint)(ad[i]*addo*10000); //将采集信号转化为电压值(乘以1000)ge[i]=(uint)(ad1[i]/10000); //个位和小数点shif[i]=(uint)(ad1[i]/1000%10); //十分位baif[i]=(uint)(ad1[i]/100%10); //百分位qianf[i]=(uint)(ad1[i]/10%10); //千分位}}//报警程序,flag为报警标志,为1时报警void warning(){flag=0;for(i=0;i<=3;i++) //判断是否报警{if(ge[i]>=3)flag=1;}if(flag==0)speak=0;else if(flag1==1)speak=1;}//显示程序void disp1(int k){abc=0;oe1=0; //oe低电平有效led1=1; //led显示器锁存透明P0=0x01; //送入片选码led1=0;oe2=0; //led显示器锁存片选码abc=1; //字符码锁存器透明P0=(table[ge[k]])-128; //显示个位和小数点abc=0; //字符码锁存delay(30);oe2=1;//以下程序内容类似led1=1;P0=0x02;led1=0;oe2=0;abc=1;P0=table[(uint)(shif[k])]; //显示十分位abc=0; delay(30);oe2=1;led1=1;P0=0x04;led1=0;oe2=0;abc=1;P0=table[(uint)(baif[k])]; //显示百分位abc=0; delay(30);oe2=1;led1=1;P0=0x08;led1=0;oe2=0;abc=1;P0=table[(uint)(qianf[k])]; //显示千分位abc=0; delay(30);oe2=1;led1=1;P0=0x20;led1=0;oe2=0;abc=1;P0=table[k]; //显示第几路abc=0; delay(30);oe2=1;oe1=1;}void main() //主程序{initT0();while(1){signalacq(); //信号采集bd(); //采集信号量转换成显示数字warning(); //电压高于或等于3V时产生报警for(i=0;i<=3;i++){ for(k=0;k<=5;k++){for(j=0;j<=50;j++) //重复显示以实现滞留disp1(i);if(ge[i]>=3){oe2=1;delay(10000);k=k+1;oe2=0;}}}}}程序介绍:我们的程序主要包括端口定义、延时、中断、信号采集、采集信号转换、报警、显示等模块组成。
电气与自动化工程学院PLC控制技术理论与实践课程研究型学习技术报告项目名称:基于PLC-300的模拟量采集与处理学生姓名:学号:项目序号:实验七专业:提交时间:指导老师:目录一、项目概述................................................. 错误!未定义书签。
项目任务................................................. 错误!未定义书签。
总体方案................................................. 错误!未定义书签。
工作流程图............................................... 错误!未定义书签。
项目分组................................................. 错误!未定义书签。
二、硬件设计................................................. 错误!未定义书签。
输入输出点数分析......................................... 错误!未定义书签。
输入点数:........................................... 错误!未定义书签。
输出点数:........................................... 错误!未定义书签。
I/O地址分配............................................. 错误!未定义书签。
外部硬件接线图........................................... 错误!未定义书签。
硬件组态................................................. 错误!未定义书签。
电气控制综合实验报告模拟量模块的使用及信号的采集与处理院(系、部):姓名:学号:班级:专业:指导教师:2011年1月10日北京一、实验目的1、熟悉S7-300模拟量模块的软硬件正确使用方法(硬件安装接线及软件的设置)。
2、掌握模拟量数据输入输出模块转换原理、输入输出编程方法及调试环境STEP7的使用。
3、熟悉可编程序控制器的工作原理、主要参数、硬件结构、模块特性、安装配置及指令系统、程序设计、调试方法。
实验内容涉及常用低压电器、电气控制线路;可编程序控制器的配置及硬件组态、外部连接;编程与调试环境STEP7的使用;项目的创建、软件规划、程序编辑及综合调试。
二、实验要求1、熟悉实验所需的设备、模块及元器件,编程所需的软件环境和硬件条件。
2、熟悉测量所需的信号源、仪表。
3、用尽可能直观的方式检验实验结果是否正确。
4、了解测量系统的速度和精度。
三、实验原理通过模拟量输入模块采集模拟量(标准的电压信号),由模拟量输出模块输出电压。
四、实验设备西门子S7-300PLC、装有STEP7 计算机、万用表及实验电源。
五、实验步骤1、连线具体连线如图1、图2图1图2原理连线图如图3图31、硬件组态总体硬件组态如图4图4 总体硬件组态硬件参数设置如图5图5 硬件参数设置2、模拟量输入/输出模块选中槽号7,插入通用模拟量输入/输出模块AI4/AO2(6ES7 334-0KE00-0AB0),该模块有4输入通道、2输出通道,精度为12bit+符号,测量方法:电压、电阻、温度,测量范围(0~10V、10KΩ、Pt 100),输出范围(0~10V)。
3、模块参数设置3.1、General(常规):Short(模拟量大概介绍)、Order No(产品订单号)、Name(产品名称)。
参数设置如图6图6 General参数设置3.2、Addresses(输入/输出通道地址):System Default(系统缺省)、Process image(过载映像)。
课程设计模拟量采集一、课程目标知识目标:1. 理解模拟量采集的基本概念,掌握模拟量传感器的工作原理;2. 学会使用常见的模拟量传感器进行数据采集,并能进行简单的数据转换和处理;3. 掌握模拟量采集在现实生活中的应用,了解其在不同行业的重要性和价值。
技能目标:1. 能够正确连接和使用模拟量传感器进行数据采集;2. 掌握使用编程软件对模拟量数据进行读取、转换和处理的方法;3. 能够运用所学的模拟量采集知识解决实际问题,进行简单的项目设计和实施。
情感态度价值观目标:1. 培养学生对模拟量采集技术的兴趣,激发其探索精神和创新意识;2. 增强学生对团队合作和问题解决的重视,培养其良好的沟通能力和协作精神;3. 提高学生对科技与生活的紧密联系的认识,使其能够关注社会问题,具备社会责任感。
分析课程性质、学生特点和教学要求:本课程为信息技术课程,适用于高年级学生。
学生已具备一定的电子技术基础和编程能力。
课程旨在通过模拟量采集的学习,提升学生的实践操作能力和创新能力。
教学要求注重理论与实践相结合,强调学生的动手实践和问题解决能力。
二、教学内容1. 模拟量采集基本概念:介绍模拟量、模拟信号、模拟量传感器等基本概念,结合教材第二章第一节内容,让学生理解模拟量采集的基础知识。
2. 模拟量传感器工作原理:讲解温度传感器、光强传感器、声音传感器等常见模拟量传感器的工作原理,结合教材第二章第二节内容,让学生掌握传感器的工作机制。
3. 模拟量数据采集与转换:学习使用Arduino等开发板读取模拟量传感器数据,并进行数据转换和处理。
参考教材第二章第三节,让学生学会编程实现模拟量数据的读取和处理。
4. 模拟量采集应用实例:分析模拟量采集在智能家居、环境监测、物联网等领域的应用,结合教材第二章第四节,让学生了解模拟量采集技术的实际应用。
5. 项目实践:设计一个简单的模拟量采集项目,如温度监测系统,要求学生分组合作,运用所学知识完成项目设计和实施,提升实践操作能力。
ADC0809模拟量采集一.实验目的(1)了解将模拟量转换成数字量的基本原理。
(2)学会利用ADC0809芯片进行摸/数转换的编程方法。
二.实验内容将电位器产生的模拟电压信号转换成数字信号,转换结果送入主机内存中,并在屏幕上显示。
取256个采样点。
三.线路连接ADC0809有8个模拟输入端IN7~IN0,输入模拟量电压范围为0V ~+5V ,旋转电位器SW1产生不同的模拟电压,作为模拟输入量。
实验电路中只开通了IN0一路模拟量输入,其它输入端未使用。
ADC0809的D7~D0引脚与主机数据总线相连接。
ADC0809的START 端为A/D 转换启动信号,ALE 端为通道地址的锁存信号。
线路中将START 端与ALE 端连接,以便锁存通道地址,同时启动A/D 采样并进行转换。
ADC0809的CLOCK 端的时钟频率范围为10~1280KHz ,本实验中采用1MHz 。
ADC0809的结束信号EOC 用来产生中断请求信号,请求CPU 读入转换后的结果。
实验接线如图4.9所示。
四.编程提示(1)发出启动A/D 转换信号由于START 与ALE 相连,所以在通道地址锁存的同时,发出A/D 转换信号。
通道IN0地址为PCI 外扩设备基地址+外扩设备译码器输出地址。
(2)将转换结果读入内存当A/D 转换结束后,CPU 从ADC0809输出端接收数据。
五.流程图程序流程如图4.10所示。
图4.9 ADC0809模/数转换实验线路图18 19 20 21D 3 D 4 D 5 D 6 D 72-5 2-4 2-3 2-22-1(MSB)&六.参考程序DA TA SEGMENT;数据段 IOPORT EQU 0D880H-280H;端口基地址 IO0809A EQU IOPORT+298H;0809通道0地址CRT DB 'SPIN “SW1”SWITCH ,VIEW ON THE DISPLA Y ',0DH ,0AHDB 'ENTER ANY KEY CAN EXIT TO DOS ',0DH ,0AH , '$' ;提示信息DA TA ENDS CODE SEGMENT;代码段ASSUME CS :CODE ,DS :DA T AST ART : MOVAX ,DA T A;初始化,取段基址MOV DS ,AXMOV DX ,OFFSET CRT ;AX←CRT 段基址 MOV AH ,09H;DOS 9号调用,显示提示信息INT21HLAB : MOV DX ,IO0809A ;DX ←IN 0端口地址 OUT DX ,AL ;启动A/D 转换 MOV CX ,0FFFFH ;CX=FFFFH DELA Y : LOOPDELA Y ;调延时子程序 IN AL ,DX;AL ←IN 0端口数据MOV BL ,AL ;BL ←AL ,暂存IN 0端口数据 MOV CL ,4 ;CL=4SHR AL ,CL ;AL 内容右移4位, CALL DISP ;调显示子程序,显示高四位 MOV AL ,BL ;AL ←BL ,IN 0端口数据 AND AL ,0FH;“与”操作,屏蔽高4位CALLDISP;调显示子程序,显示低四位MOV AH,02 ;DOS 2号调用MOV DL,20H ;DL=20H,“空格”的ASCII码INT 21H ;显示空格INT 21H ;显示空格PUSH DX ;DX进栈保护MOV AH,06H ;DOS 6号调用,有键按下退出MOV DL,0FFH ;DL=FFHINT 21H ;执行键盘输入操作POP DX ;DX出栈JE LAB ;ZF=1,没有键按下,转到标号LAB继续从IN0端口输入数据MOV AX,4C00H ;返回DOSINT 21HDISP PROC NEAR ;显示字符子程序MOV DL,AL ;DL←ALCMP DL,9 ;DL内容与9比较JLE DDD ;D L≤9,转到标号DDDADD DL,7 ;D L>9,DL←DL+7DDD:ADD DL,30H ;DL←DL+30H,转换成ASCII码MOV AH,02 ;DOS 2号调用INT 21H ;显示字符RETDISP ENDPCODE ENDSEND ST ART ;结束七.编译过程DAC0832控制直流电机转速一.实验目的(1)学习并掌握DAC0832的性能及编程方法。
电气与信息工程学院现代检测技术实验设计报告实验名称:AD采集卡采集模拟信号设计学生姓名:x x x学号:11105030520同组人:x x x x指导老师:李鸿2012年1月一、实验目的:通过设计实验,撑握传感器、AD采集卡的使用,学会用一门语言编写控制软件。
二、实验时间:12月11日-12月25日三、实验内容和要求:运用AD采集卡实现传感器模拟信号的采集,要求设计软件处理并显示采集结果。
四、实验步骤1、选取电涡流传感器测量工件的位移量,将所得信号做为AD采集卡输入量。
2、选取AD采集卡采集通道口,并焊接好相应输入端导线。
3、编写应用软件处理显示采集的数据。
五、实验设备介绍1、PCI8735采集卡1)原理说明:PCI873卡采用PCI 接口芯片及门阵列作为主控芯片。
门阵列控制模拟输入、采样、模拟输出及开关量,脉冲计数。
模拟量(输入0-63)经电子开关及缓冲放大器进入A/D,模拟转换由门阵列提供控制信号、同时转换结果存放在门阵列中。
输入范围由SW:二位DIP开关选择输入为:5V、10V 、±5V。
AD的前32路输入由DB37插座P1输入。
AD的后32路由P3:34芯IDC 头输入。
32路开关量(DIO)的16路输入(DI0-DI15)、输出(DO0-DO15)也由门阵列控制。
输出上电或复位后为“高阻”状态(输出为三态)。
DI/O、脉冲计数由P2:40芯扁平电缆插座输入、输出。
二路D/A 输出通道“0”、“1”,输出由DB37插座P1输出。
图1 PCI8735数据采集卡2)主要性能特性◆转换器类型:AD7321◆输入量程(InputRange):±10V、±5V、±2.5V、0~10V◆转换精度:13 位(Bit),第13 位为符号位◆采样速率:最高系统通过率500KHz,不提供精确的硬件分频功能说明:各通道实际采样速率= 采样速率/ 采样通道数◆模拟输入通道总数:32 路单端,16 路双端◆采样通道数:软件可选择,通过设置首通道(FirstChannel)和末通道(LastChannel)来实现的说明:采样通道数= LastChannel – FirstChannel + 1◆通道切换方式:首末通道顺序切换◆AD 转换时间:<1.6us◆程控放大器类型:默认为AD8251,兼容AD8250、AD8253◆程控增益:1、2、4、8 倍(AD8251)或1、2、5、10 倍(AD8250)或1、10、100、1000 倍(AD8253)◆模拟输入阻抗:10MΩ◆非线性误差:±1LSB◆系统测量精度:0.1%◆工作温度范围:-40 ~+85℃3)使用方法一、AD单端输入连接方式单端方式是指使用单个通道实现某个信号的输入,同时多个信号的参考地共用一个接地点。
模拟量采集的仿真设计报告姓名:公昊学号:201000111025同组者:马振玢实现功能设计一个模拟量采集系统,将所采集的直流电压模拟量显示在LED显示器上,并设置报警上限,当电压超过或等于3V时产生报警信号,并在显示器上闪烁显示电压量大小。
报警信号可以通过按键消除,再次按下时恢复报警。
设计分析该设计就是采集模拟量,通过A/D转换,经过数据处理,用LED 显示器显示数值。
所谓模拟量,可以是温度、光亮度、声音响度、压力等量度,但经感应器转换后,这些模拟量通通能装换成电子量度,如电阻。
所以,为了简单广泛起见,我们统一用电阻所分的电压大小来代表模拟量。
最终的输出量,也就是显示在LED显示器上的量,可以是电压,电流,电阻,功率等,这可以根据不同的计算和转化来调整。
我们采集多路模拟信号,通过扫描用数码管循环显示采集的信号值,并且显示这是第几个采集量。
程序设计设计的软件部分由Keil uVision软件编程和Protues软件模拟仿真。
软件编程我们用了比较熟悉的C语言。
以下介绍我们的编程:程序流程图启动0808进行模拟量采集 采集量转换成电压显示格式 判断是否报警(电压大于等于3V 时报警) 外部键盘产生中断,停止报警初始化中断T0while (1)采集四路信号 for (i=0;i<=3;i++) 选择采集通道IN0~IN3打开0808输出使能,P2口读入存入数组判断转换是否结束(EOC 标志)显示四路信号for (i=0;i<=3;i++)采集结束结束闪烁显示约1秒持续显示约1秒大于3V未结束#include<reg52.h>#include<intrins.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned int#define addo (5.0/255.0)uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//字符码uchar ad[4];uint i,j,flag,k;bit flag1;uint ge[4],shif[4],baif[4],qianf[4],ad1[4];sbit start=P3^6; //ADC0808工作触发sbit oe=P1^1; //ADC0808输出使能sbit eoc=P3^0; //ADC0808转换结束信号sbit adda=P1^5; //采集信号地址选择sbit addb=P1^6;sbit addc=P1^7;sbit ale=P1^4; //0808地址锁存sbit abc=P3^4; //字符码锁存器锁存控制端sbit led1=P3^5; //led片选码锁存器锁存控制端sbit oe1=P1^2; //led片选码锁存器使能sbit speak=P3^3; //蜂鸣器控制sbit oe2=P3^1; //字符码锁存器使能//延时1微秒程序void delay(int t1){unsigned int i;for(i=0;i<t1;i++){;}}//初始中断void initT0(){EA=1;EX0=1;IT0=1;flag1=1;flag=0;}//中断程序void temp() interrupt 0{speak=0;flag1=!flag1;}//信号采集程序void signalacq() //四路信号采集{oe1=1; //led显示器使能关闭oe2=1;for(i=0;i<=3;i++){ale=0;start=0; //ADC0808地址锁存关闭switch(i) //选择采集信号的地址{case 0:{adda=0;addb=0;addc=0;break;}case 1:{adda=1;addb=0;addc=0;break;}case 2:{adda=0;addb=1;addc=0;break;}case 3:{adda=1;addb=1;addc=0;break;}}ale=1;start=1; //ADC0808在START下降沿触发启动start=0;while(!eoc); //等待转换结束信号oe=1; //ADC0808允许输出ad[i]=P2; //保存采集的模拟量oe=0; //ADC0808允许输出关闭}}//采集信号量转换成显示数字void bd(){for(i=0;i<=3;i++){ad1[i]=(uint)(ad[i]*addo*10000); //将采集信号转化为电压值(乘以1000)ge[i]=(uint)(ad1[i]/10000); //个位和小数点shif[i]=(uint)(ad1[i]/1000%10); //十分位baif[i]=(uint)(ad1[i]/100%10); //百分位qianf[i]=(uint)(ad1[i]/10%10); //千分位}}//报警程序,flag为报警标志,为1时报警void warning(){flag=0;for(i=0;i<=3;i++) //判断是否报警{if(ge[i]>=3)flag=1;}if(flag==0)speak=0;else if(flag1==1)speak=1;}//显示程序void disp1(int k){abc=0;oe1=0; //oe低电平有效led1=1; //led显示器锁存透明P0=0x01; //送入片选码led1=0;oe2=0; //led显示器锁存片选码abc=1; //字符码锁存器透明P0=(table[ge[k]])-128; //显示个位和小数点abc=0; //字符码锁存delay(30);oe2=1;//以下程序内容类似led1=1;P0=0x02;led1=0;oe2=0;abc=1;P0=table[(uint)(shif[k])]; //显示十分位abc=0; delay(30);oe2=1;led1=1;P0=0x04;led1=0;oe2=0;abc=1;P0=table[(uint)(baif[k])]; //显示百分位abc=0; delay(30);oe2=1;led1=1;P0=0x08;led1=0;oe2=0;abc=1;P0=table[(uint)(qianf[k])]; //显示千分位abc=0; delay(30);oe2=1;led1=1;P0=0x20;led1=0;oe2=0;abc=1;P0=table[k]; //显示第几路abc=0; delay(30);oe2=1;oe1=1;}void main() //主程序{initT0();while(1){signalacq(); //信号采集bd(); //采集信号量转换成显示数字warning(); //电压高于或等于3V时产生报警for(i=0;i<=3;i++){ for(k=0;k<=5;k++){for(j=0;j<=50;j++) //重复显示以实现滞留disp1(i);if(ge[i]>=3){oe2=1;delay(10000);k=k+1;oe2=0;}}}}}程序介绍:我们的程序主要包括端口定义、延时、中断、信号采集、采集信号转换、报警、显示等模块组成。
端口定义模块注释比较清楚不再赘述,中断初始化、延时和中断程序比较简单,这里详细介绍一下信号采集和转换、报警以及显示模块。
为实现信号采集,我们先将锁存器的输出使能关闭,使之停止输出,然后进入循环采集,使输出使能关闭。
直至等到采集结束才允许输出,并把数据通过P2口赋到ad[i]数组中,用以信号数据转化。
ADC0808芯片工作参考电压我们选择的是+5V。
我们能采集的数据是0到255的数,每一单位代表5.0/255.0V。
要转化成电压值需要计算,乘以ad[i]就得到电压值。
我们要用显示器循环显示采集信号,则需要将信号转化为显示数据,所以我们先得到数据的每一位的值。
计算个位、十分位、百分位和千分位,为显示做准备。
显示时我们需要循环显示4路信号,并且扫描显示。
这样我们就进入循环,先允许锁存器输出的信号进入。
先送片选后送段选,显示个位和小数点,然后锁存一次。
再允许进入,送片选和段选,显示十分位,再锁存,如此循环显示百分位、千分位和第几路。
报警程序也比较简单,flag1为报警总开关。
初始化中断时,也将flag1置一。
通过判断那一路信号电压高于或等于3V将报警次开关flag置一,使之产生报警信号。
当要使报警关闭报警关闭,按下按键产生中断执行中断程序,将flag1取反,并使报警关闭,再次按下按键时,报警状态再次打开。
以上是我们的几个程序模块,主程序是这样运行的:先初始化中断,然后进入无限循环,采集信号,信号数据转换,判断是否报警,在进入显示循环扫描显示4路信号。
其中判断哪一路信号大于或等于3V并使这一路电压量显示闪烁。
然后循环显示。
这就是我们程序的大体介绍。
仿真设计该设计主要由以下几个部分组成:A/D转换(ADC0808)、单片机89C52、锁存器74HC573和数码管显示器。
我们的设计思路是先利用ADC0808转换,将四路模拟信号通过单片机的P2口存入,在单片机中经过程序计算,得到显示所用的电压数据量。
电压量由P0输出显示信号输入到两个锁存器中。
两个锁存器分别锁存位码和段码。
经过锁存和扫描输出,在显示器上显示出电压值和第几路信号。
同时在单片机上接入报警装置,当电阻增大到一定值时,自动报警,按下停止报警开关,报警停止。
下面详细介绍一下电路的各个部分:A/D转换(ADC0808)将滑动变阻器的电压信号输入到IN0~IN3口,数字信号从OUT 口输出,用ADDA、ADDB、ADDC控制采集那路信号。
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
START端口在输出下降沿脉冲时,ADC0808触发开始进行AD转换,当转换完成时EOC变成高电平,检测EOC变高后拉高OE,使转换后的8位二进制数从P2口读入储存。
将存储的8位二进制数进行转化得到实际电压量的个位,十分位,百分位,千分位。
A/D转换(ADC0808)ADC0808的OUT口输出的数字信号,输入到单片机89C52的P2口,通过把P2口得到的数据进行计算后得到需要显示的电压量。
处理后的数据信号通过P0口显示在数码管上。
单片机89C5274HC573介绍:OE为使能端。
LE为锁存控制端:当LE为高时,这些器件的锁存对于数据是透明的。