采集AD值显示波形图案例原理与测试说明
AD数据采集及显示 (2)
![AD数据采集及显示 (2)](https://img.taocdn.com/s3/m/763e3408eff9aef8941e0612.png)
湖南科技大学信息与电气工程学院《微机原理与接口技术》课程设计报告题目:AD数据采集及显示专业:班级:姓名:学号:指导老师:目录1.设计目的及意义 (1)1.1设计目的 (1)1.2设计意义 (1)2.设计要求及方案论证 (1)2.1设计要求 (1)2.2方案论证 (1)3.硬件设计 (2)3.1端口地址译码电路 (2)3.2 A/D模数转换电路 (3)3.3数码管显示电路 (5)4.软件设计 (5)5.心得体会 (7)附录: (8)1.设计目的及意义1.1设计目的(1)掌握计算机应用系统特别是微机接口系统的设计;(2)掌握接口电路设计,初步掌握电子设计软件Altium designer使用;(3)掌握微机接口程序的编写与调试技术;(4)学会ADC0809八位模数转换芯片的使用方法;(5)利用所学微机的理论知识进行软硬件整体设计,提高综合应用能力。
1.2设计意义A/D数据采集及其显示作为一种常用的模数转换显示器,是现代测试控制领域中应用非常广泛的通用仪器之一。
计算机只能对数字信号进行处理,处理的结果还是数字量,然而计算机在用于生产过程自动控制时,其所要处理的变量往往是连续变化的模拟量,如温度、压力、速度等都是模拟量,这些非电的模拟量经过传感器变成电压或电流等电的模拟量,然后将电的模拟量经过数模转换器转换成数字量,才能送入计算机进行处理。
本课程设计目的是将电压模拟量经ADC0809模数转换器转换成数字量后用数码管显示其数值。
2.设计要求及方案论证2.1设计要求本设计为设计一个AD数据采集及显示接口电路,通过电位计改变电压大小,电压满程为5V,将电压送至ADC0809模数转换芯片,ADC0809是八位逐次逼近式模数转换器,选择通道0输入,8255并行输入输出接口芯片PA口输出,选择方式“0”。
转换后的八位二进制数字量经过74LS273锁存器送至七段数码管显示数值。
2.2方案论证方案一:逐次逼近式A/D转换器。
《微机控制技术》AD采集技术实验
![《微机控制技术》AD采集技术实验](https://img.taocdn.com/s3/m/090bcc3077c66137ee06eff9aef8941ea66e4b66.png)
实验一AD采集技术一、实验目的1.进一步熟悉A/D 变换原理和编程方法。
2.了键盘扫描和LED 显示原理和编程方法。
二、实验原理与系统组成单片机温度控制系统由硬件结构和软件设计两部份组成。
(一)硬件系统组成1、下图是一个较常用的温度测量电路,大致分成电源,电阻电桥,运放,输出四部分。
电源由R4、R6、C1、U1B 组成,R4、R6 为分压电路,C1 主要滤除VCC 中纹波,U1B 为LM324 运算放大器,工作于电压跟随器方式,其特点是具有高输入阻抗低输出阻抗,为后级电桥提供较稳定的电流。
电桥由R1、R2、R3、R13 及热敏电阻组成,通过调节R13 使电桥平衡,当温度发生变化时,热敏电阻阻变化,电桥产生电压差。
运放电路由R7、R8、R9、R10 及U1A 组成,这是一种灵敏度较高的电桥放大电路,放大倍数由R9/R8 得到。
输出电路由R4、R12、R14、D1 组成,调节R14 可以调整输出电压幅度。
D1 主要用于防止输出负电压,保护后级A/D 电路。
图4-1 温度检测电路2、利用实验仪上显示电路,键盘电路,A/D 变换电路,完成类似空调恒温控制实验,可以利用实验仪上的电位器模仿温度变化,加热和致冷电机可以用发光管代替。
要求可以用键盘设定恒温温度,当外界温度超过设定温度+/-2℃时,就要启动加热或致冷电机。
如图4-2所示。
图4-2 实验原理图3、温度设定与显示电路 由4×4键盘进行温度设定,4位数码管显示设定温度及被测温度。
键盘显示电路参考实验一。
4、可以利用实验仪上的电位器模仿温度变化,加热和致冷电机可以用发光管代替。
(二)系统软件功能模块1、主程序模块AD 初始化2、温度设置模块进行键盘扫描和键码识别,判断分析设定值,保存以用于显示及温度比较。
3、温度测试模块处理A/D 转换的数据,进行标度转换。
标度转换的目的是把实际采样的数据转换成二进制的温度值,以便与设定值进行比较。
标度转换公式为:A X = A 0 + ( A M - A 0) - 0-M 0X N N N -N A M 式中:A X 为实际测量值;A 0 为测量仪表的下限;A M 为测量仪表的上限;N X 为测量所得数字量;N 0为仪表下限对应的数字量。
采集AD值显示波形图案例原理与测试说明
![采集AD值显示波形图案例原理与测试说明](https://img.taocdn.com/s3/m/fe38c5056c175f0e7cd137cc.png)
“采集AD值显示波形图”案例原理与测试说明1 程序设计目标及程序运行效果说明程序设计目标:该程序是分时的采集四种AD值,并利用定时器以上位机要求的不同速率定时发送AD值,上位机把上传的四种AD值分别显示成波形。
程序运行效果说明:采集的四种AD值显示在上位机上,通过改变温度和光照强度可以看出波形的变化。
2 程序相关电路及工作原理说明2.1工作原理下位机工作原理:主函数中分时初始化四种AD,AD中断根据不同的标志位获取相应的AD值,我们用定时器T0计时,T0中断根据上位机要求的速率通过串口发送四个AD值。
串口通信采用协议来完成,发送过程包含:包头(A5),中间数据(P1.0AD值,P1.1AD值,温度AD值,光AD值,四种10位AD值中剩余两位的和),校验和(前面六个字节的和,进位丢弃),共七个字节,如:A5 01 02 71 03 60 7C ;接收过程包含:包头(5A),中间数据(上位机修改下位机传输速率),校验和(前面两个字节的和,进位丢弃),如:5A 04 5E 。
串口中断接收上位机发送过来的用于调节下位机发送速率的包,并用校验和检查收到的包是否正确,如果正确则在定时器T0中断中修改发送数据的频率,否则丢弃该包。
上位机工作原理:接收下位机发送的包,并通过校验和检查收到的包是否正确,如果正确则把收到的四个字节的AD 值分别显示成四种波形图,分别对应P1.0口电压值,P1.1口电压值,温度值,光照值。
上位机还可以调节下位机发送数据的频率,分别为低速,中速和高速,可以从波形图中很清楚的观察到速率的变化。
每一副波形图都有提取波形数据,保存波形图等功能。
2.2 程序总框图设计流程如下否是否初始化串口 串口中断,收到上位机发送的数据初始化定时器T0 T0中断,按照上位机的要求速率通过串口定时发送AD 数据包给上位机 上位机显示下位机发送四种AD 值的波形图 是否通过校验 丢弃该包 上位机发送要求的速率给下位机 是否通过校验 丢弃该包 主函数分时初始化AD AD 中断,获取四种AD 值2.3 上位机图形界面3 测试方法(1)将Hex文件下载到实验板;(2)打开“工程文件”文件夹,打开“上位机”文件夹,并启动程序Ware.exe;(3)采集波形软件自动连接实验板;(4)出现波形并正常显示即为成功。
ADC数据采集显示实验
![ADC数据采集显示实验](https://img.taocdn.com/s3/m/f6072f2c0066f5335a8121e6.png)
实验目的:1、掌握ADC的工作原理和操作过程2、掌握ADC的接口方法3、了解数据处理的实现方法主要实验仪器:硬件:个人电脑一台软件:ICCA VR软件、protuse仿真软件实验原理及主要工作:1、实验原理将连续变化的模拟信号转换为数字信号,显示在1602液晶显示上。
2、主要工作(1)使用ICCA VR软件编写C程序并编译(2)使用protuse仿真,找到相应的软件符号并连接线路(3)仿真结果请按以下几个部分完成实验报告。
一、实验步骤二、实验原理图(proteus)三、程序流程图四、C程序代码全部五、调试结果截图六、实验总结及心得体会七、附件(原理图及程序压缩包)二、实验原理图三、实验流程图四、C程序代码#include <iom16v.h>#include <macros.h>#include <math.h>#define uchar unsigned char#define uint unsigned int#define RS_CLR PORTB&=~BIT(2)#define RS_SET PORTB|=BIT(2)#define RW_CLR PORTB&=~BIT(1)#define RW_SET PORTB|=BIT(1)#define E_CLR PORTB&=~BIT(0)#define E_SET PORTB|=BIT(0)const uchar disp[]={"ADC TXT "}; uint value=0;void delay_ms (t){uchar x,y;for(;t>0;t--){for(x=0;x<114;x++) for(y=0;y<1;y++);}}void WR_DAT(uchar dat) {E_CLR;RS_SET;RW_CLR;PORTC=dat;E_SET;delay_ms(5);E_CLR;}void WR_COM(uchar dat) {E_CLR;RS_CLR;RW_CLR;PORTC=dat;E_SET;delay_ms(5);E_CLR;}void init_1602(void){DDRB=0XFF;DDRC=0XFF;delay_ms(20);WR_COM(0X38);delay_ms(5);WR_COM(0X38);delay_ms(5);WR_COM(0X38);delay_ms(5);WR_COM(0X08);WR_COM(0X0C);WR_COM(0X01);delay_ms(10);WR_COM(0X06);WR_COM(0X85);}void ADC_init(void){DDRA=0X00;PORTA=0X00;ADMUX=0X00;ADCSRA=0XE7;SFIOR=0X00;}void main(void){uchar i,ADC_L,ADC_H;DDRA=0X00;DDRB=0XFF;DDRC=0XFF;ADC_init();init_1602();WR_COM(0X80);for(i=0;i<15;i++){WR_DAT(disp[i]);}while(1){ADC_L=ADCL;ADC_H=ADCH;WR_COM(0Xc0);value=(ADC_H*256+ADC_L)*5/10.24; ADC_init();WR_DAT('0'+value/100);WR_DAT('.');WR_DAT('0'+value%100/10);WR_DAT('0'+value%100%10);WR_DAT('v');}}五、实验结果。
adc采集工作原理
![adc采集工作原理](https://img.taocdn.com/s3/m/7888049a5122aaea998fcc22bcd126fff7055d2f.png)
adc采集工作原理一、模拟信号输入模拟信号输入是ADC采集工作的第一步,即将连续变化的模拟信号转换为离散的数字信号。
模拟信号可以是温度、压力、声音、光线等物理量,通过传感器将这些物理量转换为电信号,再经过信号调理电路的处理,最终形成适合ADC采集的模拟信号。
二、采样保持在ADC采集过程中,采样保持电路的作用是对输入的模拟信号进行采样和保持,以便进行后续的量化编码。
采样电路负责按照一定的时间间隔对模拟信号进行取样,而保持电路则负责在取样点处对信号进行保持,以便ADC进行量化编码。
三、量化编码量化编码是将取样保持电路输出的模拟信号转换为数字信号的过程。
ADC 内部通常包含比较器,将取样保持电路输出的模拟信号与一系列参考电压进行比较,根据比较结果输出相应的数字信号。
这个过程中,ADC的分辨率决定了数字信号的精度,即能够表示的模拟信号的离散程度。
四、转换精度与分辨率转换精度是指ADC实际输出的数字信号与理想值之间的误差,通常用LSB (Least Significant Bit)表示。
分辨率是指ADC能够表示的模拟信号的最大离散程度,通常用位数表示。
一般来说,ADC的位数越多,其分辨率越高,转换精度也越高。
五、转换速度转换速度是指ADC完成一次模拟信号到数字信号转换所需的时间。
转换速度与采样速率和分辨率有关,通常用每秒转换的位数(bps)表示。
在实际应用中,需要根据具体需求选择合适的转换速度,以满足实时性和精度要求。
六、噪声和失真ADC采集过程中存在的噪声和失真主要源于采样保持电路、量化编码和电路本身的非线性等因素。
噪声可能是由内部或外部干扰引起的,而失真则可能是由于采样时间、比较器精度等参数设置不当引起的。
为了减小噪声和失真,需要选择高性能的ADC器件和合理的参数设置。
七、电源和功耗ADC的正常运行需要稳定的电源供应,而其功耗取决于多种因素,如转换速度、分辨率和工作模式等。
为了降低功耗,可以采用适当的电源管理技术和低功耗模式,以延长设备的续航时间并减小散热负担。
实验2:AD数据采集与显示实验
![实验2:AD数据采集与显示实验](https://img.taocdn.com/s3/m/2c20704279563c1ec5da71e1.png)
LOGO实验2A/D数据采集与显示实验设计报告系别:专业:学号:姓名:指导老师:目录一、实验目的 (3)二、实验硬件设计 (3)三、实验电路仿真设计图 (4)四、实验程序设计 (6)五、实验小结 (11)一、实验目的1、完成用单片机和AD1674接口电路设计,用电位器改变输入电压实现A/D 数据采集处理。
模拟输入信号可以在10Vin引脚接一个电位器,电位器接5V电压,改变电位器即可输入0~5V电压,提供给A/D进行采样(AD1674与AD574的引脚和用法完全一样)2、完成用单片机接口4位数码管做动态显示,把A/D采集的数字量经过数字滤波处理后显示出对应的电压值来。
二、实验硬件设计AD1674:引脚按功能可分为逻辑控制端口、并行数据输出端口、模拟信号输入端口和电源端口四种类型。
(1)逻辑控制端口12/8:数据输出位选择输入端。
当该端输入为低时,数据输出为双 8 位字节;当该端输入为高时,数据输出为单 12 位字节。
CS:片选信号输入端;R/C:读/转换状态输入端。
CE:操作使能端;输入为高时,芯片开始进行读/转换操作。
A0:位寻址/短周期转换选择输入端。
STS:转换状态输出端。
输出为高时表明转换正在进行;输出为低时表明转换结束。
(2)并行数据输出端口DB11~DB8:在 12 位输出格式下,输出数据的高 4 位;在 8 位输出格式下,A0 为低时也可输出数据的高 4 位。
(3)模拟信号输入端口10VIN:10V 范围输入端,包括 0V~10V 单极输入或±5V 双极输入;20VIN:20V 范围输入端,包括 0V~20V 单极输入或±10V 双极输入;(4)供电电源端口REF IN:基准电压输入端,在 10V 基准电源上接 50Ω电阻后连于此端;REF OUT:+10V 基准电压输出端;BIP OFF:双极电压偏移量调整端,VCC:+12V/+15V 模拟供电输入;VEE:-12V/-15V 模拟供电输入;VLOGIC:+5V 逻辑供电输入;AGND/DGND:模拟/数字接地端;74LS164:符号引脚说明DSA 1 数据输入DSB 2 数据输入Q0~Q3 3~6 输出GND 7 地 (0 V)CP 8 时钟输入(低电平到高电平边沿触发)/M/R 9 中央复位输入(低电平有效)Q4~Q7 10~13 输出VCC 14 正电源74LS373:D0~D7 数据输入端OE 三态允许控制端(低电平有效)Q0~Q7 输出端三、实验电路仿真设计图四、实验程序设计ORG 0000HSJMP MAINORG 0030HMAIN: ACALL INIT ;初始化函数LOOP: ACALL Get_ADC ;A/D采集函数ACALL DATA_Hand ;数据处理ACALL DISPLAY ;数码管显示函数AJMP LOOPINIT: ;初始化函数MOV SCON,#00H ;方式0时:移位寄存器I/O方式,波特率=晶振频率/12,工作于方式0时,SM2必须为0。
AD采集测试报告
![AD采集测试报告](https://img.taocdn.com/s3/m/edf2cc4b3b3567ec102d8aca.png)
测试报告1 测试内容STM32 407单片机为核心板,配合AD7656读取差模信号的16位A/D采样值。
2 测试方法2.1整体方案使用串口调试助手(Baud 115200、数据位8、停止位1、效验位无)做为下位机接收数据,通过Stm32 407单片机采样的值发送给串口助手显示十进制的A/D采样值。
分别输入不同的信号进行观察数据变化是否成线性并进行数据统计。
整体方案如图1所示。
图1 方案原理图2.1方法原理硬件电路连接好之后,先给板子供电,用万能表测量板子供电电压是否正确,测试前保证硬件电路正常。
根据说明手册连接好外围电路以及供电电源,供电电压选择+15V—15V的模拟电压,AD7656板子选用ADC3通道(总共有6个通道,使用哪一个注释其他的观察即可),ADC3接信号发生器的正接线柱、AD7656板子GND接信号发生器的接地接线柱(下载程序之前先关闭信号发生器的CH1),分别让信号发生器输出正弦波、余弦波,通过AD7656板子进行采集并进行观察,如果AD7656板子采集的数据跟信号发生器给的信号相似或者呈线性,则观察结果和理论相吻合。
主程序流程图如图2所示图2 AD采集主程序流程图观察结束后,分别设置软件其他通道的参数并把采集的数据打印出来,与其它通道进行对比,看各个通道的采集情况,并导入到Excel表格中进行观察.3 测试结果让信号发生器输出一个频率:10KHz,高电平:1V,低电平:-1V,占空比:50%的方波信号.用串口助手观察数据并把这些数据导出到Excel表格中进行观察.观察结果如图3所示图3.1 测试结果观察结果显示的是一个与输出信号相吻合的方波信号,数据跳动厉害是信号发生器的精度不准确原因导致的,所以实际测量值与理论测量值呈线性相关.其它五个通道的采集情况与ADC3采集的情况基本相似.4.1 问题1调试AD采集程序的时候,AD采集的数据在串口上不显示, 测试硬件电路供电是否正常,当只给AD板子供电时候,测试引脚电压为3.3V.当外围接入数字电压+5V时,只能烧进去程序.4.1.1解决方案回看原理图,发现AD7656板子的供电电压只有在+15时才能带动板子正常工作,所以给AD7656板子外加一个+15V电源,观察AD采集数据和信号发生器输出的信号相吻合。
数电AD-DA实验
![数电AD-DA实验](https://img.taocdn.com/s3/m/22fc4949be1e650e53ea9902.png)
实验五 EWB 仿真试验:AD-DA 转换一、实验内容(一)研究采样频率对AD-DA 的影响UI=3V,f = 200hz 的正弦波电压。
ADC 参考电压V REF =±4.25V ,DAC 参考电压 V REF1=10V , V REF2 = 5V ,采样频率分别取 2kHz 5kHz 10kHz分别记录输出电压波形,分析波形变化规律及原因。
(二)研究ADC 参考电压对AD-DA 转换的影响输入电压保持不变,采样频率取 f = 10kHzADC 参考电压分别取:V REF = ± 3V ; V REF = +4.25和 -3V 分别记录输出电压波形,分析波形变化规律及原因。
V REF = ±5V V REF = ± 8分别记录输出电压波形,分析波形变化规律及原因。
(三)研究DAC 参考电压对DA 转换的影响输入电压保持不变,采样频率取 f = 10kHz ADC 参考电压取:V REF = ± 4.25V ; DAC 参考电压取:(1)V REF1=10V , V REF2 = 5V (2)V REF1=14V , V REF2 = 7V分别记录输出电压波形,分析波形变化规律及原因。
二、数据分析处理(一)采样频率分别取2kHz 5kHz 10kHz 时输出电压波形分别如图1、2、3。
图11212图2 12图3图中线1为输入信号,图中线2为输出信号。
波形变化规律:随着采样频率的增加,输出的正弦信号波形更加精确。
原因:采样频率也叫做采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,采样频率的倒数是采样周期,它是采样之间的时间间隔。
采样频率越高,即采样的间隔时间越短,即在单位时间内得到的信号数据就越多,对波形的表示也越精确。
(二)输入电压保持不变,采样频率取 f = 10kHz1、ADC参考电压分别取:VREF= ± 3V,输出电压波形如图4。
第三讲:AD转换器(ADC)、实验及应用
![第三讲:AD转换器(ADC)、实验及应用](https://img.taocdn.com/s3/m/6c59342a0722192e4536f659.png)
第三讲:A/D 转换器(ADC)、实验及应用电工电子实验教学中心 艾庆生一、A/D转换器的基本工作原理A/D 转换是将模拟信号转换为数字信号,转换过程通过取样、保持、量化和编码四个步骤完成。
1. 取样和保持取样(也称采样)是将时间上连续变化的信号转换为时间上离散的信号,即将时间上连续变化的模拟量转换为一系列等间隔的脉冲,脉冲的幅度取决于输入模拟量。
其过程如图 3-1 所示。
图中Ui (t )为输入模拟信号,S (t )为采样脉冲, 为取样后的输出信号。
图 3-1 取样过程在取样脉冲作用期τ内,取样开关接通,使 ,在其它时间(T S-τ)内,输出=0。
因此,每经过一个取样周期, 对输入信号取样一次,在输出端便得到输入信号的一个取样值。
为了不失真地恢复原来的输入信号,根据取样定理,一个频率有限的模拟信号,其取样频率f S 必须大于等于输入模拟信号包含的最高频率f max 的两倍,即取样频率必须满足:模拟信号经采样后,得到一系列样值脉冲。
采样脉冲宽度τ一般是很短暂的,在下一个采样脉冲到来之前,应暂时保持所取得的样值脉冲幅度,以便进行转换。
因此,在取样电路之后须加保持电路。
图3-2(a )是一种常见的取样保持电路, 场效应管V 为采样门,电容C 为保持电容,运算放大器为跟随器,起缓冲隔离作用。
在取样脉冲S(t )到来的时间τ内,场效应管V 导通,输入模拟量U i(t )向电容充电;假定充电时间常数远小于τ,那么C 上的充电电压能及时跟上U i(t )的采样值。
采样结束,V 迅速截止,电容C 上的充电电压就保持了前一取样时间τ的输入U i(t )的值,一直保持到下一个取样脉冲到来为止。
当下一个取样脉max 2f f s ≥)('tU o )()('t U t U i o =冲到来,电容C 上的电压 再按输入U i(t )变化。
在输入一连串取样脉冲序列后,取样保持电路的缓冲放大器输出电压U o (t )便得到如图3-2(b )所示的波形。
单片机AD-DA多路信号采集及LCD显示实验报告(含例程)
![单片机AD-DA多路信号采集及LCD显示实验报告(含例程)](https://img.taocdn.com/s3/m/4acb65916bec0975f465e28b.png)
实验报告课程名称:微机原理与接口技术 指导老师:高锋 成绩:__________________ 实验名称: 实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得一、实验目的1,了解单片微机应用系统设计的基本原理。
2,掌握A/D 转换器的工作原理和编程应用。
3,掌握LCD 模块的工作原理和编程应用。
4,掌握标度变换的工作原理和编程应用。
二、实验内容1.编写程序,采集A/D 转换器输入的8路模拟量,分别定义为温度、转速、…等。
2.编写程序,在LCD 上显示温度为0℃~512℃,转速为0~1024转/分、…等。
3. 可选:编写程序,将采样的温度/转速值保存在串行扩展的AT24C0X 中。
4. 可选:编写程序,将采样的温度值/转速值通过串行口发选至另一采集终端进行显示。
三、实验电路接线图及实验原理实验原理:专业:电子信息工程 姓名:江山学号:3090101193 日期:2011-12-27 地点:教二1)ADC0809的地址为2000H-2007H,芯片一共有8路模拟量输入口,其地址分别为2000H-2007H,分析地址范围:如电路所示,译码器74HC138的使能端受单片机输出地址位A13控制,A13要为高电平,高8位中其余位为低电平,而8路模拟输入的地址则是通过P0口的低三位地址来译码控制,所以芯片的寻址范围为:2000H-2007H。
本实验中采用CH4通道输入电平值视为温度传感输入0-511,CH5通道电平作为转速0-1024,CH4通道得到的转化值通过DA转化后又通过CH0输入,检测整个采样转化过程是否正确。
2)DAC0823的地址范围为:2100H-2200H,我们知道DAC0832为双缓冲结构,其输入缓冲寄存器的使能端cs受74HC138的Y1控制,要求第一级输入锁存使能时Y1使能,而74HC138 3-8译码器由单片机的A8、A9、A10控制所以允许第一级输入缓存时地址为2100H,第二级DAC寄存器的使能端xfer为Y2所以第二级选通的地址为2200H。
ADC数据采集显示实验
![ADC数据采集显示实验](https://img.taocdn.com/s3/m/7d8d82e1524de518964b7d5e.png)
工程基础实验与训练中心实验报告
那么仅需读取 ADCH 就足够了。否 则必须先读出 ADCL 再读 ADCH ,其中 MUX4~0: 模拟通道与增益选择位。 (3)ADC 控制和状态寄存器 A - ADCSRA:其中 ADEN: ADC 使 能位;ADSC: ADC 转换启动位;ADATE: ADC 自动触发使能位;ADIF: ADC 中断标志;ADIE: ADC 中断使能; ADPS2~0: ADC 预分频器 选择位。 (4)特殊功能 IO 寄存器 - SFIOR:其中 ADTS2~0: ADC 自动触 发源;Res: 保留位。
如下图,使用软件 PROTEUS 画出原理图。 因为在实际中没有 AVR 的开发板,所以使用软件来模型出,来 显示。 当然也要了解这个软件的使用方法。 因此,在下面的图形中能够显示出 ADC 的数据采集与显示,所 以如下图:
4
工程基础实验与训练中心实验报告
三、程序流程图 开始
1602初始化
检测是否
实验原理及主要工作: 一、实验原理
ATmega16 内部的 ADC 拥有很多的特点,更具这些特点可以知 道本次实验的有些内容的要求。本次试验是数据采集和显示,用 ADC 转换器来进行数据的采集,并在 1602 的液晶显示屏上显示出数据采 集的结果。
要做本次实验还需了解 ATmega16 内部的 ADC 的寄存器,ADC 有以下几个寄存器: (1)多路复用器选择寄存器 - ADMUX :其中 REFS1/REFS0: 参考电压源选择设置;ADLAR: ADC 转换结果 对齐选择位。 (2)ADC 数据寄存器 - ADCL 及 ADCH:读取 ADCL 之后, ADC 数据寄存器一直要等到 ADCH 也被读出才可以进行数据更 新。因此,如果转换结果为左对齐,且要求的精度不高于 8 比特,
ADC采样显示波形
![ADC采样显示波形](https://img.taocdn.com/s3/m/bb1489dffbb069dc5022aaea998fcc22bcd143ce.png)
ADC采样显示波形(1) 在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序;(2) 点击MDK 的Debug菜单,点击Start/Stop Debug Session;(3) 旋转电位器RV1,可以看到串口输出数值不断变化,正常显示结果如下所示。
usart1 print AD_value --------------------------The current AD value = 0x0425The current AD value = 0x0423The current AD value = 0x0421The current AD value = 0x0422The current AD value = 0x0420The current AD value = 0x0416The current AD value = 0x03B6The current AD value = 0x0841The current AD value = 0x08C3The current AD value = 0x08C0The current AD value = 0x08BEThe current AD value = 0x09E9The current AD value = 0x0A12The current AD value = 0x0ACAThe current AD value = 0x0B0DThe current AD value = 0x0B10The current AD value = 0x0B0E........(4)若想通过ITM Viewer来观测Printf数据,则需要加入#define DBG_ITM,并允许ITM跟踪,详见RTX_Blinky例的说明。
本例程中只要取消#define DBG_ITM 前的注释符号即可。
AD采样滤波方法和示例程序
![AD采样滤波方法和示例程序](https://img.taocdn.com/s3/m/1e7b731f10a6f524ccbf859d.png)
10 种AD 采样的软件滤波方法和示例程序假定从8 位AD 中读取数据(如果是更高位的AD 可定义数据类型为int),子程序为get_ad();1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差【限副滤波】/* A 值可根据实际情况调整value 为有效值,new_value 为当前采样值滤波程序返回有效的实际值*/#define A 10char value;char filter(){char new_value;new_value = get_ad();if ( ( new_value ‐value> A ) || ( value ‐new_value> A )return value;return new_value;}2、中位值滤波法A、方法:连续采样N 次(N 取奇数)把N 次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点:对流量、速度等快速变化的参数不宜【中位值滤波法】/* N 值可根据实际情况调整排序采用冒泡法*/#define N 11char filter(){char value_buf[N];char count,i,j,temp;for ( count=0;count<N;count++){value_buf[count] = get_ad();delay();}for (j=0;j<N‐1;j++){for (i=0;i<N‐j;i++){if ( value_buf>value_buf[i+1] ){temp = value_buf[i];value_buf[i]= value_buf[i+1];value_buf[i+1] = temp;}}}return value_buf[(N‐1)/2];}3、算术平均滤波法A、方法:连续取N 个采样值进行算术平均运算N 值较大时:信号平滑度较高,但灵敏度较低N 值较小时:信号平滑度较低,但灵敏度较高N 值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM【算术平均滤波法】/**/#define N 12char filter(){int sum = 0;for ( count=0;count<N;count++){sum + = get_ad();delay();}return (char)(sum/N);}4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N 个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的N 个数据进行算术平均运算,就可获得新的滤波结果N 值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM【递推平均滤波法】(又称滑动平均滤波法)/**/#define N 12char value_buf[N];char i=0;char filter(){char count;int sum=0;value_buf[i++] = get_ad();if ( i == N ) i = 0;for ( count=0;count<N,count++)sum = value_buf[count];return (char)(sum/N);}5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N 个数据,去掉一个最大值和一个最小值然后计算N‐2 个数据的算术平均值N 值的选取:3~14B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM【中位值平均滤波法】(又称防脉冲干扰平均滤波法)/**/#define N 12char filter(){ char count,i,j;char value_buf[N];int sum=0;for (count=0;count<N;count++){ value_buf[count] = get_ad();delay();}for (j=0;j<N‐1;j++){ for (i=0;i<N‐j;i++){ if ( value_buf>value_buf[i+1] ){temp = value_buf;value_buf = value_buf[i+1];value_buf[i+1] = temp;}}}for(count=1;count<N‐1;count++)sum += value[count];return (char)(sum/(N‐2));}6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理B、优点:融合了两种滤波法的优点_对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:比较浪费RAM【限幅平均滤波法】/**/略参考子程序1、37、一阶滞后滤波法A、方法:取a=0~1本次滤波结果=(1‐a)*本次采样值+a*上次滤波结果B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C、缺点:相位滞后,灵敏度低滞后程度取决于a 值大小不能消除滤波频率高于采样频率的1/2 的干扰信号【一阶滞后滤波法】/* 为加快程序处理速度假定基数为100,a=0~100 */#define a 50char value;char filter(){char new_value;new_value = get_ad();return (100‐a)*value + a*new_value;}8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。
采集AD值显示波形图程序设计说明
![采集AD值显示波形图程序设计说明](https://img.taocdn.com/s3/m/ba303bc4c8d376eeaeaa313a.png)
void Uart1_fun() interrupt 4 using 1 串口中断接收上位机发送过来的用于调节下位机发送速率的包,并用 校验和检查收到的包是否正确,如果正确则在定时器T0中断中修改发送 数据的频率,否则丢弃该包。 1.2 程序总框架流程图
“采集AD值显示波形图”程序设计说明
1 程序设计框架及关键实现说明 1.1 程序步骤 void main() 调ad_wave()函数; void ad_wave() 调用函数Uart1_Init();进行对串口配置初始化: AUXR=0X00; //改为定时器T0为12T工作模式,注意工作模式的切换 SCON|=0X50; //允许接收 TL1=(65536-(Machine_Focs/4/BAUD)); TH1=(65536-
初始化串口 串口中断,收到上位机发送的数据
初始化定时器T0 T0中断,按照上位机的要求速率通过串口定时发送AD数据包给上位机
上位机显示下位机发送四种AD值的波形图 是否通过校验 丢弃该包
上位机发送要求的速率给下位机 是否通过校验 丢弃该包
主函数分时初始化AD AD中断,获取四种AD值
否
是
否
2 定义及函数说明
串口寄存器: AUXR寄存器
设置为0X00,设定定时器T0为传统8051速度,12分频; SCON寄存器
设置为0X50,设定串口1的工作方式,方式1,允许接收状态。 定时器相关寄存器:
TMOD寄存器:
初始化时,设置定时器0,工作模式0即16位自动重装载模式, TMOD=0x00 ;
IE寄存器:
初始化时,设置EA=1,打开总的中断,设置ET0=1开启定时器0的中 断;
实验2:ADC数据采集
![实验2:ADC数据采集](https://img.taocdn.com/s3/m/1998551f5627a5e9856a561252d380eb629423a5.png)
实验2:ADC数据采集实验2: ADC数据采集1、实验目的了解ARM处理器ADC接口的处理机制;掌握在S3C2410A 平台下进行ADC接口应用编程本思想和过程。
2、实验内容学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。
阅读ARM 芯片文档,掌握ARM 的A/D 相关寄存器的功能,熟悉ARM 系统硬件的A/D相关接口。
利用外部模拟信号编程实现ARM 循环采集全部前3路通道,并且在超级终端上显示。
3、预备知识用ARM ADS1.2集成开发环境,编写和调试程序的基本过程。
ARM 应用程序的框架结构。
4、实验设备及工具硬件:PC机、嵌入式系统实验箱软件:Windows 操作系统、ADS1.2集成开发环境、超级终端通讯程序。
5、实验原理(1)A/D 转换器A/D转换器是模拟信号源和 CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。
在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的。
A/D转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。
常用的有以下两种:1)双积分型的A/D转换器双积分式也称二重积分式,其实质是测量和比较两个积分的时间,一个是对模拟输入电压积分的时间T0,此时间往往是固定的;另一个是以充电后的电压为初值,对参考电源Vref反向积分,积分电容被放电至零所需的时间T1。
模拟输入电压 Vi 与参考电压V Ref之比,等于上述两个时间之比。
由于V Ref、T0固定,而放电时间T1可以测出,因而可计算出模拟输入电压的大小(V Ref与Vi 符号相反)。
由于T0、V Ref为已知的固定常数,因此反向积分时间T1与输入模拟电压Vi在T0时间内的平均值成正比。
输入电压V i愈高,V A愈大,T1就愈长。
adc采样电路原理
![adc采样电路原理](https://img.taocdn.com/s3/m/cd7347517dd184254b35eefdc8d376eeaeaa1792.png)
adc采样电路原理你知道 ADC 采样电路不?这玩意儿可神奇啦!咱们先来说说啥是 ADC 采样。
想象一下,咱们生活中的各种物理量,像温度啦、声音大小啦、电压电流啥的,它们是连续变化的,就像一条没有尽头的曲线。
但咱们的数字世界可喜欢整整齐齐的数字,不喜欢这种弯弯曲曲的东西。
这时候 ADC 采样电路就闪亮登场啦!它的工作呢,就像是一个超级细心的“记录员”。
它会在特定的时间点,快速地“瞅一眼”这些连续变化的物理量,然后把看到的数值转换成数字信号,让咱们的数字系统能明白和处理。
那它是咋做到的呢?这就得讲讲 ADC 采样电路里的几个关键部分啦。
比如说,有个叫“采样保持电路”的家伙。
它就像是一个反应超快的“抓拍高手”。
当到了采样的那个瞬间,它能迅速地把当时的物理量的值给“抓住”并且保持住,不让它变来变去,这样后面的处理电路就能稳稳地进行工作啦。
还有个重要的角色叫“量化器”。
它就像是个特别会分类的“小管家”。
它把采样保持电路送来的模拟量值,按照一定的规则划分成一个个的等级。
比如说,把 0 到1 伏分成 10 个等级,那 0.1 伏就是一个等级。
然后根据实际的值,给它归到对应的等级里去。
接下来就是“编码器”登场啦。
它就像是个聪明的“翻译官”。
把量化器分好的等级,翻译成咱们数字系统能懂的数字编码,比如二进制编码。
你看,这 ADC 采样电路就像是一个小小的“魔法工厂”,把那些连续变化的、让人头疼的模拟量,变成了整整齐齐、规规矩矩的数字量。
再打个比方,这 ADC 采样电路就像是一个会变戏法的魔术师。
它能把现实世界中那些摸不着、看不清的东西,一下子变成我们能在数字世界里轻松处理和分析的数字代码。
想象一下,如果没有 ADC 采样电路,咱们的手机怎么能知道电池还有多少电?那些测量仪器怎么能给出准确的数值?各种智能设备又怎么能根据外界的变化做出聪明的反应呢?所以说呀,这小小的 ADC 采样电路,可真是在咱们的科技生活中发挥了大大的作用!它就像一个默默无闻的幕后英雄,一直在为我们的便捷生活努力工作着。
AD采集卡采集模拟信号设计实验报告
![AD采集卡采集模拟信号设计实验报告](https://img.taocdn.com/s3/m/d91bf722a5e9856a5612602f.png)
电气与信息工程学院现代检测技术实验设计报告实验名称: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单端输入连接方式单端方式是指使用单个通道实现某个信号的输入,同时多个信号的参考地共用一个接地点。
片上外设实验—AD采集实验
![片上外设实验—AD采集实验](https://img.taocdn.com/s3/m/c69588ed6294dd88d0d26b49.png)
DSP技术实验报告实验名称:片上外设实验—A/D采集实验姓名:杨望学号:080404153班级:通信一班时间:6-16南京理工大学紫金学院电光系一、 实验目的1. 了解TMS320F2812片上外设AD ;2. 熟悉片上AD 的使用;3. 利用片上AD 进行数据采集。
二、 实验原理ADC 模块功能框图F2812处理器的ADC 模块是一个12位带流水线的模/数转换器,由模拟电路和数字电路组成。
ADC 模块主要特点: ▪12位模/数转换模块ADC ▪2个采样和保持(S/H)电路 ▪模拟输入电压范围:0-3V ▪快速的转换时间,ADC 时钟可以配置为25MHz ▪16通道模拟输入 ▪自动排序功能支持16通道独立循环自动转换,每次转换的通道可以软件编程选择 ▪排序器可以工作在2个独立的8通道排序器模式,也可以工作在16通道级联模式 ▪ 自动排序器允许对同一个通道进行多次采样,以完成过采样算法,获得更高的采样精度16个结果寄存器存放ADC 的转换结果,转换后的数字量表示为:量化间隔为:)(.)(mV V v 730=40953=Δ34095-⨯=REF inV V D -▪有多个触发源启动ADC转换(软件、事件管理器、外部)▪灵活的中断控制,允许每个或每隔一个序列转换结束产生中断请求三、实验内容1.初始化系统;2.初始化片上AD,进行通道的选择;3.AD数据采集。
4.程序代码补充部分:interrupt void ad(void){IFR=0; //设置中断标志寄存器值PieCtrl.PIEACK.all=0xffff; //设定PIE级中断应答寄存器值 if(adconvover==0){Ad_data[convcount]=AdcRegs.RESULT0 ;convcount++; //补充语句,读取AD转换结果}if (convcount==(SampleLong)){convcount=0;adconvover=1; //补充语句,完成停止计数操作并设置接满标志}}5.图像部分四、小结与体会通过本次DSP实验,我了解TMS320F2812片上外设AD。
采集AD值显示波形图程序设计说明
![采集AD值显示波形图程序设计说明](https://img.taocdn.com/s3/m/8a51009502d276a200292e73.png)
“采集AD值显示波形图”程序设计说明1 程序设计框架及关键实现说明1.1 程序步骤●void main()调ad_wave()函数;●void ad_wave()调用函数Uart1_Init();进行对串口配置初始化:AUXR=0X00; //改为定时器T0为12T工作模式,注意工作模式的切换SCON|=0X50; //允许接收TL1=(65536-(Machine_Focs/4/BAUD));TH1=(65536-(Machine_Focs/4/BAUD))>>8;AUXR|=0X40;RI=0;TI=0;TR1=1;While(1)循环中是与AD相关寄存器的初始化,并选择4个AD模拟输入通道。
●void adc_isr() interrupt 5 using 1AD中断,用于采集4个模拟通道AD转换后的数据;其中高8位在ADC_RES 中保存,底两位在ADC_RESL中保存。
例如初始化温度A/D转换:IE=0x90;P1ASF=0xff;ADC_RES=0;ADC_RESL=0;ADC_CONTR=0XeB;CLK_DIV=0X00;IE=0xB2;●void t0int() interrupt 1定时器0中断,定时发送数据给上位机。
●void Uart1_fun() interrupt 4 using 1串口中断接收上位机发送过来的用于调节下位机发送速率的包,并用校验和检查收到的包是否正确,如果正确则在定时器T0中断中修改发送数据的频率,否则丢弃该包。
1.2 程序总框架流程图否是否2 定义及函数说明 2.1 定义说明char rec_flag=0; //用于标识接收的数据 unsigned char a=0,b=8,c=0,e=0; //用于保存并校验收到的数据 unsigned int d=0; //校验和转化变量char flag=0;初始化串口 串口中断,收到上位机发送的数据 初始化定时器T0 T0中断,按照上位机的要求速率通过串口定时发送AD 数据包给上位机 上位机显示下位机发送四种AD 值的波形图 是否通过校验 丢弃该包上位机发送要求的速率给下位机 是否通过校验丢弃该包 主函数分时初始化ADAD 中断,获取四种AD 值unsigned char i=1;unsigned char zero=0; //发送高8位unsigned char one=0;unsigned char temp=0;unsigned char light=0;unsigned char zero_t=0; //发送低2位unsigned char one_t=0;unsigned char temp_t=0;unsigned char light_t=0;unsigned char other=0; //另外凑齐的一个字节unsigned char sum=0; //存放校验和2.2 函数说明void Uart1_Init(void) //初始化串口1的相关设置,设定串口的波特率等void Uart1_fun() interrupt 4 using 1 //串口1中断服务程序,只有当接收到数据时 //才应用串口中断,当发送数据时关闭串口中断void Delay(int n) //延时函数void SendData(int byt) //发送数据void t0int() interrupt 1 //T0中断,并且定时发送数据给上位机void InitADC_Zero() //初始化P1^0口void InitADC_One() //初始化P1^1口void InitADC_temp() //初始化温度ADCvoid InitADC_light() //初始化光ADCvoid adc_isr() interrupt 5 using 1 //AD中断3 相关寄存器配置串口寄存器:AUXR寄存器设置为0X00,设定定时器T0为传统8051速度,12分频;SCON寄存器设置为0X50,设定串口1的工作方式,方式1,允许接收状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“采集AD值显示波形图”案例原理与测试说明
1 程序设计目标及程序运行效果说明
程序设计目标:该程序是分时的采集四种AD值,并利用定时器以上位机要求的不同速率定时发送AD值,上位机把上传的四种AD值分别显示成波形。
程序运行效果说明:采集的四种AD值显示在上位机上,通过改变温度和光照强度可以看出波形的变化。
2 程序相关电路及工作原理说明
2.1工作原理
下位机工作原理:主函数中分时初始化四种AD,AD中断根据不同的标志位获取相应的AD值,我们用定时器T0计时,T0中断根据上位机要求的速率通过串口发送四个AD值。
串口通信采用协议来完成,发送过程包含:包头(A5),中间数据(P1.0AD值,P1.1AD值,温度AD值,光AD值,四种10位AD值中剩余两
位的和),校验和(前面六个字节的和,进位丢弃),共七个字节,如:A5 01 02 71 03 60 7C ;接收过程包含:包头(5A),中间数据(上位机修改下位机传输速率),校验和(前面两个字节的和,进位丢弃),如:5A 04 5E 。
串口中断接收上位机发送过来的用于调节下位机发送速率的包,并用校验和检查收到的包是否正确,如果正确则在定时器T0中断中修改发送数据的频率,否则丢弃该包。
上位机工作原理:接收下位机发送的包,并通过校验和检查收到的包是否正确,如果正确则把收到的四个字节的AD 值分别显示成四种波形图,分别对应P1.0口电压值,P1.1口电压值,温度值,光照值。
上位机还可以调节下位机发送数据的频率,分别为低速,中速和高速,可以从波形图中很清楚的观察到速率的变化。
每一副波形图都有提取波形数据,保存波形图等功能。
2.2 程序总框图设计流程如下
否
是
否
初始化串口 串口中断,收到上位机发送的数据
初始化定时器T0 T0中断,按照上位机的要求速率通过串口定时发送AD 数据包给上位机 上位机显示下位机发送
四种AD 值的波形图 是否通过校验 丢弃该包 上位机发送要求的速率给下位机 是否通过校验 丢弃该包 主函数分时初始
化AD AD 中断,获取四种AD 值
2.3 上位机图形界面
3 测试方法
(1)将Hex文件下载到实验板;
(2)打开“工程文件”文件夹,打开“上位机”文件夹,并启动程序Ware.exe;
(3)采集波形软件自动连接实验板;
(4)出现波形并正常显示即为成功。