电压表设计报告
数字电压表设计报告
![数字电压表设计报告](https://img.taocdn.com/s3/m/832af89bdd88d0d233d46ad5.png)
一、课程内容介绍:数字电压表是用来测量信号电压的装置。
它可以测量正弦波、方波、三角波和尖脉冲信号的电压。
在进行模拟、数字电路的设计、安装、调试过程中,经常要用到数字电压表。
本设计是设计一个三位直流数字电压表。
由于其用十进制数显示,测量迅速、精度高、显示直观,一次数字电压表得到广泛的使用。
二、总体设计1、实验目的设计制作一个具有数字显示功能的数字电压表。
该数字电压表能对日常电子线路中的电压进行方便的测量。
2、实验设计要求与内容1) 本设计要求从测试端输入0-51V的电压,经90K和10K电阻分压,送ADC0804输入端,所以实际输入电压是测试端的十分之一。
经89C2051处理,在D3、D2、D1三个七段显示。
2) 本电路ADC0804最大转换值为0FFH(255),对应输入电压是5.1V,对应测试端电压(显示电压)51V。
3) 若测试端输入为4V,实际进入ADC0804为0.4Va) 经A/D转换后为14Hb) 14H经十进制转换后为0020,则令R4=00,R5=20c) 将0020*2=0040,令R4=00,R5=40d) 将数字点设在D2上,D4 D3 D2 D1分别显示为0 0 4 04) 本电路省略D4,只显示D3 D2 D15)总体设计框图:3、实验技术指标1) 被测量信号电压范围:0-51V2) 测量精度:测量显示3为有效数字3) 分辨率:5.1V/2^8注意:在画PCB的时候要注意将晶振,即Y1,C4,C5,一起布置在芯片AT89C2051旁边,还有电容C2,C3也要靠近芯片AT89C2051,这样才能有效显示结果。
4、设计提示1) 本设计要求从测试端输入0-51V的电压,经90K和10K电阻分压,送ADC0804输入端,所以实际输入电压是测试端的十分之一。
经89C2051处理,在D3、D2、D1三个七段显示器显示。
2)本电路ADC0804最大转换值=0FFH(255),对应输入电压是5.1V,对应测试端电压(显示电压)是51V。
简易电压表设计实验报告
![简易电压表设计实验报告](https://img.taocdn.com/s3/m/17bb1d170740be1e650e9aca.png)
数字电路与逻辑设计实验实验报告课题名称:简易数字电压表的设计学院:信息与通信工程学院班级:姓名:学号:班内序号:一.设计课题的任务要求设计并实现一个简易数字电压表,要求使用实验板上的串行AD 芯片ADS7816。
1. 基本要求:(1)测量对象:1~2 节干电池。
(2)AD 参考电压:2.5V。
(3)用三位数码管显示测量结果,保留两位小数。
(4)被测信号超过测量范围有溢出显示并有声音提示。
(5)按键控制测量和复位。
2. 提高要求:(1)能够连续测量。
(2)自拟其他功能。
二. 系统设计(包括设计思路、总体框图、分块设计)1. 设计思路本次实验利用ADS7816作为电压采样端口,FPGA作为系统的核心器件,用LED数码管进行已测电压值的显示,先把读取的12位串行二进制数据转换成并行的12位二进制数据,然后再把并行的12位二进制数据转换成便利于输出的3位十进制BCD码送给数码管,以显示当前测量电压值。
这些工作由ADS7816转换控制模块、数据转换控制模块、译码显示模块完成。
2. 总体框图3. 分块设计3.1 ADS7816转换控制模块(1)ADS7816工作原理在ADS7816的工作时序中,串行时钟DCLK用于同步数据转换,每位转换后的数据在DCLK 的下降沿开始传送。
因此,从Dout引脚接收数据时,可在DCLK的下降沿期间进行,也可以在DCLK的上升沿期间进行。
通常情况下,采用在DCLK的上升沿接收转换后的各位数据流。
CS 的下降沿用于启动转换和数据变换,CS有效后的最初1至2个转换周期内,ADS7816采样输入信号,此时输出引脚Dout呈三态。
DCLK的第2个下降沿后,Dout使能并输出一个时钟周期的低电平的无效信号。
在第4个时钟的上升沿,Dout开始输出转换结果,其输出数据的格式是最高有效位(B11位)在前。
当最低有效位(B0位)输出后,若CS变为高电位,则一次转换结束,Dout显三态。
(2)元件设计:en:A/D转换启动键,输入。
数字电压表实验报告
![数字电压表实验报告](https://img.taocdn.com/s3/m/4779425a0a4e767f5acfa1c7aa00b52acfc79cd0.png)
简易数字电压表设计报告姓名:***班级:自动化1202学号:****************:***2014年11月26日一.设计题目采用C8051F360单片机最小系统设计一个简易数字电压表,实现对0~3.3V 直流电压的测量。
二.设计原理模拟输入电压通过实验板PR3电位器产生,A/D转换器将模拟电压转换成数字量,并用十进制的形式在LCD上显示。
用一根杜邦实验线将J8口的0~3.3V输出插针与J7口的P2.0插针相连。
注意A/D转换器模拟输入电压的范围取决于其所选择的参考电压,如果A/D 转换器选择内部参考电压源,其模拟电压的范围0~2.4V,如果选择外部电源作为参考电压,则其模拟输入电压范围为0~3.3V。
原理框图如图1所示。
图1 简易数字电压表实验原理框图三.设计方案1.设计流程图如图2所示。
图2 简易数字电压表设计A/D转换和计时流程图2.实验板连接图如图3所示。
图3 简易数字电压表设计实验板接线图3.设计步骤(1)编写C8051F360和LCD初始化程序。
(2)AD转换方式选用逐次逼近型,A/D转换完成后得到10位数据的高低字节分别存放在寄存器ADCOH和ADC0L中,此处选择右对齐,转换时针为2MH Z。
(3)选择内部参考电压2.4V为基准电压(在实际单片机调试中改为3.311V),正端接P2.0,负端接地。
四、测试结果在0V~3.3V中取10组测试数据,每组间隔约为0.3V左右,实验数据如表1所示:显示电压(V)0.206 0.504 0.805 1.054 1.406实际电压(v)0.210 0.510 0.812 1.061 1.414相对误差(%) 1.905 1.176 0.862 0.659 0.565显示电压(V) 2.050 2.383 2.652 2.935 3.246实际电压(v) 2.061 2.391 2.660 2.943 3.253相对误差(%)0.421 0.334 0.301 0.272 0.215表1 简易数字电压表设计实验数据(注:其中显示电压指LCD显示值,实际电压指高精度电压表测量值)五.设计结论1.LCD显示模块的CPLD部分由FPGA充当,芯片本身自带程序,所以这个部分不用再通过quartus软件进行编程。
简易数字电压表设计报告
![简易数字电压表设计报告](https://img.taocdn.com/s3/m/350202e7e009581b6bd9eb56.png)
摘要--------------------------------------------------------2 1.数字电压表的简介------------------------------------------31.1数字电压表的发展--------------------------------------31.2数字电压表的分类--------------------------------------42.设计的目的------------------------------------------------53.设计的内容及要求------------------------------------------54.数字电压表的基本原理--------------------------------------54.1数字电压表各模块的工作原理----------------------------54.2数字电压表各模块的功能--------------------------------54.3数字电压表的工作过程----------------------------------65.实验器材--------------------------------------------------76.电路设计实施方案------------------------------------------76.1.实验步骤---------------------------------------------76.2各个模块设计------------------------------------------86.2.1 基准电压模块-----------------------------------86.2.2 3 1/2位A/D电路模块---------------------------106.2.3 字形译码驱动电路模块--------------------------126.2.4 显示电路模块----------------------------------136.2.5 字位驱动电路模块------------------------------167.总结-----------------------------------------------------17 参考文件---------------------------------------------------18 附录-------------------------------------------------------19本文介绍了一种简易数字电压表的设计。
实验五 数字电压表设计报告
![实验五 数字电压表设计报告](https://img.taocdn.com/s3/m/7008e0b3c77da26925c5b0d9.png)
实验五数字电压表设计报告一、设计目的通过电子技术的综合设计,熟悉一般电子电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法。
通过设计有助于复习、巩固以往的学习内容,达到灵活应用的目的。
设计完成后在实验室进行自行安装、调试,从而加强学生的动手能力。
在该过程中培养从事设计工作的整体概念。
二、设计要求1、利用所学的知识,通过上网或到图书馆查阅资料,设计三个实现数字万用表的方案;只要求写出实验原理,画出原理功能框图,描述其功能。
2、其中对将要实验方案3 1/2数字电压表,需采用中、小规模集成电路、MC14433 A/D转换器等电路进行设计,写出已确定方案详细工作原理,计算出参数。
3、技术指标:Ⅰ、测量直流电压1999-1V;199.9-0.1V;19.99-0.01V;1.999-0.001V;Ⅱ、测量交流电压1999-199V;Ⅲ、三位半显示;Ⅳ、比较设计方案与总体设计;Ⅴ、根据设计过程写出详细的课程设计报告;三、设计方案及原理数字显示电压表将被测模拟量转换为数字量,并进行实时数字显示。
该系统(如图1 所示)可采用MC14433—三位半A/D 转换器、MC1413七路达林顿驱动器阵列、CD4511 BCD到七段锁存-译码-驱动器、能隙基准电源MC1403和共阴极LED发光数码管组成。
本系统是三位半数字电压表,三位半是指十进制数0000~1999。
所谓3位是指个位、十位、百位,其数字范围均为0~9,而所谓半位是指千位数,它不能从0变化到9,而只能由0变到l,即二值状态,所以称为半位。
各部分的功能如下:三位半A/D转换器(MC14433):将输入的模拟信号转换成数字信号。
基准电源(MC1403):提供精密电压,供A/D 转换器作参考电压。
译码器(MC4511):将二—十进制(BCD)码转换成七段信号。
驱动器(MC1413):驱动显示器的a,b,c,d,e,f,g七个发光段,驱动发光数码管(LED)进行显示。
数字电压表设计与制作报告
![数字电压表设计与制作报告](https://img.taocdn.com/s3/m/69698c13453610661ed9f48c.png)
江阴职业技术学院项目设计报告项目:数字电压表设计与制作摘要本文介绍了一种基于单片机的简易数字电压表的设计。
该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把ADC0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0832芯片工作。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。
关键词单片机;数字电压表;A/D转换;AT89C51;ADC0832.AbstractThis paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0832, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0832 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0832 chip to work.The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED.Keywords Single-chip microcontroller; Digital voltmeter; A/Dconverter; AT89C51; ADC0832目录摘要 (II)Abstract (II)目录 (III)第一章绪论 (1)1.1 课题的应用场合 (1)1.2 系统的功能和性能指标 (1)第二章总体方案 (2)2.1 方案设计与选择 (2)2.2 系统的总体结构 (3)第三章硬件电路设计 (5)3.1 硬件电路框图 (5)3.2 主要器件选择与应用 (5)3.3 单片机小系统设计 (5)3.4 键盘与显示电路设计 (6)第四章软件设计 (9)4.1 软件组成框图 (9)4.2 软件流程图设计 (9)4.3 主要程序设计 (10)第五章系统调试 (12)5.1 调试的方法与工具 (13)5.2 Proteus仿真调试及效果 (13)5.3 软硬件联合调试 (13)5.4 系统运行 (14)5.5 调试心得 (14)第六章展望与拓展 (16)致谢 (16)参考资料 (16)附录 (17)附录Ⅰ系统电原理图 (17)附录Ⅱ系统仿真效果图 (18)附录Ⅲ样机实物图 (18)附录Ⅳ软件流程图 (19)附录Ⅴ源程序清单 (20)第一章绪论1.1 课题的应用场合在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
数字电压表设计实验报告
![数字电压表设计实验报告](https://img.taocdn.com/s3/m/a070030c866fb84ae45c8d24.png)
MOV DPTR,#CS8279D
MOV R0,#30H
DISPL1:
PUSH DPL
PUSH DPH
MOV A,@R0MOV 源自PTR,#TABMOVC A,@A+DPTR
POP DPH
POP DPL
MOVX @DPTR,A
INC R0
DJNZ R7,DISPL1
DSPEXIT:
SJMP CONB3
CONB2:
MOV R7,#4
SJMP CONB3
CONB1:
MOV R7,#3
CONB3:
MOV R0,#35H
MOV A,#0BH
CONBLP:
MOV @R0,A
DEC R0
DJNZ R7,CONBLP
RET
END ; program end
二、实验结果
通过调节可变电阻VR4的电阻大小,使得输入到ADC0809的第5引脚的电压从0V变到5V,转换相应的结果并通过数码显示器显示出来。实验结果与预测结果一置。
; function: initial 8279 as 8 digtal left in ALE/10
; input parameter : none
; output parameter: none
; others 8279 command port address 0FFE9H;8279 data port address 0FFE8H
ORG 0000H
MAIN:
MOV SP, #60H
ACALL INI8279
MOV ADRESULT, #00H
MOV ADBAK, #0FFH
MAINLP:
直流电压表的设计实验报告
![直流电压表的设计实验报告](https://img.taocdn.com/s3/m/eedff458a9114431b90d6c85ec3a87c241288a47.png)
直流电压表的设计实验报告直流电压表的设计实验报告引言:直流电压表是一种测量电路中直流电压的仪器。
在电子工程领域中,直流电压表是一种常用的测试工具。
本实验旨在设计并制作一台简单实用的直流电压表,以便能够准确测量电路中的直流电压。
一、实验目的:本实验的目的是设计并制作一台直流电压表,通过实验验证其准确性和可靠性。
具体目标如下:1. 理解直流电压表的工作原理;2. 学会使用电流表、电阻器等元器件进行电路设计;3. 测试直流电压表的灵敏度和测量范围。
二、实验原理:直流电压表是基于毫伏表的原理设计的。
毫伏表是一种电压测量仪器,它通过将待测电压与已知电阻串联,通过测量电流大小来计算待测电压的值。
直流电压表的关键是选择合适的电阻值,以确保测量电流的幅度适中,既能够保证测量精度,又不会对待测电路产生明显的影响。
三、实验材料和仪器:1. 直流电源;2. 电流表;3. 电阻器;4. 连接线;6. 待测电路。
四、实验步骤:1. 将直流电源的正极与待测电路的正极连接,负极与待测电路的负极连接;2. 将电流表的正极与待测电路的正极连接,负极与电阻器的一端连接;3. 将电阻器的另一端与待测电路的负极连接;4. 打开直流电源,调节电压大小,观察电流表的读数;5. 记录电流表的读数和待测电压的实际值;6. 重复步骤4和步骤5,改变待测电压的大小,以验证直流电压表的准确性和可靠性。
五、实验结果和分析:通过实验测量,我们得到了一系列的待测电压和电流表的读数。
根据实验数据,我们可以绘制出待测电压和电流表读数的关系曲线。
通过分析曲线,我们可以得出以下结论:1. 直流电压表的灵敏度较高,能够准确测量待测电压的变化;2. 直流电压表的测量范围较广,能够满足大部分实际测量需求;3. 直流电压表的测量精度较高,能够满足精确测量的要求。
六、实验总结:通过本实验,我们成功设计并制作了一台直流电压表。
实验结果表明,该直流电压表具有较高的灵敏度、较广的测量范围和较高的测量精度。
数字电压表的综合设计报告
![数字电压表的综合设计报告](https://img.taocdn.com/s3/m/a5f27d2aaaea998fcc220e33.png)
数字电压表的综合设计一、设计任务1、使用状态机实现对模数转换芯片TLC549的采样控制,实现一个简易的电压表。
并将硬件验证结果与测量电压值进行比较。
二、整体设计1、本次设计是利用FPGA控制 TLC549,将 AD转换后的电压值读出,并显示在数码管。
模块一为TLC549主控制模块,模块二为bcd1即一位BCD码加减模块,模块三为lookup即A/D转换BCD码模块,模块四为scan_led数码显示模块。
然后将模块生成为相应器件,按照原理图连接,得出相应波形及数据。
由FPGA构成的ASIC的三部分电路(如结构示意图所示):(1)用有限状态机设计的A/D转换控制电路;(2)将8位数字量DB0-DB7转换成3位BCD码电压值的转换路;(3)3位LED显示器的译码显示电路;结构示意图2、原理框图3、模数转换-TLC549 ADC的介绍(1)TLC549各引脚功能如下:●ANALOG IN,模拟量输入端;●sclk,串行时钟输入端;●cs,芯片选择,低有效;●DATA OUT,数字量输出端;●GND,模拟接地;●REF+,基准电压输入端;●REF-,基准电压负端;●VCC,正电源电压端。
(2)TCL549的工作时序图当片选 CS为低电平时,串行输人数据才能被移入移位寄存器。
当 CS为低电平时,在每一个SCLK时钟的上升沿将DIN的一位数据移入移寄存器。
注意,二进制最高有效位被导前移入。
接着, CS的上升沿才将移位寄存器的数据锁存,供DAC电路进行转换;当片选CS为高电平时,串行输人数据不能被移入移位寄存器。
注意.CS的上升和下降都必须发生在SCLK为低电平期间。
三、模块设计模块一module tcl549c(clk,cs,sdata,clk_ad,reset,dataout);input clk,reset,sdata;output cs,clk_ad;output[7:0]dataout;reg cs,clk_ad_r,clk_r;reg[7:0]dataout,dataout_r;reg[7:0]count;reg[2:0]temp;reg[3:0]cnt;reg mark;reg flag;parameter [2:0]s0=0,s1=1,s2=2;reg[2:0]c_st;always@(posedge clk)begin if(count<119)count<=count+1;else begin clk_r<=~clk_r;count=0;endendalways@(posedge clk)begin clk_ad_r<=~clk_r;endassign clk_ad=clk_ad_r;always@(posedge clk_r or negedge reset)begin if(!reset) c_st<=s0;else case(c_st)s0:begin cs<=1;mark<=0;if(temp==3)begin temp<=0;c_st<=s1;endelse begin temp<=temp+1;c_st<=s0;endends1:begin cs<=0;mark<=1;c_st=s2;ends2:begin cs<=0;mark<=1;if(flag==1)c_st<=s0;else c_st<=s2;enddefault:c_st<=s0;endcaseendalways@(posedge clk_ad_r)beginif(mark==1)if(cnt==8)begin cnt<=0;flag<=1;endelse begin cnt<=cnt+1;flag<=0;endendalways@(posedge clk_ad_r)beginif(mark==1)if(flag==1)dataout<=dataout_r;else dataout_r={dataout_r[6:0],sdata};//串转并endendmodule模块二/*功能:一位BCD码加减法模块输入参数:标准时钟clk,被减数/加数dataa,减数/加数datab,低位来的借位/进位cin输出参数:向高位的借位/进位cout,差/和result*/module bcd1(dataa, datab,cin, cout, result);input [3:0] dataa;input [3:0] datab;input cin;output reg cout;output [3:0]result;reg [4:0]result_r;assign result=result_r;always @(*)beginresult_r = dataa + datab + cin; // 二进制加法if((result_r > 4'd9 )) //||((result_r == 4'd0)&&(dataa != 0))||((result == 4'd1)&&(dataa != 0)&&(result_ab == 4'd0))/*当结果大于9时,补6,当结果由不同时为0的加数相加得0时,补6*/ beginresult_r = result_r + 4'd6;cout = 1;endelsebeginresult_r = result_r;cout =0;endendendmodule模块三module lookup(V,q);input [7:0]V;output [11:0]q;reg [11:0]q;reg [11:0]HB,LB;wire d1,d2,d3;always@(V)begin case(V[7:4]) //--A/D值的高4位转换成3位BCD码4'b1111: HB<=12'b001001000000; //--2.404'b1110: HB<=12'b001000100100; //--2.244'b1101: HB<=12'b001000001000; //--2.084'b1100: HB<=12'b000110010010; //--1.924'b1011: HB<=12'b000101110110; //--1.764'b1010: HB<=12'b000101100000; //--1.604'b1001: HB<=12'b000101000100; //--1.444'b1000: HB<=12'b000100101000; //--1.284'b0111: HB<=12'b000100010010; //--1.124'b0110: HB<=12'b000010010110; // --0.964'b0101: HB<=12'b000010000000; // --0.804'b0100: HB<=12'b000001100100; //--0.644'b0011: HB<=12'b000001001000; //--0.484'b0010: HB<=12'b000000110010; //--0.324'b0001: HB<=12'b000000010110; //--0.164'b0000: HB<=12'b000000000000; // --0.00default: HB<=12'b111111111111;endcasecase(V[3:0]) //--A/D值低4位变为3位BCD码4'b1111: LB<=12'b000000010101; // --0.154'b1110: LB<=12'b000000010100; // --0.144'b1101: LB<=12'b000000010011; // --0.134'b1100: LB<=12'b000000010010; // --0.124'b1011: LB<=12'b000000010001; // --0.114'b1010: LB<=12'b000000010000; // --0.104'b1001: LB<=12'b000000001001; // --0.094'b1000: LB<=12'b000000001000; // --0.084'b0111: LB<=12'b000000000111; // --0.074'b0110: LB<=12'b000000000110; // --0.064'b0101: LB<=12'b000000000101; // --0.054'b0100: LB<=12'b000000000100; // --0.044'b0011: LB<=12'b000000000011; // --0.034'b0010: LB<=12'b000000000010; // --0.024'b0001: LB<=12'b000000000001; // --0.014'b0000: LB<=12'b000000000000; // --0.00default: LB<=12'b111111111111;endcaseendbcd1u1(.dataa(LB[3:0]),.datab(HB[3:0]),.result(q[3:0]),.cin(1'b0),.cout(d 1));bcd1u2(.dataa(LB[7:4]),.datab(HB[7:4]),.result(q[7:4]),.cin(d1),.cout(d2) );bcd1u3(.dataa(LB[11:8]),.datab(HB[11:8]),.result(q[11:8]),.cin(d2),.cout( d3));endmodule模块四module scan_led(clk_1k,d,dig,seg); //模块名scan_ledinput clk_1k; //输入时钟input[11:0] d; //输入要显示的数据output[7:0] dig; //数码管选择输出引脚output[7:0] seg; //数码管段输出引脚reg[7:0] seg_r; //定义数码管输出寄存器reg[7:0] dig_r; //定义数码管选择输出寄存器reg[3:0] disp_dat; //定义显示数据寄存器reg[2:0]count; //定义计数寄存器assign dig = dig_r; //输出数码管选择assign seg = seg_r; //输出数码管译码结果always @(posedge clk_1k) //定义上升沿触发进程beginif(count<2)count <= count + 1'b1;else count<=0;endalways @(posedge clk_1k)begincase(count) //选择扫描显示数据3'd0:disp_dat = d[11:8]; //第一个数码管3'd1:disp_dat = d[7:4]; //第二个数码管3'd2:disp_dat = d[3:0]; //第三个数码管endcasecase(count) //选择数码管显示位3'd0:dig_r = 8'b01111111; //选择第一个数码管显示3'd1:dig_r = 8'b10111111; //选择第二个数码管显示3'd2:dig_r = 8'b11011111; //选择第三个数码管显示endcasecase(count)3'd0:seg_r[7]=0;3'd1:seg_r[7]=1;3'd2:seg_r[7]=1;endcaseendalways @(disp_dat)begincase(disp_dat) //七段译码4'h0:seg_r[6:0] = 7'b1000000; //显示04'h1:seg_r[6:0] = 7'b1111001; //显示14'h2:seg_r[6:0] = 7'b0100100; //显示24'h3:seg_r[6:0] = 7'b0110000; //显示34'h4:seg_r[6:0] = 7'b0011001; //显示44'h5:seg_r[6:0] = 7'b0010010; //显示54'h6:seg_r[6:0] = 7'b0000010; //显示64'h7:seg_r[6:0] = 7'b1111000; //显示74'h8:seg_r[6:0] = 7'b0000000; //显示84'h9:seg_r[6:0] = 7'b0010000; //显示9 default:seg_r[6:0] = 7'b1111111;endcaseendendmodule仿真波形如下:四、结论调节SPOC实验平台上的相应按钮,使显示管出现不同的电压数值,同时使用万用表测出对应的电压数值。
电压表的设计报告
![电压表的设计报告](https://img.taocdn.com/s3/m/8b5164e8e009581b6bd9eb1d.png)
电压表的设计报告班级:姓名:学号:电压表的设计报告一、课程设计题目: 电压表的设计二、实验目的:☆掌握A/ D转换与单片机的接口方法。
☆了解A/ D芯片0809转换性能及编程方法。
☆通过实验了解单片机如何进行数据采集。
三、课程设计任务和基本要求:☆设计任务运用AD转换芯片做一电压表,并能通过LED显示电压值。
☆基本要求1、能够正确的连线及下载。
2、编制程序,将模拟量转换成数字量,通过二位八段数码管显示器显示。
四、课程设计题目分析:☆设计要点利用实验仪上的0809做A/ D转换实验,实验仪上的W1电位器提供模拟量输入,W2电位器提供参考电压。
并将转换后的数字量通过两位数码管显示器显示。
☆工作原理A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D转换器,速度快,价格也昂贵。
实验用ADC0809属第二类,是8位A/ D转换器。
每采集一次一般需100μs。
由于ADC0809 A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/ D转换结果。
其原理图与接线图如下:问题:1.EOC引脚未接2.CLK引脚上应接640KHz的时钟脉冲解决方法:1.将EOC引脚经过一次取反后接到外部中断0或1上,通过中断读取转换后的结果;或接到P1.0引脚上,通过查询法得转换结果。
2.将CLK接至时钟电路的T2输出端,或通过定时器在P1.1引脚上产生500KHz的时钟脉冲(令定时器0工作于方式2,在12MHz的时钟频率下,定初始值为FFH,关闭中断)。
五、实验步骤:1. 把A/D区0809的0通道IN0用插针线接至W1的中心抽头V01插孔(0—5V)。
2. 0809的CLK插孔与分频输出端T4相连(得到125kHz的频率)。
需要640KHz,=4MHz/,即应该和分频器的T2输出端相连才对!3. 将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。
数字电压表设计报告
![数字电压表设计报告](https://img.taocdn.com/s3/m/9c7d5685d4d8d15abe234e81.png)
数字电压表设计(设计者:陈)一、设计任务和要求1.1、任务描述:1、以单片机为核心,设计一个数字电压表,能够对至少两路0~5V 的模拟电压进行采集,采集数据送LED 显示。
2、设计显示模式切换按钮,可单独显示某一路电压信号,也能对所有电压信号进行循环显示。
3、超过界限指示灯闪烁。
4、创新功能 1.2、任务要求:1、理解任务书要求,明确分工,查找相关资料,制定系统方案;2、论证系统设计方案,运用Proteus 等软件绘制电路原理图;3、根据硬件电路,确定算法,设计程序框图,编写程序代码;4、误差分析与改进,完成设计报告。
二、方案论证2.1、由ADC0808构成模数转换,其原理图如下所示:ADA ADB ADC OUT121ADD B 24ADD A25ADD C 23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START 6OUT58EOC 7OE9CLOCK 10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE 22U2ADC0808Volts+1.30Volts+4.2526%RV11k85%RV21k2.2、由ATC89C51控制程序模块,由IO 口分别对显示,输入等模块进行控制。
2.3、由四位一体数码管对测量值进行显示,如下图所示:E G 1E G 2E G 3E G 4R24702.3、由按钮控制循环/单路切换,如下图所示:KEY1循环/单路KEY2通道选择2.4、LED 灯报警,当电压超过一定值时会闪烁。
D1LED-BLUE三、电路基本单元电路设计下面是数字电压表的原理图:S E G 1S E G 2S E G 3SEG1SEG2SEG3ADA ADA ADB ADCADB ADC SEG4S E G 4XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC130pFC230FR110kC310uFOUT121ADD B 24ADD A25ADD C 23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START 6OUT58EOC 7OE9CLOCK 10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE 22U2ADC0808R2470R3470R4470R5470R6470R7470R8470R9470+88.8Volts+88.8Volts26%RV11k85%RV21kKEY1循环/单路KEY2通道选择D1LED-BLUE3.1、主控模块该设计的核心控制电路是 AT89C52单片机。
数字电压表的设计与制作报告
![数字电压表的设计与制作报告](https://img.taocdn.com/s3/m/b3f1820d6c85ec3a87c2c5c4.png)
1课题名称数字电压表的设计与制作2设计指标及要求3位的数字电压表电路,技术指标要求是:设计并制作一个通用液晶显示211)直流电压测量范围(0-200V):共分5档200mV、2V、20V、200V;2)基本量程:200mV,测量速率(2-5)次任选;3)分辨率0.1mV;γ4)测量误差:%1.0±≤5)具有正、负电压极性显示,小数点显示和超量程显示。
3方案论证方案一:采用AT89S52单片机为核心、以AD0809数模转换芯片采样、以1602液晶屏显示制作具有电压测量功能的具有一定精度的数字电压表。
AT89S52是一个低功耗,高性能CMOS 8位单片机;8位AD转换器ADC0809,编程简单方便,价格便宜;采用液晶1602做为显示电路,功能强大,适合做各类扩展。
但该方案涉及的编程复杂,同时硬件电路也颇复杂。
方案二:采用ICL7106A/D转换器,液晶显示器EDS801A配以外围电路进行设计。
ICL7106是美国Intersil公司专为数字仪表生产的数字仪,满幅输入电压一般取200mV或2V。
该芯片集成度高,转换精度高,抗干扰能力强,输出可直接驱动LCD液晶数码管,只需要很少的外部元件,就可以构成数字仪表模块,硬件电路简单,而且精度高,完全可以实现要求。
综合分析,同时结合到软硬件实际,选择方案二,原理简单,仅涉及硬件电路。
4系统框图4.1 系统框图5单元电路设计及参数计算5.1AD转换器及外围电路设计电路图如下图5.1所示。
图5.1 AD转换器及外围电路图其中液晶显示采用EDS801,将其各数码的字段及公共端与ICL7106相应端联接。
OSC1、OSC2和OSC3是内部时钟的外接电阻和电容引脚;TEST是数字逻辑地端;VRH和VRL是参考电压的输入端,参考电压决定着AD转换器的灵敏度,它是由U DD分压而来,调节P R分压比可调节灵敏度(调满);两个CR脚是基准电容的外接引脚;COM端是模拟信号公共端;AZ、BUF和INT分别是自动调零端、缓冲控制端和积分器输出端;U+和U-为电源端;IN+和IN-为待测信号输入端。
数字电压表的设计实验报告
![数字电压表的设计实验报告](https://img.taocdn.com/s3/m/41dfe9b9192e45361166f591.png)
.课程设计——基于51数字电压表设计物理与电子信息学院电子信息工程1、课程设计要求使用单片机AT89C52和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。
在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。
2、硬件单元电路设计AT89S52单片机简介AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
ADC0832模数转换器简介ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。
图1芯片接口说明:·CS_ 片选使能,低电平芯片使能。
·CH0 模拟输入通道0,或作为IN+/-使用。
·CH1 模拟输入通道1,或作为IN+/-使用。
·GND 芯片参考0 电位(地)。
数字电压表设计报告
![数字电压表设计报告](https://img.taocdn.com/s3/m/c50e6d4f10661ed9ad51f39f.png)
31/2数字电压表一.设计目的课程设计的主要目的是通过某一模拟、数字电路的综合设计,熟悉一般模拟、数字电路综合设计过程,设计要求,应完成的工作内容和具体的设计方法。
通过设计也有助于复习、巩固以往的学习内容,达到灵活应用的目的。
在设计完成后还要将设计的电路安装,调试以加强动手能力,在此过程中培养从事设计工作的整体观念。
课程设计以培养能力为主,在独立完成设计任务的同时注重多方面能力的培养与提高,主要包括一下几方面:1.独立工作能力和创造力;2.综合运用专业以及基础知识,解决实际工程技术问题的能力;3.查阅图书资料、产品手册和各种工具书的能力;4.工程绘图能力;5.写技术报告和编制技术资料的能力。
二.设计指标1.能测量0-1.999V、0-19.99V、0-199.9V值;2.三位半数码显示;3.测量交直流电压;4.使用元器件越少越好。
三.设计方案及选择讨论数字电压表的主要内容可归纳为电压测量的数字化方法。
其关键是如何把连续的随时间变化的模拟量转化为数字量。
5.电路总体框图如图1-3所示图1-3 电路总体框图此方案所用器材:⒈数字逻辑试验箱万用表、直流电压源、双踪示波器、配线安装工具⒊集成电路及元器件的名称、型号及数量。
见表1-1:序号名称 型号 数量 1 双积分单片ADC MC14433 1块 2 BCD 七段译码器驱动器 CD4511 1块 3 达林顿反相驱动器 MC1413 1块 4 LED 七段显示数码管LG5011AH4只 5电阻、电容若干四、 单元电路设计⒈ 桥式整流电路:整流电路的任务是将交流点变换成直流电,完成这一任务主要是靠二极管单向导电作用,故二极管是构成整流电路的关键元件。
电路如图4-1-1:⒉ 量程控制电路:采用多量程选择的分压电阻网络,可按整机输入电阻为100M Ω标准经计算得4个分压电阻分别为9M Ω、900K Ω、90K Ω、10K Ω,可用四个双刀双掷开关进行控制切换,实现多量程扩展电压测量功能。
382203$liqinping$电压表的设计报告
![382203$liqinping$电压表的设计报告](https://img.taocdn.com/s3/m/ea5c83aad1f34693daef3eb7.png)
一前言单片机是在一块半导体材料上集成了CPU、存储器、I/O接中等各种功能部件,具有体积小、功耗低、价格便宜、功能强、可靠性好和使用方便灵活的特点。
随着以半导体集成电路为中心的微电子技术的进步,单片机在工业控制、数据采集、智能化仪表、办公自动化以及家用电器等各个储藏中得到了越来越广泛的应用。
数字电压表(DigitalVoltmeter简称DVM) 是采用数字化测量技术,把连续的模拟电压量转换成不连续、离散的数字化形式并加以显示的仪表。
传统指针式电压表功能单一、精度低,难于满足数字化时代的需求,采用A/D 转换器和单片机构成的数字电压表,由于具有测量精度高, 抗干扰和可扩展能力强, 以及集成性能好等优点,目前已被广泛应用于电子及电工测量 ,工业自动化仪表、自动测试系统等智能化测量领域。
二方案比较与论证方案一:图1 方案一框图本方案是利用ADC0809对被测电压进行采样,然后经过AT89S51进行处理,送数码管显示。
但本方案不能实现量程的自动选择,而且精度不高,显示部分只能显示数字,不能显示字母和字符。
方案二:本方案采用LCD作为显示终端,电路增加一个八路的模拟开关(CD4051)作为量程选择开关,由单片机控制是哪路开关闭合来控制前级的运算放大器实现量程的自动调节。
图2 方案二框图综上所述,发现方案二比较符合设计的要求,而且成本低廉,本次主要采用方案二利用AT89S51这个比较经济而又适用的芯片加上51开发系统及其它一些外围部件,再利用微型计算机编写所需的程序来进行数字电压表的设计。
三硬件电路设计1各单元模块功能介绍及电路设计硬件电路包括控制电路,液晶显示电路,采样放大电路, AD转换电路以及发光二极管电路。
1.1控制电路控制电路部分由AT89C51为主要器件,控制电路部分是本设计的核心,其根据单片机的有关知识结合C语言编写出整个电路的程序,所以AT89C51是最关键的电路。
1.2液晶显示电路液晶显示器件的优点: (1)低电压微功耗。
交流数字电压表设计报告
![交流数字电压表设计报告](https://img.taocdn.com/s3/m/bb979cc75fbfc77da269b17f.png)
交流数字电压表设计报告摘要一.要求设计并制作交流数字电压表,显示器可用LCD或数码管。
1.基本要求(1)测量范围:10mV~2V(有效值)(2)频率范围:100Hz~10KHz(3)满量程:200mV,2V(4)显示范围:十进制数0~1999(5)测量分辨率:1mV(2V档)(6)测量误差:≤±0.5%±5个字(7)采样速率:≥10次/秒(8)输入电阻:≥100k2.发挥部分(1)测量范围:1mV~2V(2)频率范围:10Hz~1MHz(可分2个频段)(3)具有自动量程转换功能基于电路设计的要求,交流数字电压表电路主要由放大电路、交流转直流并测出有效值模块、A/D转换、控制模块、显示等电路模块组成。
通过将交流电压信号放大,再将放大的交流电压信号进行直流转换并测出有效值,进行AD信号采集,采集后的信号传入单片机,控制器模块实现LED显示,键盘输入进行量程选择功能。
1系统方案设计与论证1.1 设计思路基于题目的基本要求,大体设计思路可以采用下图所示的方案。
系统主要由放大电路、AC—DC变换器、交流转直流并测出有效值模块、控制模块、显示等电路模块组成。
通过将交流电压信号放大,再将放大的交流电压信号进行直流转换并测出有效值,之后进行AD转换并进行采集,采集后的信号传入单片机,控制器模块实现LED显示,键盘输入进行量程选择功能。
1.2方案的论证1.2.1.交流电压放大方案一:采用LM358LM358放大电路LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器(LM2904和LM2904Q)。
我们用LM2904Q将交流电压放大5倍。
用LM2904将交流电压放大50倍。
技术指标:LM358的供电范围是3V~30V。
输入端电压范围是-0.3V~32V。
由于其输出端的电压范围为0~VCC-1.5V。
我们所需放大的电压为200mV,所需放大的倍数为5倍和50倍。
因此为满足技术要求我们选择VCC为12V。
数字电压表课程设计报告
![数字电压表课程设计报告](https://img.taocdn.com/s3/m/c6a743682bf90242a8956bec0975f46527d3a7be.png)
数字电压表课程设计报告一、实验目的本实验旨在使学生掌握数字电压表的基本原理、构成和使用方法,通过实践锻炼学生的动手操作能力和实际问题解决能力。
二、实验器材数字电压表、直流稳压电源、电阻箱、待测电路板等。
三、实验内容1.数字电压表的基本原理、构成和使用方法的介绍;2.根据实验要求搭建待测电路;3.调节直流稳压电源输出电压为所需值;4.连接数字电压表到待测电路上并测量电压值;5.对测得的电压值进行分析、处理和讨论。
四、实验流程及步骤1.实验器材准备:数字电压表、直流稳压电源、电阻箱、待测电路板等器材;2.理解数字电压表的基本原理与构成,并熟练掌握使用方法;3.根据实验所需,找到相应的电路板,搭建待测电路,并连接好直流稳压电源;4.调节直流稳压电源的输出电压为所需值,并连接数字电压表到待测电路上;5.测量待测电路的电压值,并在数字电压表上进行记录;6.对测得的电压值进行分析、处理和讨论,并得出实验结论。
五、实验注意事项1.在操作实验器材时,务必严格按照使用说明书和教师的要求进行操作;2.实验器材保持完好无损,任何破损的器材均不能使用;3.实验前需仔细了解实验内容,规划实验流程;4.在操作实验时,要认真记录实验数据,并进行及时分析处理;5.实验结束后,将实验器材妥善归位,保持实验室整洁干净。
六、实验结果及结论通过实验,我们得到了待测电路的电压值,并对其进行了分析、处理和讨论。
根据实验结果和所给数据,我们得出了结论:数字电压表可准确测量待测电路的电压值,为后续研究和实践提供重要依据。
七、实验心得体会通过本次实验,我对数字电压表的原理及其使用方法有了更深入的了解,并通过实践掌握了一定的动手操作能力和实际问题解决能力。
同时,我认识到在实验中必须注重细节和注意安全,仔细完成每一个实验步骤,及时记录和分析实验数据,才能使实验结果更加准确和可靠。
~V数字式直流电压表设计实验报告
![~V数字式直流电压表设计实验报告](https://img.taocdn.com/s3/m/105fa79852ea551810a687dd.png)
uint adc_val,dis_val;
uchar i,cnt;
/************************************************/
void port_init(void)
return(temp2);
}
/**************************/
uint conv(uint i)
{
long x;
uint y;
x=(5000*(long)i)/1023;
y=(uint)x;
return y;
}
void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++)
Delay_nms(5);
LcdWriteCommand(0x0c);//开显示,不显示光标
Delay_nms(5);
}
//************写命令到LCM子函数************
void LcdWriteCommand(uchar CMD)
{
LCM_RS_0;LCM_RW_0;
DataPort=CMD;
2. 掌握数据采集与显示的应用;
3.掌握数据处理的方法;
二、实验内容
1. 编一程序,实现0~5V 数字式直流电压表功能,用电位器RV1 作模拟量的输入,右边4
位数码管显示输入电压值,使用 PA7 进行模拟量输入。其仿真电路见下图5-1所示。
图5-10~5V 数字式直流电压表仿真电路图
2.实现输入信号的幅值为 0~10V,重新设计实现电路和算法程序,电路图如5-2所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号 XX
虚拟仪器
学生姓名XX
专业班级XX
基于LABVIEW的数字电压表的设计
一、设计目的
1.掌握数字电压表的基本原理和方法。
2.基于LabView设计数字电压表并实现。
二、设计原理
电压是电路中常用的电信号,通过电压测量,利用基本公式可以导出其他的参数。
因此,电压测量是其他许多电参数和非电参数量的基础。
测量电压相当普及的一种测量仪表就是电压表,但常用的是模拟电压表。
模拟电压表根据检波方式的不同。
分为峰值电压表、均值电压表和平均值电压表,它们都各自做成独立的仪表。
这样,使用模拟电压表进行交流电压测量时,必须根据测量要求选择仪表。
另外,多数电压表的表头是按正弦交流有效值刻度的,而测量非正弦波时,必须经过换算才能得到正确的测量结果,从而给实际工作带来不便。
采用虚拟电压表,可将表征交流电压特征的峰值、平均值和有效值集中显示在一块面板上,测量时可根据波形在面板上选择仪表,用户仅通过面板指示值就能对测量结果进行分析比较,大大简化了测量步骤。
三、设计思路
LabVIEw 8.5版本的工程技术比以往任何一个版本都丰富.它采用了英文界面,各个控件的功能一目了然。
利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。
LabVIEW 8.2对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。
所以在LabVIEW 8.5版本下能够更方便地实现虚拟电压表的设计。
该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够让使用者了解和掌握电压的测量和电压表对各种波形的不同响应。
因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。
所以,用软件虚拟了一个信号发生器。
该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。
根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。
因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为
两个部分:第一部分是虚拟电压表前面板的设计;第二部分是虚拟电压表流程图的设汁。
1、前面板的设计
前面板模拟真实电压表的前面板,用于设置输入数值和观察输出量。
由于虚拟面板直接面向用户,是虚拟电压表控制软件的核心。
设计这部分时,主要考虑界面美观、操作简洁,用户能通过面板上的各种按钮、开关等控件来控制虚拟电压表进行测量工作。
根据传统电压表面板控件的功能,利用LabVIEW中的控制模板,分别在设计面板上放入模拟实际电压表控件的数据输入控件、显示器、数据输出控件、开关、选择器,显示器用于显示输入的信号波形;数据输入控件主要用于输入被测信号的信号频率、采样频率、采样数、振幅和相位;数据输出控件则用于输出被测信号经过处理后得到的峰值、平均值和有效值及标准频率的有效显示。
打开LabVIEW前面板的编辑窗口,点击鼠标右键,显示控制模板,选择图形一波形图,作为电压表的显示器。
在显示器模板上点击鼠标右键,对其进行属性设置,例如根据示波器的频率与幅度值的变化,利用工具模板中的文字工具,对示波器横(时间)、纵(幅度)坐标的刻度进行重新设置。
用Graph控件设计的示波器是完全同步的,且波形稳定。
选择控件→数值→数值输入控件/数值显示控件,作为电压表参数设置中输入和测试结果的数据显示。
选择控件→下拉列表与枚举→菜单下拉列表,放置对输入波形选择开关,在下拉列表中单击鼠标右键,选择“编辑项”对其进行编辑。
“电源开关”控件选择经典→经典布尔→方形按钮,当按下开关时,虚拟电压表开始运行,同时电源开关的指示灯亮。
同样,当弹起开关时,虚拟电压表停止运行。
前面板如图1所示。
显示界面:
模拟信号生成:
2、流程图的设计
每一个前面板都对应一个流程图程序。
前面板的设计完成后,可对流程图程序进行设计。
打开LabVIEW设计环境中的窗口→显示程序框图,进入流程图编辑窗口,与前面板各控件对应的端口图标自动出现在流程图编辑窗口中。
利用LabVIEW中的功能模块,根据虚拟示波器前面板各控件的作用和联系,虚拟示波器运作后数据流的控制,分别在流程图设计面板中放置各个功能模块,合理摆放后,在用连线工具依次连接,以实现虚拟示波器的功能。
数据流的编辑主要是对端口图标的连接。
用连线工具进行连线时,如果端口闪烁,说明相连的数据类型匹配,否则不能连接。
(1)虚拟信号发生器的实现
由于虚拟电压表主要用于演示,所以为了方便,可直接利用LabVIEW软件产生仿真信号。
在该设计中,设置了正弦波、锯齿、波方波和三角波以及由公式确定的任意波形等基本波形。
在程序设计框图中,使用一个Case(选择)语句对四种波形进行选择。
Case 语句中,每一个数字(0,1,2,3,4)都代表一种波形,与前面板控件中5种状态相对应。
至于Case语句的制作,只需将5个图标中的一个,例如正弦波发生程序,用Case框起来,然后在上面的空白处写上相应的数字,例如1;然后点击箭头,可以设置第二个图标,如果要添加一个Case的话,可以点击鼠标右键,直接添加,编辑相应的基本信号发生器VI中相应的节点即可。
在添加公式波时,要把基本信号发生器VI换成公式波形VI,本文给出了Case结构的一个分支,公式波形的流程图如图2所示。
该子Ⅵ可使用指定时间函数的公式字符串生成一个函数波形,它要求公式的自变量必须是t,它所支持的运算符和常用的函数。
具体函数如下图:
基本函数发生器:
由信号类型可以选择生成波形的类型
0 ——正弦波;
1 ——三角波;
2 ——方波;
3 ——锯齿波;
采样信息包含每秒采样率,和波形的采样数。
(默认值都为1000)。
波形从信号输出中输出来。
公式波形:
另外,在模拟状态下,信号频率以赫兹或者每秒周期数为单位。
但是在数字系统中,通常使用数字频率,它是信号频率与采样频率的比值,被称为标准频率。
所以,在框图程序中,应当在信号频率与采样频率之间加载一个除法器。
在波形发生程序按照规定的参数产生波形后,如果将波形直接输入波形显示控件,那将是错误的。
因为波形显示控件,并不像数据显示控件那样只需要一个或一组数据,因此波形能否按规定显示出来,取决于输入的几组不同且具有决定性的数据,例如周期、相位等。
(2) 数据处理部分
数据处理部分的作用,就是将产生出的信号通过不同形式的检波、计算,得出规定的不同的结果。
在该设计中同时显示交流有效值、峰值和平均值。
对于一个纯粹的交流电压,正半周期信号与负半周期信号对称,U的平均值等于零,所以一般不直接测量平均值。
在设计时,按函数→数值→绝对值取交流电压的绝对值,然后求平均值,取全波平均值。
交流电压中的最大值,即为峰值。
可以通过比较数据求出最大值,这需要使用波形最大、最小子虚拟仪器来处理框图。
有效值显示:在函数→信号处理→波形测量中选择基本平均直流均方根。
其框图符号如图所示。
上图中,DC 均值为测量的直流分量;均方根测量有效值;reset用于重启过去记录的时间信号、平均测量的参数;在单个模块VI中,可依据输入记录长度自动设置平均时间;Window是在DC/RMS计算之前,用于记录时间的窗;erroe in 是在该VI运行之前描述错误环境,默认值为no error。
如果错误已经发生,该
VI在errorout端返回错误代码,子VI在无错误时才正常运行。
(3)开关部分
用一个while条件语句设计整个框图程序,当模拟电压开关为“1”时,虚拟电压表工作,条件语句中的程序开始运行;当模拟开关为“0”即关时,条件语句中的程序停止运行,虚拟电压表不工作。
设计好的流程图如图所示。
四、调试过程
(1)生成信号设置:
(2)实验数据:
(3)数据分析:
由上述结果可得出:由于电压信号的对称性和周期性,它的直流平均为零;有效值等效于模拟电压表所测的数值。
五、性能分析:
该软件可以准确的测出正弦,方波,三角波,锯齿波以及任意波形的电压有效值,直流平均值等等,如下图:
六、实验小结:
经过实际使用,虚拟电压表的控制键和功能基本正常(除停止按钮不起作
用),基本符合使用要求。
需要指出的是,在设计该虚拟电压表时,签于标其使用的目的,仅从功能上考虑,并未对虚拟电压表的技术指进行深入研究。
事实上,峰值是取样值的最大值,而取样点不可能取得太多,否则运行速度太慢,因此显示的峰值与理论值是有差别的,例如此仪器在测量频率时,给出测量的标准值为10,但实际试验结果为9-11之间波动,误差较大。