电压表实验报告
三相交流电路电压,电流的测量实验报告
三相交流电路电压,电流的测量实验报告三相交流电路电压、电流的测量实验报告一、实验目的1、熟悉三相交流电路的连接方式。
2、掌握三相交流电路中电压和电流的测量方法。
3、理解三相交流电路中电压和电流的关系。
二、实验原理三相交流电源由三个频率相同、幅值相等、相位互差 120°的正弦交流电压源组成。
在三相四线制供电系统中,有三根相线(火线)和一根中性线(零线)。
相线与相线之间的电压称为线电压,相线与中性线之间的电压称为相电压。
在星形连接(Y 形连接)中,线电压是相电压的√3 倍,且线电压超前相应的相电压 30°。
在三角形连接(△形连接)中,线电压等于相电压。
电流的测量可以使用电流表,通过将电流表串联在电路中进行测量。
三、实验设备1、三相交流电源2、交流电压表3、交流电流表4、若干导线5、三相负载(电阻、电感、电容等)四、实验步骤1、按星形连接方式连接三相负载将三相负载的三个端点分别连接到三相交流电源的三根相线上,负载的公共点连接到中性线上。
用交流电压表测量三相电源的相电压和线电压,记录测量值。
用交流电流表测量各相的电流,记录测量值。
2、按三角形连接方式连接三相负载将三相负载依次首尾相连,形成一个闭合的三角形,然后将三角形的三个顶点分别连接到三相交流电源的三根相线上。
用交流电压表测量三相电源的线电压,记录测量值。
用交流电流表测量各相的电流,记录测量值。
3、改变负载的性质(电阻、电感、电容),重复上述步骤,观察电压和电流的变化。
五、实验数据记录与处理1、星形连接|测量项目|测量值|||||相电压 UAN |_____ V ||相电压 UBN |_____ V ||相电压 UCN |_____ V ||线电压 UAB |_____ V ||线电压 UBC |_____ V ||线电压 UCA |_____ V ||相电流 IA |_____ A ||相电流 IB |_____ A ||相电流 IC |_____ A |2、三角形连接|测量项目|测量值|||||线电压 UAB |_____ V ||线电压 UBC |_____ V ||线电压 UCA |_____ V ||相电流 IA |_____ A ||相电流 IB |_____ A ||相电流 IC |_____ A |3、数据分析比较星形连接和三角形连接时的线电压和相电压关系,验证理论推导。
数字电压表课程设计实验报告
自动化与电气工程学院电子技术课程设计报告题目数字电压表的制作专业班级学号学生姓名指导教师二○一三年七月一、课程设计的目的与意义1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。
2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。
3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。
在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。
在此过过程中培养从事设计工作的整体观念。
4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。
二、电路原理图数字电压表原理图三、课程设计的元器件1.课程设计所使用的元器件清单:2.主要元器件介绍(1)芯片ICL7107:ICL7107的工作原理双积分型A/D转换器ICL7107是一种间接A/D转换器。
它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。
它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。
积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基准电压进行两次积分。
比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。
时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。
它是由内部的两个反向器以及外部的RC组成的。
其振荡周期Tc=2RCIn1.5=2.2RC 。
ICL7106A/D转换器原理图计数器对反向积分过程的时钟脉冲进行计数。
控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。
分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。
基本电参数测量的实验报告
基本电参数测量的实验报告基本电参数测量的实验报告引言:电力是现代社会不可或缺的能源,而电能的传输和利用离不开对电路中基本电参数的测量。
本实验旨在通过实际测量,掌握电流、电压和电阻的测量方法,并了解其在电路中的作用和意义。
一、电流的测量方法及实验结果电流是电荷在单位时间内通过导体的数量,是电路中最基本的电参数之一。
测量电流的方法有电流表法和电压表法两种。
1. 电流表法电流表法是通过将电流表接入电路中,测量电流表的示数来得到电流大小。
实验中,我们使用了模拟式电流表进行测量。
首先,将电流表的量程调整到适当的范围,然后将电流表与待测电路串联,记录电流表的示数。
实验结果显示,通过待测电路的电流为2.5A。
2. 电压表法电压表法是通过测量电路两点间的电压差来求得电流大小。
在实验中,我们使用了模拟式电压表进行测量。
首先,将电压表的量程调整到适当的范围,然后将电压表的两个探头分别连接到待测电路的两个端点,记录电压表的示数。
实验结果显示,待测电路的电压差为5V。
根据欧姆定律,通过待测电路的电流为2.5A,与电流表法得到的结果一致。
二、电压的测量方法及实验结果电压是电路中的电势差,是电子流动的驱动力。
测量电压的方法有直接测量法和间接测量法两种。
1. 直接测量法直接测量法是通过将电压表的两个探头直接连接到待测电路的两个端点,测量电压表的示数来得到电压大小。
在实验中,我们使用了模拟式电压表进行测量。
将电压表的量程调整到适当的范围,然后将电压表的两个探头分别连接到待测电路的两个端点,记录电压表的示数。
实验结果显示,待测电路的电压为5V。
2. 间接测量法间接测量法是通过测量电路中的其他参数,如电流和电阻,来计算得到电压大小。
在实验中,我们已经通过电流表法测得了待测电路的电流为2.5A,而电阻是电压与电流之比。
因此,可以通过乘积关系得到待测电路的电压为5V,与直接测量法得到的结果一致。
三、电阻的测量方法及实验结果电阻是电路中阻碍电流流动的物理量,是电路中的基本元件之一。
电学基本测量实验报告
电学基本测量实验报告电学基本测量实验报告引言:电学基本测量是电工学科中非常重要的一部分,它涉及到电流、电压、电阻等基本物理量的测量和分析。
本实验旨在通过实际操作测量电路中的各种参数,加深对电学基础知识的理解,并掌握相应的测量技术和仪器的使用。
实验一:电流测量在本实验中,我们使用了电流表来测量电路中的电流。
在测量之前,我们需要先选择合适的量程,并将电流表与电路正确连接。
在测量过程中,我们发现电流表的内阻对测量结果有一定的影响,因此需要对电路进行修正。
通过实验数据的分析,我们可以得出电流与电压之间的关系,并进一步了解欧姆定律的应用。
实验二:电压测量电压是电路中的另一个重要参数,我们使用电压表来进行测量。
在实验中,我们需要注意选择合适的量程,并将电压表正确接入电路。
同时,为了减小电压表对电路的影响,我们需要选择合适的测量方式,如并联法或串联法。
通过实验数据的分析,我们可以研究电压与电流之间的关系,并探究电路中的功率转换。
实验三:电阻测量电阻是电路中的重要元件,我们使用电阻表进行测量。
在测量电阻之前,我们需要将电路断开,并将电阻表正确接入电路。
通过实验数据的分析,我们可以研究电阻与电流、电压之间的关系,并进一步了解欧姆定律和功率定律的应用。
此外,我们还可以通过测量不同电阻的值,验证电阻的串联和并联规律。
实验四:电功率测量电功率是电路中能量转换的重要指标,我们使用功率表进行测量。
在测量电功率之前,我们需要将功率表正确接入电路,并选择合适的量程。
通过实验数据的分析,我们可以研究电功率与电流、电压之间的关系,并探究电路中的能量转换和损耗情况。
此外,我们还可以通过测量不同电器的功率消耗,了解电器的能效和使用效果。
结论:通过本次实验,我们深入学习了电学基本测量的原理和方法,掌握了电流表、电压表、电阻表和功率表的使用技巧。
通过实际操作和数据分析,我们加深了对电路中各种参数之间关系的理解,并进一步认识到电学基础知识在实际应用中的重要性。
【实验】测量电压实验报告
【关键字】实验测量电压实验报告篇一:基于Labview的电压测量仿真实验报告仿真实验一基于Labview的电压测量仿真实验一、实验目的1、了解电压测量原理;2、通过该仿真实验熟悉虚拟仪器技术——LABVIEW的简单编程方法;3、通过本次实验了解交流电压测量的各种基本概念。
二、实验仪器微机一台、LABVIEW8.5软件三、实验原理实验仿真程序如下(正弦波、三角波、锯齿波、方波(占空比30%、50%、60%):四、实验内容及步骤(1)自己编写LABVIEW仿真信号源实验程序,要求可以产生方波(占空比可调)、正弦波、三角波、锯齿波等多种波形,而且要求各种波形的参数可调、可控。
(2)编写程序对各种波形的有效值、全波平均值、峰值等进行测量,在全波平均值测量时要注意程序编写过程。
同时记录各种关键的实验程序和实验波形并说明。
实验所得波形如下:(正弦波、三角波、锯齿波、方波(占空比30%、50%、60%):正弦波:三角波:锯齿波:方波(占空比30%):方波(占空比50%):方波(占空比60%):(3)对各种波形的电压进行测量,并列表记录。
如下表:五、实验小结由各波形不同参数列表可知,电压量值可以用峰值、有效值和平均值表征。
被测电压是非正弦波的,必须根据电压表读数和电压表所采用的检波方法进行必要地波形换算,才能得到有关参数。
篇二:万用表测交流电压实验报告1万用表测交流电压实验报告篇三:STM32 ADC电压测试实验报告STM32 ADC电压测试实验报告一、实验目的1.了解STM32的基本工作原理2. 通过实践来加深对ARM芯片级程序开发的理解3.利用STM32的ADC1通道0来采样外部电压值值,并在TFTLCD模块上显示出来二、实验原理STM32拥有1~3个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率)。
STM32的ADC是12位逐次逼近型的模拟数字转换器。
它有18个通道,可测量16个外部和2个内部信号源。
电表的改装与校准实验报告
实验报告【实验目的】1、掌握电流表和电压表的改装方法。
2、学会校准电流表和电压表。
3、学习欧姆表的设计与制作。
【实验仪器】DH4508型电表改装与校准试验仪、ZX21电阻箱【实验原理】1、微安表改装成电流表微安表并联分流电阻,使被测电流大部分从分流电阻流过,表头仍保持原来允许通过的最大电流。
并联分流电阻大小2、微安表改装成电压表微安表串联分压电阻,使大部分电压降落在串联的分压电阻上,而微安表上的电压降仍不超过原来的电压量程。
串联分压电阻大小3、电表标称误差和校正使被校电表与标准电表同时测量一定的电流(电压),看其指示值与相应的标准值相符的程度。
校准的结果得到电表各个刻度的绝对误差。
选取其中最大的绝对误差除以量程,即得该电表的标称误差。
【实验内容】1、将量程为100μA的电流计扩程为5mA电流表(1)记录电流计参数,计算分流电阻阻值,数据填入表1中.用电阻箱作R P,与待改装的电流计并联构成量程为5mA的电流表。
(2)连接电路,校正扩大量程后的电流表。
应先调准零点,再校准量程(满刻度点),然后校正标有标度值的点。
校准量程时,若实际量程与设计量程有差异,可稍调R P.校正刻度时,使电流单调上升和单调下降各一次,将标准表两次读数的平均值作为I S,计算各校正点校正值。
(3)以被校表的指示值I xi为横坐标,以校正值ΔI i为纵坐标,在坐标纸上作出校正曲线。
数据填入表2中。
(4)求出改装电流表的标称误差。
3、将量程为100μA的电流计改装为量程1V的电压表(1)计算扩程电阻的阻值数据填入表3中。
(2)校正电压表.与校准电流表的方法相似。
数据填入表4中.【数据记录】表1 电流表改装与校正仪器参数(U0=1.08V)表2 电流表校正数据记录(mA):表3 电压表改装与校准仪器参数(U0=2。
58V)表4 电压表校正数据记录(V):【数据处理】分别作出电流表和电压表的校正曲线.此后应用改装表进行测量时,根据校正曲线对测量的数值加以修正,以得到准确的测量值.改装电流表的标称误差=改装电压表的标称误差=【问题讨论】1、标称误差的意义是什么?电表的校准有什么用途?答:标称误差指的是电表的读数与准确值的差异,包括电表在构造上各种不完善因素引入的误差.为了确定标称误差,用改装电表和一个标准电表同时测量一定的电流或电压,从而得到一系列的对应值,这一工作称为电表的校准。
实验报告基本电工仪表的使用doc
实验报告基本电工仪表的使用篇一:实验一基本电工仪表的使用及测量误差的计算实验一基本电工仪表的使用及测量误差的计算一、实验目的1. 熟悉实验台上各类电源及各类测量仪表的布局和使用方法。
2. 掌握指针式电压表、电流表内阻的测量方法。
3. 熟悉电工仪表测量误差的计算方法。
二、原理说明1. 为了准确地测量电路中实际的电压和电流,必须保证仪表接入电路后不会改变被测电路的工作状态。
这就要求电压表的内阻为无穷大;电流表的内阻为零。
而实际使用的指针式电工仪表都不能满足上述要求。
因此,当测量仪表一旦接入电路,就会改变电路原有的工作状态,这就导致仪表的读数值与电路原有的实际值之间出现误差。
误差的大小与仪表本身内阻的大小密切相关。
只要测出仪表的内阻,即可计算出由其产生的测量误差。
以下介绍几种测量指针式仪表内阻的方法。
2. 用“分流法”测量电流表的内阻如图1-1所示。
A为被测内阻(RA)的直流电流表。
测量时先断开开关S,调节电流源的输出电流I 使A表指针满偏转。
然后合上开关S,并保持I值不变,调节电阻箱RB的阻值,使电流表的指针指在1/2满偏转位置,此时有IA=IS=I/2∴ RA=RB∥R1可调电流源R1为固定电阻器之值,RB可由电阻箱的刻度盘上读得。
图 1-1 3. 用分压法测量电压表的内阻。
如图1-2所示。
V为被测内阻(RV)的电压表。
测量时先将开关S闭合,调节直流稳压电源的输出电压,使电压表V的指针为满偏转。
然后断开开关S,调节RB使电压表V的指示值减半。
此时有:RV=RB+R1电压表的灵敏度为:S=RV/U (Ω/V) 。
式中U为电压表满偏时的电压值。
4. 仪表内阻引起的测量误差(通常称之为方可调稳压源法误差,而仪表本身结构引起的误差称为仪表基图1-2 本误差)的计算。
(1)以图1-3所示电路为例,R1上的电压为R1 1 UR1=─── U,若R1=R2,则 UR1=─ U 。
R1+R2 2现用一内阻为RV的电压表来测量UR1值,当RVR1RV与R1并联后,RAB=───,以此来替代RV+R1RVR1────RV+R1上式中的R1,则得U'R1=────── U 图 1-3RVR1 ───+R2 RV+R1RVR1────RV+R1 R1 绝对误差为△U=U'R1-UR1=U(─────—-────)RVR1 R1+R2 ───+R2 RV+R1 -R2 1R2U化简后得△U=───────────────── 2 2RV(R1+2R1R2+R2)+R1R2(R1+R2)U若 R1=R2=RV,则得△U =-─6vU'R1-UR1-U/6相对误差△U%=─────×100%=──×100%=-33.3% UR1 U/2由此可见,当电压表的内阻与被则电路的电阻相近时,测量的误差是非常大的。
电位电压的测定实验报告
概率中数学期望的变式应用1. 引言1.1 概率中数学期望的重要性引言:在概率论中,数学期望是一个非常重要的概念。
它代表了一个随机变量的平均值,是对该随机变量可能取值的一种度量。
数学期望在描述随机变量的分布特征时起着至关重要的作用。
数学期望可以帮助我们理解随机变量的平均情况。
通过计算随机变量的数学期望,我们可以了解随机变量在长期观察下的平均表现。
这对于预测未来事件的结果具有重要的指导意义。
数学期望可以帮助我们进行决策和风险管理。
在金融、保险等领域,我们经常需要对不确定性事件进行评估和分析。
通过计算随机变量的数学期望,我们可以更好地估计风险和收益,从而制定合理的决策策略。
数学期望还可以帮助我们解决实际问题。
在工程、统计学、生物学等领域,数学期望常常被用于建立模型、进行数据处理和推断。
通过对随机变量的数学期望进行计算和分析,我们可以更好地理解问题的本质,找到解决问题的方法。
概率中数学期望的重要性不容忽视。
它不仅是概率论和统计学的基础概念,还在各个学科和领域中发挥着重要作用,对于促进科学研究和实践应用具有重要意义。
在接下来的正文中,我们将深入探讨数学期望的计算方法和应用场景,进一步掌握这一重要概念的精髓。
1.2 常见的概率分布在概率论中,常见的概率分布是指描述随机变量可能取值概率规律的数学模型。
在实际问题中,人们通常会遇到各种不同类型的概率分布,而了解这些常见概率分布对于进行概率分析是非常重要的。
最常见的概率分布之一是二项分布。
二项分布描述了在进行一系列独立重复的伯努利试验中,成功次数的概率。
在进行多次硬币抛掷实验中,得到正面朝上的次数就可以用二项分布来描述。
另一个常见的概率分布是泊松分布,它描述了在一段固定时间或空间内,事件发生的次数的概率。
泊松分布常常用于描述随机事件的到达过程,比如电话呼叫到达的次数或者某设备发生故障的次数等。
正态分布也是非常常见的概率分布,它在自然界和社会科学中被广泛应用。
正态分布具有钟型曲线的特点,描述了大部分数据集中在均值附近,同时具有对称性的特点。
电位电压的测定实验报告范文三篇.doc
电位电压的测定实验报告范文三篇篇一:电极电位的测量实验报告一.实验目的1. 理解电极电位的意义及主要影响因素2. 熟悉甘汞参比电极的性能以及工作原理3. 知道电化学工作站与计算机的搭配使用方法二.实验原理电极和溶液界面双电层的电位称为绝对电极电位,它直接反应了电极过程的热力学和动力学特征,但绝对电极电位是无法测量的。
在实际研究中,测量电极电位组成的原电池的电动势,而测量电极电位所用的参考对象的电极称为参考电极,如标准氢电极、甘汞电极、银-氯化银电极等,该电池的电动势为:E=φ待测-φ参比上述电池电动势可以使用高阻抗的电压表或电位差计来计量在该实验中,采用甘汞电极为研究电极,铁氰、化钾/亚铁氰、化钾为测量电极。
在1mol的KCl支持电解质下,分别用10mM摩尔比1:1和1:2的铁氰、化钾/亚铁氰、化钾溶液在常温(27℃)以及45℃下测量,收集数据,可得到相同温度不同浓度的两条开路电位随时间变化曲线、相同浓度不同温度的两条开路电位随时间变化曲线。
可以用电极电势的能斯特方程讨论温度对于电极电势的影响三.实验器材电化学工作站;电解池;甘汞电极;玻碳电极;水浴锅铁氰、化钾/亚铁氰、化钾溶液(摩尔比1:1和1:2)(支持电解质为1M KCl);砂纸;去离子水四.实验步骤1. 在玻碳电极上蘸一些去离子水,然后轻轻在细砂纸上打磨至光亮,最后再用去离子水冲洗。
电化学工作站的电极也用砂纸轻轻打磨2. 在电解池中加入铁氰、化钾/亚铁氰、化钾溶液至其1/2体积,将玻碳电极和甘汞电极插入电解池中并固定好,将两电极与电化学工作站连接好,绿色头的电极连接工作电极,白色头的电极连接参比电极。
3. 点开电化学工作站控制软件,点击 setup—技术(technique)—开路电压—时间,设置记录时间为5min,记录数据时间间隔为0.1s,开始进行数据记录,完成后以txt形式保存实验结果。
4. 将电解池放入45度水浴锅中,再重复一次步骤2和步骤3。
写电表检测报告
写电表检测报告1. 引言本文档为电表检测报告,旨在对特定电表进行检测并评估其性能和准确性。
本报告旨在提供有关电表的详细信息,并评估其是否满足相关标准和要求。
2. 背景电表作为电力系统中的重要组成部分,被用于测量和记录电能使用情况。
准确的电表对于公共设施和个人电力消费都至关重要。
因此,对电表进行定期检测和校准是非常必要的。
3. 检测过程为了保证电表的准确性和可靠性,我们使用了以下步骤进行检测:3.1 临时断电在进行电表检测前,我们需要临时断开电力供应。
这是为了确保在检测期间不会有其他电器设备干扰电表的测量。
3.2 测试电流测量我们使用专业的电流表测量了电表记录的电流与实际通过电路的电流之间的差异。
通过比较两者的值,我们可以评估电表的准确性。
3.3 测试电压测量类似于电流测量,我们使用专业的电压表测量电表记录的电压与实际电路的电压之间的差异。
这有助于评估电表的准确性和响应时间。
3.4 频率测试在这一步骤中,我们使用频率计测量电表记录的频率与实际电路中的电力频率之间的差异。
这有助于评估电表的准确性和稳定性。
3.5 功率因数测试功率因数是电器设备能效的重要指标,我们对电表记录的功率因数进行了测试,评估其与实际情况的一致性。
3.6 记录数据我们对每个测试步骤的结果进行了记录,并将其整理成一个数据表。
这有助于后续的分析和评估。
4. 测试结果根据我们的检测,电表的测试结果如下:•电流测量准确性:误差不超过±0.5%•电压测量准确性:误差不超过±0.3%•频率测试准确性:误差不超过±0.2%•功率因数测试准确性:误差不超过±0.2%根据以上结果,我们认为该电表准确度良好,并且符合相关的标准和要求。
5. 结论本次电表检测表明该电表性能良好,具有较高的准确性和可靠性。
该电表符合相关标准和要求,可以正常使用。
6. 建议为了保持电表的准确性和稳定性,我们建议定期进行电表检测和校准。
探究串、并联电路电压的规律实验报告
蕉溪中学物理实验报告姓名:__________ 班级:____________合作者:___________________ 实验日期:_____年__月___日一、探究串联电路电压的规律一、实验目的:练习使用电压表,探究串联电路的总电压跟各部分电路电压的关系。
二、实验器材:2节干电池(或学生电源),电压表(0~3V、0~15V),小灯泡3个(灯泡规格不同),开关,导线若干。
三、实验要求:1.提出问题:串联电路的总电压与各部分电路电压有什么关系?2.猜想与假设:串联电路的总电压可能等于各部分电路电压之和。
图1 实验电路图3.设计实验和进行实验:(1)检查器材,观察电压表的量程和分度值。
(2)连接串联电路(注意开关的正确状态)。
(3)闭合开关查看两灯是否发光。
(4)将电压表与L1灯并联,测出它两端的电压,记入表格中。
(5)将电压表与L2灯并联,测出它两端的电压,记入表格中。
(6)将电压表与整个L1 L2串联电路并联,测出串联电路的总电压,记入表格中。
(7)更换一只小灯泡,重复实验步骤(4)至(6)。
(8)断开开关,整理器材。
四、实验记录:1.接入电路中电压表的量程是,分度值是。
2.测量数据:实验次数L1灯两端的电压U1/V L2灯两端的电压U2/V串联电路的总电压U/V 12五、分析和论证:实验结论:串联电路的总电压。
二、探究串联电路电压的规律一、实验目的:练习使用电压表,探究并联电路的总电压跟各支路两端电压的关系。
二、实验器材:2节干电池(或学生电源),电压表(0~3V、0~15V),小灯泡3个(灯泡规格不同),开关,导线若干。
三、实验要求:1.提出问题:并联电路的总电压与各支路两端电压有什么关系?2.猜想与假设:并联电路的总电压可能等于各支路两端电压。
图2 实验电路图3.设计实验和进行实验:(1)检查器材,观察电压表的量程和分度值。
(2)连接并联电路(注意开关的正确状态)。
(3)闭合开关查看两灯是否发光。
北邮数电实验——简易数字电压表报告
数字电路与逻辑综合实验报告题目:简易电压表设计学院:电子工程学院专业:光电信息科学与工程班级:20132112学号:20132111姓名:一、 实验任务要求设计并实现一个简易数字电压表, 要求使用实验板上的串行 AD 芯片 ADS7816。
基本要求:1、测量对象:1-2 节干电池。
2、AD 参考电压:5V 。
3、用三位数码管显示测量结果, 保留两位小数。
4、被测信号超过测量范围有溢出显示并有声音提示。
5、按键控制测量和复位。
提高要求:1、能够连续测量。
2、自拟其他功能。
二、设计思路利用ADS7816作为电压采样端口,FPGA 作为系统的核心器件,用LED 进行数码显示,把读取的13位二进制数据转换成便利于输出3位十进制BCD 码送给数码管。
采用FPGA 芯片作为系统的核心器件,负责ADS7816的A/D 转换的启动、地址锁存、输入通道的选择、数据的读取。
同时,把读取的13位二进制数据转换成便于输出3位十进制的BCD 码送给数码管,以显示当前测量电压值。
三、 总体框图数字电压表整体设计框图,如下图所示,数字电压表系统由A/D 转换模块、FPGA 控制模块、数码显示模块三部分构成。
FPGA 控制模块控制外部A/D 转换器自动采样模拟信号,通过A/D 芯片转换为数字信号,再由FPGA 控制模块控制数码管动态扫描向外部数码管显示电路输出数据。
四、模块设计 1、A/D 转换模块(1)ADS7816工作原理ADS7816的工作时序图如图所示。
在ADS7816的工作时序中,串行时钟DCLK 用于同步数据转换,每位转换后的数据在DCLK 的下降沿开始传送。
因此,从Dout(数字数据输出引脚)引脚接收数据时,可在DCLK 的下降沿期间进行,也可以在DCLK 的上升沿期间进行。
通常情况下,采用在DCLK 的上升沿接收转换后的各位数据流。
CS 的下降沿用于启动转换和数据变换,CS 有效后的最初115至2个转换周期内,ADS7816采样输入信号,此时输出引脚Dout 呈三态。
数字电压表实验报告
数字电压表的综合设计一、设计题目:基于FPGA的数字电压表设计二、设计任务:1、具有0—2.5v的电压量程;2、通过LED灯显示2进制数字量;3、用FPGA设计制作成数字电压表的专用集成芯片,结合LED数码管构成一个能够实时显示的电压表。
三、总体设计框图:1、总体框图22、分模块设计框图:LED数码管显示模块TL549A/D处理模块3、程序代码:查找表程序代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity chazhaobiao isport(V:in std_logic_vector(7 downto 0);q:out std_logic_vector(11 downto 0));end entity chazhaobiao;architecture behav of chazhaobiao issignal c30,c74,c117,d0,d1:std_logic;signal HB,LB:std_logic_vector(11 downto 0);begin --A/D值的高4位转换成3位BCD码HB<="001001000000" WHEN V(7 DOWNTO 4)="1111" ELSE --2.40 "001000100100" WHEN V(7 DOWNTO 4)="1110" ELSE --2.24"001000001000" WHEN V(7 DOWNTO 4)="1101" ELSE --2.08"000110010010" WHEN V(7 DOWNTO 4)="1100" ELSE --1.92"000101110110" WHEN V(7 DOWNTO 4)="1011" ELSE --1.76"000101100000" WHEN V(7 DOWNTO 4)="1010" ELSE --1.60"000101000100" WHEN V(7 DOWNTO 4)="1001" ELSE --1.44"000100101000" WHEN V(7 DOWNTO 4)="1000" ELSE --1.28"000100010010" WHEN V(7 DOWNTO 4)="0111" ELSE --1.12"000010010110" WHEN V(7 DOWNTO 4)="0110" ELSE --0.96"000010000000" WHEN V(7 DOWNTO 4)="0101" ELSE --0.80"000001100100" WHEN V(7 DOWNTO 4)="0100" ELSE --0.64"000001001000" WHEN V(7 DOWNTO 4)="0011" ELSE --0.48"000000110010" WHEN V(7 DOWNTO 4)="0010" ELSE --0.32"000000010110" WHEN V(7 DOWNTO 4)="0001" ELSE --0.16"000000000000"; --0.00--A/D值低4位变为3位BCD码LB<="000000010101" WHEN V(3 DOWNTO 0)="1111" ELSE --0.15 "000000010100" WHEN V(3 DOWNTO 0)="1110" ELSE --0.14 "000000010011" WHEN V(3 DOWNTO 0)="1101" ELSE --0.13"000000010010" WHEN V(3 DOWNTO 0)="1100" ELSE --0.12"000000010001" WHEN V(3 DOWNTO 0)="1011" ELSE --0.11"000000010000" WHEN V(3 DOWNTO 0)="1010" ELSE --0.10"000000001001" WHEN V(3 DOWNTO 0)="1001" ELSE --0.09"000000001000" WHEN V(3 DOWNTO 0)="1000" ELSE --0.08"000000000111" WHEN V(3 DOWNTO 0)="0111" ELSE --0.07"000000000110" WHEN V(3 DOWNTO 0)="0110" ELSE --0.06"000000000101" WHEN V(3 DOWNTO 0)="0101" ELSE --0.05"000000000100" WHEN V(3 DOWNTO 0)="0100" ELSE --0.04"000000000011" WHEN V(3 DOWNTO 0)="0011" ELSE --0.03"000000000010" WHEN V(3 DOWNTO 0)="0010" ELSE --0.02"000000000001" WHEN V(3 DOWNTO 0)="0001" ELSE --0.01"000000000000" ; --0.00c30<='1' when HB(3 downto 0)+LB(3 downto 0)>"01001" else'0';d1<='1' when HB(3 downto 0)>="1000" and LB(3 downto 0)>="1000" else '0';c74<='1' when HB(7 downto 4)+LB(7 downto 4)>"01001" else'0';d0<='1' when HB(7 downto 4) + LB(7 downto 4) ="01001" else'0';c117<='1' when HB(11 downto 8)+LB(11 downto 8)>"01001" else '0';q(3 downto 0)<=HB(3 downto 0)+LB(3 downto 0)+"0110" whenc30='1' elseHB(3 downto 0)+LB(3 downto 0)+"0110" whend1='1' elseHB(3 downto 0)+LB(3 downto 0);q(7 downto 4)<=HB(7 downto 4)+LB(7 downto 4)+"0111" whenc74='1' and c30='1' elseHB(7 downto 4)+LB(7 downto 4)+"0110" whenc74='1' and c30='0' elseHB(7 downto 4)+LB(7 downto 4)+"0110" whenc74='0' and c30='1' and d0='1' elseHB(7 downto 4)+LB(7 downto 4)+"0001" whenc74='0' and (c30='1'or d1='1') and d0='0' elseHB(7 downto 4)+LB(7 downto 4);q(11 downto 8)<=HB(11 downto 8)+LB(11 downto 8)+"0111" whenc117='1' and c74='1' elseHB(11 downto 8)+LB(11 downto 8)+"0110" whenc117='1' and c74='0' elseHB(11 downto 8)+LB(11 downto 8)+"0001" whenc117='0' and c74='1' elseHB(11 downto 8)+LB(11 downto 8)+"0001" whenc117='0' and c74='0' and (c30='1'or d1='1') and d0='1' elseHB(11 downto 8)+LB(11 downto 8);end ;译码器程序代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity yima isport(clk:in std_logic;d:in std_logic_vector(11 downto 0);seg: out std_logic_vector(7 downto 0);sel: out std_logic_vector(2 downto 0));end entity yima;architecture behav of yima issignal wei:std_logic_vector(2 downto 0);signal num:std_logic_vector(3 downto 0);signal a:std_logic_vector(2 downto 0);beginnum<=d(3 downto 0) when a="000" elsed(7 downto 4) when a="001" elsed(11 downto 8) ;seg(7)<='0' when wei="011" else'1';wei<="110" when a="000" else"101" when a="001" else"011";sel<=wei;COM1: process(clk)beginif clk'event and clk='1' thena<=a+1;if a="010" then a<="000";end if;end if;end process COM1;COM2: process(num)begincase num iswhen "0000"=>seg(6 downto 0)<="1000000";--0when "0001"=>seg(6 downto 0)<="1111001";--1when "0010"=>seg(6 downto 0)<="0100100";--2when "0011"=>seg(6 downto 0)<="0110000";--3when "0100"=>seg(6 downto 0)<="0011001";--4when "0101"=>seg(6 downto 0)<="0010010";--5when "0110"=>seg(6 downto 0)<="0000010";--6when "0111"=>seg(6 downto 0)<="1111000";--7when "1000"=>seg(6 downto 0)<="0000000";--8when "1001"=>seg(6 downto 0)<="0010000";--9--when "1010"=>seg(6 downto 0)<="1110111";--when "1011"=>seg(6 downto 0)<="1111100";--when "1100"=>seg(6 downto 0)<="0111001";--when "1101"=>seg(6 downto 0)<="1011110";--when "1110"=>seg(6 downto 0)<="1111001";--when "1111"=>seg(6 downto 0)<="1110001";--when others=>seg(6 downto 0)<="0111111";when others=>seg(6 downto 0)<="1000000";end case;end process COM2;end;电压表顶层程序代码:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity dianyabiao isPort (clk : in std_logic; --50m系统时钟din : in std_logic; --(tlc549)串行数据输出端clk_tlc549 : out std_logic;cs_tlc549 : out std_logic; --tlc549的片选信号输入端shift : out std_logic_vector(3 downto 0);--动态扫描时的位选信号cs_led : out std_logic_vector(1 downto 0);--发光二极管及数码管的片选信号输入端dout_led : out std_logic_vector(7 downto 0));--惧的发光器件的信号输出端end dianyabiao;architecture Behavioral of dianyabiao istype state is (st1,st2);signal current_state : state;type state1 is (st0,st1,st2);signal current_state1 : state1;type state2 is (st0,st1,st2,st3,st4);signal current_state2 : state2;signal reg_datain : std_logic_vector(7 downto 0);signal reg_dout : std_logic_vector(15 downto 0);signal dout : std_logic_vector(4 downto 0);signal reg_din : integer range 0 to 80000;signal clk1m,clk1k,clk100 : std_logic;begin--分频部分process(clk) --产生1MHz的频率variable cnt : integer range 0 to 50;beginif clk'event and clk='1' then cnt:=cnt+1;if cnt<50 thenif cnt<25 then clk1m<='0';else clk1m<='1';end if;else cnt:=0;end if;end if;end process;process(clk1m) --产生1KHz的频率variable cnt : integer range 0 to 1000;beginif clk1m'event and clk1m='1' then cnt:=cnt+1;if cnt<1000 thenif cnt<500 then clk1k<='0';else clk1k<='1';end if;else cnt:=0;end if;end if;end process;process(clk1k) --产生100Hz的频率variable cnt : integer range 0 to 10;beginif clk1k'event and clk1k='1' then cnt:=cnt+1;if cnt<10 thenif cnt<5 then clk100<='0';else clk100<='1';end if;else cnt:=0;end if;end if;end process;--tlc549的控制部分process(clk1k)variable cnt : integer range 0 to 7;variable datain : std_logic_vector(7 downto 0);beginif clk1k'event and clk1k='1' thencase current_state iswhen st1=> --将数据进行串并转换cs_tlc549<='0';datain:=datain(6 downto 0)&din; --将读取的数据向高位移位clk_tlc549<='1';current_state<=st2;when st2=>cs_tlc549<='0';clk_tlc549<='0';current_state<=st1;if cnt<7 then cnt:=cnt+1; --读取8位数据else cnt:=0;reg_din<=conv_integer(datain)*195; --每单位数字量乘以系数=当前电压值;reg_datain<=not(datain);end if;when others=>current_state<=st1;end case;end if;end process;--十进制-BCD码转换;process(clk100)variable reg : integer range 0 to 80000;variable d1,d2,d3,d4 : std_logic_vector(3 downto 0);beginif clk100'event and clk100='1' thencase current_state1 iswhen st0=>reg:=reg_din;d1:="0000";d2:="0000";d3:="0000";d4:="0000";current_state1<=st1;when st1=>if reg>9999 then reg:=reg-10000;d1:=d1+1;elsif reg>999 then reg:=reg-1000;d2:=d2+1;elsif reg>99 then reg:=reg-100;d3:=d3+1;elsif reg>9 then reg:=reg-10;d4:=d4+1;else current_state1<=st2;end if;when st2=>reg_dout<=d1&d2&d3&d4;current_state1<=st0;when others=>current_state1<=st0;end case;end if;end process;--动态扫描控制;process(clk1k)beginif clk1k'event and clk1k='1' thencase current_state2 iswhen st0=> --在发光二极管上显示模数转换后的数字量cs_led<="01"; --熄灭数码管shift<="1111";dout<="11111";current_state2<=st1;when st1=> --在数码管的最高位显示数据cs_led<="10"; --熄灭发光二极管shift<="0111"; --最高位数码管显示dout<='0'®_dout(15 downto 12); --小数点显示,并且将最高位的数据送给译码器current_state2<=st2;when st2=> --在数码管的次高位显示数据cs_led<="10"; --熄灭发光二极管shift<="1011"; --次高位数码管显示dout<='1'®_dout(11 downto 8); --小数点不显示,将次高位的数据送给译码器current_state2<=st3;when st3=> --在数码管的次低位显示数据cs_led<="10"; --熄灭发光二极管shift<="1101"; --次低位数码管显示dout<='1'®_dout(7 downto 4); --小数点不显示,将次低位的数据送给译码器current_state2<=st4;when st4=> --在数码管的最低位显示数据cs_led<="10"; --熄灭发光二极管shift<="1110"; --最低位数码管显示dout<='1'®_dout(3 downto 0); --小数点不显示,将最低位的数据送给译码器current_state2<=st0;when others=>current_state2<=st0;end case;end if;end process;--**将BCD码进行8段译码(包括小数点)**----**dout(4)代表小数点,低电平点亮**--code1: process (dout,reg_datain)begincase dout(3 downto 0) iswhen "0000"=>dout_led<=dout(4)&"0000001";when "0001"=>dout_led<=dout(4)&"1001111";when "0010"=>dout_led<=dout(4)&"0010010";when "0011"=>dout_led<=dout(4)&"0000110";when "0100"=>dout_led<=dout(4)&"1001100";when "0101"=>dout_led<=dout(4)&"0100100";when "0110"=>dout_led<=dout(4)&"0100000";when "0111"=>dout_led<=dout(4)&"0001111";when "1000"=>dout_led<=dout(4)&"0000000";when "1001"=>dout_led<=dout(4)&"0000100";--"DOUT_LED"送给数码管;whenothers=>dout_led<=reg_datain(7)®_datain(0)®_datain(1)®_datain(2)&re g_datain(3)®_datain(4)®_datain(5)®_datain(6);--"DOUT_LED"送给发光二极管;end case;end process;end Behavioral;四、波形仿真图:五、结论:本次实验达到了实验的基本要求,能够通过调节高精密变阻器实现0—2.5v的电压测量及显示。
电表的改装和校准实验报告
电表的改装和校准实验报告一、实验目的。
本实验旨在通过改装电表和对其进行校准实验,探究电表的工作原理,了解电表的结构和性能,并通过实验数据分析,验证电表的准确性和稳定性。
二、实验仪器和材料。
1. 电表。
2. 电源。
3. 电阻箱。
4. 电流表。
5. 电压表。
6. 万用表。
7. 电源线。
8. 接线板。
9. 电源开关。
10. 电阻。
三、实验原理。
电表是一种用来测量电流、电压和功率的仪器,其基本原理是利用电流的磁效应和电压的电磁感应,通过合适的测量元件将电流和电压转变为可读的物理量。
电表的改装和校准实验主要包括对电表内部结构的了解、电表的改装和校准方法,以及对改装后的电表进行校准实验并分析数据。
四、实验步骤。
1. 拆卸电表外壳,了解电表内部结构和工作原理。
2. 根据实验要求,对电表进行改装,如更换电流互感器、电压互感器等。
3. 连接电源线和接线板,接入电流表、电压表和万用表。
4. 接通电源,调节电流和电压,记录实验数据。
5. 对改装后的电表进行校准实验,比较实验数据和标准值。
6. 分析实验数据,评估电表的准确性和稳定性。
五、实验结果与分析。
经过改装和校准实验,我们得到了一系列的实验数据,并对数据进行了分析。
通过对比实验数据和标准值,我们发现改装后的电表准确性和稳定性得到了明显提高,符合实际应用要求。
同时,我们也发现在改装过程中,需要注意电表内部结构的布局和连接方式,以确保改装后电表的正常工作。
六、实验结论。
通过本次实验,我们深入了解了电表的工作原理和结构特点,通过改装和校准实验,验证了电表的准确性和稳定性。
同时,我们也认识到了电表改装和校准过程中的一些注意事项,为今后的实际应用提供了重要的参考依据。
七、实验注意事项。
1. 在进行电表改装和校准实验时,要注意安全用电,避免触电和短路等事故。
2. 在改装电表时,要注意保护电表内部结构,避免损坏测量元件和连接线路。
3. 在校准实验过程中,要严格按照实验步骤和要求进行,确保实验数据的准确性和可靠性。
电学基本测量_实验报告
一、实验目的1. 掌握电学基本测量方法。
2. 熟悉电学实验仪器的使用。
3. 培养实验操作技能和数据处理能力。
二、实验原理电学基本测量主要包括电压、电流、电阻、电功率等物理量的测量。
本实验通过测量这些物理量,了解电学基本测量方法,并掌握相关仪器的使用。
三、实验仪器与设备1. 交流电源2. 电压表3. 电流表4. 电阻箱5. 导线6. 开关7. 待测电阻8. 秒表9. 计算器四、实验步骤1. 测量电压(1)将待测电阻接入电路,连接电压表和电流表。
(2)闭合开关,调整电阻箱,使电压表示数为U1。
(3)记录电压表示数U1。
2. 测量电流(1)将待测电阻接入电路,连接电压表和电流表。
(2)闭合开关,调整电阻箱,使电流表示数为I1。
(3)记录电流表示数I1。
3. 测量电阻(1)根据电压表和电流表的示数,利用欧姆定律R=U/I计算电阻值。
(2)记录计算得到的电阻值。
4. 测量电功率(1)根据电压表和电流表的示数,利用功率公式P=UI计算电功率。
(2)记录计算得到的电功率。
5. 测量时间(1)将待测电阻接入电路,连接电压表和电流表。
(2)闭合开关,开始计时,记录经过的时间t。
(3)关闭开关,记录经过的时间t。
五、实验数据与处理1. 电压U1 = 10V2. 电流I1 = 2A3. 电阻R = U1/I1 = 5Ω4. 电功率P = U1I1 = 20W5. 时间t = 10s六、实验结果与分析1. 通过实验,掌握了电学基本测量方法,了解了电压、电流、电阻、电功率等物理量的测量。
2. 在实验过程中,熟练掌握了电压表、电流表、电阻箱等仪器的使用。
3. 通过实验,提高了实验操作技能和数据处理能力。
七、实验总结本次实验使我们对电学基本测量有了更深入的了解,掌握了电学基本测量方法。
在实验过程中,我们学会了使用电压表、电流表、电阻箱等仪器,提高了实验操作技能。
同时,通过数据处理,培养了我们的数据分析能力。
在今后的学习中,我们将继续努力,提高自己的实验技能,为今后的科学研究打下坚实的基础。
数字电压表实验报告
实验五电压表实验1.设计过程:按照“建立项目文件”--“新建VHDL源文件”--“配置管脚”--“编译下载”--“芯片测试”的顺序。
原理图:1.FPGA的系统时钟来自于小脚丫FPGA开发板配置的24MHz时钟晶振,连接FPGA的C1引脚。
2.实验借助FPGA底板自带的ADC模块,具体信息如下:ADC模块的功能时实现模拟信号转换数字信号,主要包含P1(测试点)、Radj1(10K的可调电位器)和U3(8位串行模数转换器ADC081S)。
在不外接其他信号的情况下,旋转电位计,ADC081S的输入电压在0到3.3V之间变化,通过模数转换实现ADC的采样,原理图连接如图所示:3.实验思路如下:1.根据ADC模块的时序图,完成将ADC模块和FPGA引脚连接起来。
时序图如下:2. 根据程序的框图把完整的程序写出来,显示模块和译码模块利用以前写过的进行例化使用。
以下是程序的框图:VHDL 汇编语言如下: 2.总代码: library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;entity dianyabiao is port( clk: in std_logic;--定义输入和输出 sda: in std_logic; sclk: buffer std_logic; cs: out std_logic; sdata: out std_logic; sck: out std_logic; rck: out std_logic );end dianyabiao;architecture one of dianyabiao is component led_573 --例化port( rst: in std_logic; clk_t_in : in std_logic; sdata: out std_logic; H: in std_logic; ledcode1,ledcode2,ledcode3,ledcode4: in std_logic_vector(6 downto 0); dot: in std_logic_vector(3 downto 0);sda sck cssck: out std_logic;rck: out std_logic);end component;component seg7coderport(data_in: in integer range 0 to 15;seg7_out: out std_logic_vector(6 downto 0));end component;signal ad_phase: integer range 0 to 19;signal clk_t_in: std_logic;signal ad_clk: std_logic;signal ad_out:std_logic_vector(7 downto 0);signal ad:std_logic_vector(7 downto 0);signal data_in1:integer range 0 to 15;signal data_in2:integer range 0 to 15;signal seg1,seg2: std_logic_vector(6 downto 0); --七段码beginu1:seg7coderport map(data_in => data_in1,seg7_out => seg1);u2:seg7coderport map(data_in => data_in2,seg7_out => seg2);u3:led_573port map(rst=>'1',clk_t_in => clk,H => '1',dot => "0000",ledcode1 => seg1,ledcode2 => seg2,ledcode3 =>"1111110",ledcode4 =>"1111110",sdata => sdata,sck => sck,rck => rck);--得到分频时钟,50-20000khz的分频process(clk)variable divcnt: integer range 0 to 1000;beginif clk'event and clk='1' thenif divcnt=1000 thendivcnt:=0;clk_t_in<=not clk_t_in;elsedivcnt:=divcnt+1;clk_t_in<=clk_t_in;end if;end if;end process;--ad模快process(clk_t_in)-- ad_clk<=clk_t_in;beginif clk_t_in'event and clk_t_in = '1' thensclk<=not sclk;if sclk='1' thenif ad_phase = 19 thenad_phase<=0;elsead_phase<=ad_phase+1;end if;end if;if sclk='0' and ad_phase>16 then --保证cs的值cs<='1';elsecs<='0';end if;if ad_phase=3 and sclk='0' then --值的输出ad(7)<=sda;end if;if ad_phase=4 and sclk='0' thenad(6)<=sda;end if;if ad_phase=5 and sclk='0' thenad(5)<=sda;end if;if ad_phase=6 and sclk='0' thenad(4)<=sda;end if;if ad_phase=7 and sclk='0' thenad(3)<=sda;end if;if ad_phase=8 and sclk='0' thenad(2)<=sda;end if;if ad_phase=9 and sclk='0' thenad(1)<=sda;end if;if ad_phase=10 and sclk='0' thenad(0)<=sda;end if;if ad_phase=11 and sclk='0' thenad_out<=ad;end if;end if;end process;process(ad_out) --完成将ad_out的八位输出转化成两位16进制的数begincase ad_out(3 downto 0) is--when "0000"=>data_in1<=0;when "0001"=>data_in1<=1;when "0010"=>data_in1<=2;when "0011"=>data_in1<=3;when "0100"=>data_in1<=4;when "0101"=>data_in1<=5;when "0110"=>data_in1<=6;when "0111"=>data_in1<=7; when "1000"=>data_in1<=8; when "1001"=>data_in1<=9; when "1010"=>data_in1<=10; when "1011"=>data_in1<=11; when "1100"=>data_in1<=12; when "1101"=>data_in1<=13; when "1110"=>data_in1<=14; when "1111"=>data_in1<=15; end case;case ad_out(7 downto 4) is when "0000"=>data_in2<=0; when "0001"=>data_in2<=1; when "0010"=>data_in2<=2; when "0011"=>data_in2<=3; when "0100"=>data_in2<=4; when "0101"=>data_in2<=5; when "0110"=>data_in2<=6; when "0111"=>data_in2<=7; when "1000"=>data_in2<=8; when "1001"=>data_in2<=9; when "1010"=>data_in2<=10; when "1011"=>data_in2<=11; when "1100"=>data_in2<=12; when "1101"=>data_in2<=13; when "1110"=>data_in2<=14; when "1111"=>data_in2<=15; end case;end process;end architecture;3.管脚分配:4.实验现象:旋转电压旋钮,电压从00变化到FF,现象如下面所示:。
用电压表和电流表测电阻实验报告
用电压表和电流表测电阻
1、实验目的:_______________________________________________________
2、实验器材:__________、__________、__________、__________、__________、__________、_________________。
3、实验电路图:(如右图所示)
4、实验原理:______________________
5、实验步骤:
A.按电路图连接线,此时电键应处于断开状态,且让滑动变阻器,处于最大电阻值。
B.估算或用试触确定所选伏特表和安培表量程是否恰当,若不当,则调整。
C.检查电路无误后,接通电路,开始实验。
D.闭合开关,观察和记录安培表,伏特表的示数填入下面表格中
E.改变滑动变阻器滑动片的位置,重复步骤D,并根据欧姆定律计算出三次测量的
平均值。
(3)计算出Rx的三次阻值,求出Rx的平均值。
Rx=(Rx1+Rx2+Rx3)/3
6、实验结果:Rx=(R1+R2+R3)/3=_______________________=________欧姆
…。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序:
#include<p18f45k20.h>
#define uchar unsigned char
#define uint unsigned int
#define ADGO ADCON0bits.GO #define fmq PORTEbits.RE0
#define m1l 57904 //低8度#define m2l 58736
#define m3l 59472
#define m4l 59804
#define m5l 60432
#define m6l 60992
#define m7l 61488
#define m1 61712 //中
#define m2 62168
#define m3 62500
#define m4 62672
#define m5 62984
#define m6 63264
#define m7 63512
#define m1h 63624 //高8度#define m2h 63832
#define m3h 64048
#define m4h 64104
#define m5h 64260
#define m6h 64400
#define m7h 64524
#define p 1000 //节拍时长
#define ph p/2 //半拍
#define pd p*2 //双拍
#define pf p*3/4
#define pg p/4
uint
song[]={m6l,m1,m3,m4,m2,m3,m4,m6,m5,m4,m3,m1,m1,m2,m3,m5,m4,m3,m2,m2,m2,m7l,m1, m2,m4,m3,m2,m2,m2,m2,m3,m3,m3,m5,m6,m3,m3,m3,m3,m5,m2,m2,m2,m3,m5,m2,m2,m3,m6 l,m6l};//《手掌心》简谱
uint
time[]={p,ph,ph,pf*2,pg,pg,ph,ph,ph,ph,p,ph,pg,pg,ph,ph,ph,pg,pg,p,ph,pg,pg,ph,ph,pg,pg,pg,pg, pg,pf,pd,ph,ph,pg,pg,pg,pg,pg,ph,pg,p,ph,ph,ph,ph,pg,ph,pg,p};//对应的歌曲节拍
uint total = 50;
uint counter = 0,num = 0, i = 0;
uint flag=0;
uint a1=0,a2=0,a3=0,a4=0;
uint lednum=0;
uchar num_h[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//共阳数码管“0.—9.”定义
uchar num_l[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管“0 --9”定义
void Delay25us(unsigned int x);//延时函数声明
unsigned int AD_Trs();//Ad转换函数声明
void display(void);//数码管显示函数声明
void Tmr_Init(void);//定时器初始化函数声明
void High_Interrupt(void);//定时器中断跳转函数声明
void Stopwatch(void);//定时器中断执行函数声明
void main(void)//主函数
{
WDTCONbits.SWDTEN = 0;//关闭看门狗
TRISC=0X00;//输入输出端口初始化
TRISD=0X00;
PORTC=0X00;
TRISE=0X00;
PORTEbits.RE0=0;//用于音乐输出
TRISAbits.TRISA0=1; //AD转换采集电压输入
PORTAbits.RA0=0;
ADCON0=0x01;//使能ADC,模拟通道选择AN0(RA0)
ADCON1 = 0x00;//正负参考电压从单片机内部获取
ADCON2 = 0xa5;//A/D 转换结果格式为右对齐
//采样周期8TAD
//AD转换时钟频率FOSC/16
Tmr_Init();//定时器初始化
while(1)//等待中断
{
ClrWdt();
lednum = AD_Trs();//获取AD转换得到的数据
if(lednum >= 3300)//测得电压达最大量程3.3V时开定时器,播音乐{
fmq = 0 ; //拉低
INTCONbits.TMR0IE = 1;
T0CONbits.TMR0ON = 1;
display();//数码管显示当前电压
}
else//不足3.3V时关闭定时器
{
fmq = 1 ; //拉高
T0CONbits.TMR0ON = 0;
INTCONbits.TMR0IE = 0;
INTCONbits.TMR0IF = 0;//定时器溢出标志位清零
i = 0;//重新定位音乐至开头
num = 0;
TMR1H = song[num]/256;//定时器赋初值
TMR1L = song[num]%256;
display();
}
}
}
unsigned int AD_Trs()//AD转换程序
{
unsigned int adval;
float advalf;
ADGO = 1; //启动AD转化
while(ADGO); //说明AD转化完成
adval= ADRESH;
adval = adval<<8|ADRESL;
advalf = adval/1023.0*3.3; //因为参考电压为3.3伏
adval = advalf*1000; //转化为整数,以便显示
return (adval);
}
void Delay25us(uint x) //延时函数
{
unsigned int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);//执行空语句实现延时
}
void Tmr_Init(void)//定时器初始化函数
{
i = 0;
num = 0;
INTCON = 0XF0;//开全局中断,允许定时器0溢出中断T0CON = 0X08;//配置Timer0为16 位定时器
TMR0H = song[num]/256;
TMR0L = song[num]%256;
}
#pragma code high_vector = 0x0008
void High_Interrupt(void)//定时器溢出时跳转
{
if(INTCONbits.TMR0IF && INTCONbits.TMR0IE)
{
_asm
goto Stopwatch
_endasm
}
}
#pragma code
#pragma interrupt Stopwatch
void Stopwatch(void)//中断执行函数
{
if(INTCONbits.TMR0IF && INTCONbits.TMR0IE) {
T0CONbits.TMR0ON = 0;//关中断,以便为定时器赋初值INTCONbits.TMR0IF = 0;//溢出标志位清零
counter++;
if(counter == time[i])//实现音乐节拍
{
counter = 0;
i++;
num++;
if(i >= total || num >= total)//音乐播完后重头开始
{
i = 0;
num = 0;
}
}
TMR0H = song[num]/256;
TMR0L = song[num]%256;
if(flag)
{
flag=0;
PORTEbits.RE0=0;//蜂鸣器驱动端输出低电平
}
else
{
flag=1;
PORTEbits.RE0=1;//蜂鸣器驱动端输出高电平
}
T0CONbits.TMR0ON = 1;//开中断
INTCONbits.TMR0IE = 1;
}
}
#pragma code
void display(void)//数码管显示函数
{
uint j=20;//数码管扫描时间变量
a1 = lednum/1000; //此算法用于取出一个整数的各个位,来显示在数码管上a2 = lednum%1000/100;
a3 = lednum%100/10;
a4 = lednum%10;
PORTC=0X00;
PORTC=0x01;//依次选通数码管
PORTD=num_h[a1];//查找表并显示数值
Delay25us(j); //延时
PORTC=0X00;
PORTC=0x02;
PORTD=num_l[a2];
Delay25us(j);
PORTC=0X00;
PORTC=0x04;
PORTD=num_l[a3];
Delay25us(j);
PORTC=0X00;
PORTC=0x08;
PORTD=num_l[a4];
Delay25us(j);
}。