第一篇:基于FPGA的电压表
FPGA控制的数字电压表电路设计
李培
(河南科技大学电子信息工程学院 河南洛阳 471003)
摘 要:介绍数字电压表的组成及工作原理,论述了基于VHDL语言和FPGA芯片的数字系统的设计思想和实现过程。
关键词:数字电压表;VHDL语言;FPGA
VHDL Realization of Digital Voltmeter
Abstract: The composition and working principle of digital voltm eter were introduced in this paper, the designing idea and implementation proces s based on VHDL and FPGA were also described.Key words: digital voltmeter;VHDL;FPGA 引言
在硬件电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。本文用FPGA芯片和VHDL语言设计了一个数字电压表,举例说明了利用VHDL语言实现数字系统的过程。
1.系统组成及工作原理
整个数字电压表的硬件结构如图1所示。
系统的核心电路由FPGA完成,本设计选用了Altera公司的EPlKl00QC208-3芯片,用VHDL语言对它进行设计,实现三大功能模块:(1)控制模块,激活A/D转换器动作、接收A/D转换器传递过来的数字转换值;(2)数据处理模块,将接收到的转换值调整成对应的数字信号;(3)扫描、显示模块,产生数码管的片选信号,并将数值处理模块输出的BCD码译成相应的7段数码驱动值。
工作时,系统按一定的速率采集输入的模拟电压,经ADC0804转换为8位数字量,此8位数字量经FPGA处理得到模拟电压的数字码,再输入数码管获得被测电压的数字显示。
此电压表的测量范围:0~5V,三位数码管显示。
2.FPGA功能模块的设计
数字电压表的三大模块都是用VHDL语言编程实现的。2.1控制模块
用状态机作法,产生ADC0804的片选信号、读/写控制信号,通过状态信号INTR判断转换是否结束;转换结束后将转换数据锁存并输出。其状态转换图如图2所示。
State machine viewer
A/D模块如下:
2.2数据处理模块
ADC0804是8位模数转换器,它的输出状态共有28=256种,如果输入信号Vin为0~5V电压范围,则每两个状态值为5/(256-1),约为0.0196V,故测量分辨率为0.02V。常用测量方法是:当读取到DB7~DB0转换值是XXH时,电压测量值为U≈XXH×0.02V;考虑到直接使用乘法计算对应的电压值将耗用大量的FPGA内部组件,本设计用查表命令来得到正确的电压值。
在读取到ADC0804的转换数据后,先用查表指令算出高、低4位的两个电压值,并分别用12位BCD码表示;接着设计12位的BCD码加法,如果每4位相加结果超过9需进行加6调整。这样得到模拟电压的BCD码。
CBD模块如下:
本模块的功能仿真结果如图3所示;当转换数据为00010101,通过查表高4位0001是0.32V,而低4位0101是0.1V,最后的电压输出结果是0.32V+0.1V=0.42V,它的BCD码表示为000001000010,仿真结果正确。2.3扫描、显示模块
如图4所示,CLK是扫描时钟,其频率为1kHz,由给定的40MHz时钟分频得到;DATAIN是数据处理模块输出的电压值的BCD码;SEL是数码管的片选信号;POINT是数码管小数点驱动;通过扫描分别输出3位电压值的BCD码DATAOUT,并通过DISP将BCD码译成相应的7段数码驱动值,送数码管显示。
2.4 3选1 数据选择器模块
下图是3选1 数据选择器模块,由sel来选择数据输出,sel的三个状态分别对应选中三个数据A,B,C,同时将选中的数据输出。
2.5位选信号产生器(3进制计数器)
位选信号产生器,实际上时一个3进制计数器,随着时钟的上升沿的到来,它始终在0,1,2之间来回的循环,它的输出作为3选1 数据选择器模块和小数点产生器的输入。以下是仿真和模块。
位选信号产生器的模块:
2.6 7段译码
将输入的数据通过译码电路在数码管上显示出来 7段译码的模块:
2.7小数点产生器
当if selDP=“10” then DPout<='0';
elsif
selDP=“01” then DPout<='0';elsif
selDP=“00” then DPout<='1';只有当它等于1的时候,小数点才起作用,也就是说,只有当高四位有数值的时候,必须需要小数点来确定数值。下面仿真波形中,黑色的部分就是小数点显示的时候和部分,可以很清楚地看出,当输出等于3的时候,就是显示小数点。
小数点产生器模块:
3.顶层文件的模块如下图:
4.仿真结果
在Quartus II 8.0中,仿真波形如图所示:
5.心得体会
从这次的课程设计中,我受益匪浅。电压表的设计,用EDA仿真工具Quartus II 8.0,用vhdl语言设计,这些对于我们初学者来说,并不是件容易的事情,但是同时巩固了我们对知识的深刻理解。为以后的FPGA设计打下了坚实的基础。所以,总的来说,过程是困难的,不容易的,结果却是很满意的,获得了很宝贵的知识和经验!
6.结束语
本文设计的VHDL语言程序已在Quartus II 8.0工具软件上进行了编译、仿真和调试。经过实验验证,本设计是正确的,其电压显示值误差没有超过量化台阶上限(0.02V)。本文给出的设计思想也适用于其他基于PLD芯片的系统设计。
参考文献
[1]潘松 EDA技术实用教程[M]。北京:科学出版社,2003.[2]卢毅 VHDL与数字电路设计[M]。北京:科学出版社,2001.[3]林敏 VHDL数字系统设计与高层次综合[M]。北京:电子工业出版社,2001.[ 4 ] http://www.xiexiebang.com:process(c_state,eoc)begin
case c_state is
when st0=>ale<='0';sta<='0';oe<='0';lock<='0';
n_state<=st1;
when st1=>ale<='1';sta<='0';oe<='0';lock<='0';
n_state<=st2;
when st2=>ale<='0';sta<='1';oe<='0';lock<='0';
n_state<=st3;
when st3=>ale<='0';sta<='0';oe<='0';lock<='0';
if(eoc='1')then n_state<=st4;
else n_state<=st3;
――eoc为‘1’转换结束 进入下一状态
end if;
――否则 继续转换
when st4=>ale<='0';sta<='0';oe<='1';lock<='0';
n_state<=st5;
when st5=>ale<='0';sta<='0';oe<='0';lock<='1';
n_state<=st6;
when st6=>ale<='0';sta<='0';oe<='0';lock<='1';
n_state<=st0;
when others=>n_state<=st0;
end case;end process com;reg:process(st)
begin
if(st'event and st='1')then
c_state<=n_state;
end if;end process reg;lo:process(lock)
--锁存 begin
if(lock'event and lock='1')then
regl<=d;
end if;end process lo;
q<=regl;
end a;
BCD 8位转12 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BCD IS PORT(V:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
HB,LB:BUFFER STD_LOGIC_VECTOR(11 DOWNTO 0);
BVALUE:BUFFER STD_LOGIC_VECTOR(11 DOWNTO 0);
BCD_L,BCD_M,BCD_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END BCD;ARCHITECTURE A OF BCD IS BEGIN P1:PROCESS(V(7 DOWNTO 4))
BEGIN
--A/D输出高4位转换
分辨率0.32V
IF V(7 DOWNTO 4)=“1111” THEN HB<=“010010000000”;
--4.80V
ELSIF V(7 DOWNTO 4)= “1110” THEN HB<=“010001001000”;--4.48V
ELSIF V(7 DOWNTO 4)= “1101” THEN HB<=“010000010110”;--4.16V
ELSIF V(7 DOWNTO 4)= “1100” THEN HB<=“001110000100”;--3.84V
ELSIF V(7 DOWNTO 4)= “1011” THEN HB<=“001101010010”;--3.52V
ELSIF V(7 DOWNTO 4)= “1010” THEN HB<=“001100100000”;--3.20V
ELSIF V(7 DOWNTO 4)= “1001” THEN HB<=“001010001000”;--2.88V
ELSIF V(7 DOWNTO 4)= “1000” THEN HB<=“001001010110”;--2.56V
ELSIF V(7 DOWNTO 4)= “0111” THEN HB<=“001000100100”;--2.24V
ELSIF V(7 DOWNTO 4)= “0110” THEN HB<=“000110010010”;--1.92V
ELSIF V(7 DOWNTO 4)= “0101” THEN HB<=“000101100000”;--1.60V
ELSIF V(7 DOWNTO 4)= “0100” THEN HB<=“000100101000”;--1.28V
ELSIF V(7 DOWNTO 4)= “0011” THEN HB<=“000010010110”;--0.96V
ELSIF V(7 DOWNTO 4)= “0010” THEN HB<=“000001100100”;--0.64V
ELSIF V(7 DOWNTO 4)= “0001” THEN HB<=“000000110010”;--0.32V
ELSIF V(7 DOWNTO 4)= “0000” THEN HB<=“000000000000”;--0.00V
ELSE HB<=“000000000000”;
--0.00V
END IF;
END PROCESS P1;P2:PROCESS(V(3 DOWNTO 0))
BEGIN
--A/D输出低4位转换 分辨率0.02V
IF V(3 DOWNTO 0)= “1111” THEN LB<=“000000110000”;
--0.30V
ELSIF V(3 DOWNTO 0)= “1110” THEN LB<=“000000101000”;--0.28V
ELSIF V(3 DOWNTO 0)= “1101” THEN LB<=“000000100110”;--0.26V
ELSIF V(3 DOWNTO 0)= “1100” THEN LB<=“000000100100”;--0.24V
ELSIF V(3 DOWNTO 0)= “1011” THEN LB<=“000000100010”;--0.22V
ELSIF V(3 DOWNTO 0)= “1010” THEN LB<=“000000100000”;--0.20V
ELSIF V(3 DOWNTO 0)= “1001” THEN LB<=“000000011000”;--0.18V
ELSIF V(3 DOWNTO 0)= “1000” THEN LB<=“000000010110”;--0.16V
ELSIF V(3 DOWNTO 0)= “0111” THEN LB<=“000000010100”;--0.14V
ELSIF V(3 DOWNTO 0)= “0110” THEN LB<=“000000010010”;--0.12V
ELSIF V(3 DOWNTO 0)= “0101” THEN LB<=“000000010000”;--0.10V
ELSIF V(3 DOWNTO 0)= “0100” THEN LB<=“000000001000”;--0.08V
ELSIF V(3 DOWNTO 0)= “0011” THEN LB<=“000000000110”;--0.06V
ELSIF V(3 DOWNTO 0)= “0010” THEN LB<=“000000000100”;--0.04V
ELSIF V(3 DOWNTO 0)= “0001” THEN LB<=“000000000010”;--0.02V
ELSIF V(3 DOWNTO 0)= “0000” THEN LB<=“000000000000”;--0.00V
ELSE LB<=“000000000000”;
--0V
END IF;END PROCESS P2;
BVALUE<=HB+LB;P3:PROCESS(BVALUE)VARIABLE JJ:STD_LOGIC_VECTOR(11 DOWNTO 0);
BEGIN
JJ:=BVALUE;
IF(JJ(3 DOWNTO 0)>“1001”)THEN
――如果12位结果中,低4位
JJ:=JJ+“000000000110”;
――大于9 则低4位加6
END IF;
IF(JJ(7 DOWNTO 4)>“1001”)THEN
――如果中间的4位大于9
JJ:=JJ+“000001100000”;
――则中4位加6
END IF;BCD_L<=JJ(3 DOWNTO 0);
BCD_M<=JJ(7 DOWNTO 4);BCD_H<=JJ(11 DOWNTO 8);END PROCESS P3;END A;
3选1 数据选择器
LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity mux3_1 is port(sel:in std_logic_vector(1 downto 0);A,B,C:in std_logic_vector(3 downto 0);Mselout:out std_logic_vector(3 downto 0));end mux3_1;architecture a of mux3_1 is begin
process(sel)begin
if
sel=“10” then Mselout<=A;
elsif
sel=“01” then Mselout<=B;
elsif
sel=“00” then Mselout<=C;
else null;
end if;end process;end a;
位选信号产生器(3进制计数器)
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity c3 is
port(clk,clr:in std_logic;
qout:buffer std_logic_vector(1 downto 0));end c3;architecture behave of c3 is begin
process(clk,clr)begin if(clr='0')then qout<=“00”;elsif(clk'event and clk='1')then
qout<=qout+1;
if(qout=2)then qout<=“00”;
end if;end if;end process;end behave;
7段译码
LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY del7 IS PORT(input : IN STD_LOGIC_vector(3 downto 0);
output : OUT
STD_LOGIC_vector(6 downto 0));END del7;ARCHITECTURE a OF del7 IS
BEGIN PROCESS(input)BEGIN
CASE input IS
WHEN “0000” =>output<=“1111110”;
WHEN “0001” =>output<=“0110000”;
WHEN “0010” =>output<=“1101101”;
WHEN “0011” =>output<=“1111001”;
WHEN “0100” =>output<=“0110011”;
WHEN “0101” =>output<=“1011011”;
WHEN “0110” =>output<=“1011111”;
WHEN “0111” =>output<=“1110000”;
WHEN “1000” =>output<=“1111111”;
WHEN “1001” =>output<=“1111011”;
WHEN OTHERS=>NULL;
END CASE;end process;
END a;
小数点产生器
LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity DP is port(SELDP:in std_logic_vector(1 downto 0);
DPout:out std_logic);end DP;architecture a of DP is begin
process(selDP)begin
if
selDP=“10” then DPout<='0';
elsif
selDP=“01” then DPout<='0';
elsif
selDP=“00” then DPout<='1';――在高4位整数输出时,输出
else null;
――小数点DP
end if;end process;end a;
顶层文件
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity V_WATCH is
port(clkK,EOCC:in std_logic;
DD:IN std_logic_vector(7 downto 0);
clk3,CLR3:IN STD_LOGIC;
OEE,START,ALEE,ADDAA:OUT STD_LOGIC;
DPOUT:OUT STD_LOGIC;
Qoutput:out std_logic_vector(6 downto 0);
Qselout:out std_logic_vector(1 downto 0));end V_WATCH;architecture a of V_WATCH is
――元件例化 COMPONENT DP port(SELDP:in std_logic_vector(1 downto 0);
DPout:out std_logic);END COMPONENT;COMPONENT del7 PORT(input : IN STD_LOGIC_vector(3 downto 0);
output
: OUT STD_LOGIC_vector(6 downto 0));END COMPONENT;COMPONENT mux3_1 port(sel:in std_logic_vector(1 downto 0);A,B,C:in std_logic_vector(3 downto 0);Mselout:out std_logic_vector(3 downto 0));END COMPONENT;COMPONENT ad port(st,eoc:in std_logic;
d:in std_logic_vector(7 downto 0);
oe,sta,ale,adda:out std_logic;
q:out std_logic_vector(7 downto 0));END COMPONENT;COMPONENT C3 PORT(clk,clr: IN STD_LOGIC;
qout: OUT std_logic_vector(1 downto 0));END COMPONENT;COMPONENT BCD PORT(V:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
HB,LB:BUFFER STD_LOGIC_VECTOR(11 DOWNTO 0);
BVALUE:BUFFER STD_LOGIC_VECTOR(11 DOWNTO 0);
BCD_L,BCD_M,BCD_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;signal a:
std_logic_vector(1 downto 0);SIGNAL SBCD_L,SBCD_M,SBCD_H: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL b:
STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL q:
STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL BBCD:
STD_LOGIC_VECTOR(11 DOWNTO 0);
BEGIN U1:AD
PORT MAP(CLKK,EOCC,DD,OEE,START,ALEE,ADDAA, q);U2:BCD
PORT MAP(q,BCD_L=>SBCD_L,BCD_M=>SBCD_M,BCD_H=>SBCD_H);U3:C3
PORT MAP(CLK3,CLR3,a);
U4:MUX3_1 PORT MAP(SELOUT,SBCD_L,SBCD_M,SBCD_H,DI);U5:DEL7
PORT MAP(b, Qoutput);U6:DP
PORT MAP(a,DPOUT);QSELOUT<=a;end a;
第二篇:电压表主程序模块
/**电压表主程序模块*/
#include
#define uchar unsigned char #define uint unsigned int void result(uchar);uchar value=0;#include“adc0809.h” #include“lcd1602.h” uchar str[5];uchar volt[7];
uchar a=0+0x30;uchar str1[11]=“tanxiaopin”;sbit CLK=P0^7;uint n;
void main(){
//uint i;ADC0809_init();lcd_init();while(1){
lcd_zifu(str1,0x01);
value=AD();//原值
str[0]=value/100+0x30;
str[1]=value%100/10+0x30;
str[2]=value%10+0x30;
result(value);
lcd_data(str,0x40);
lcd_data(volt,0x46);
} while(1);}
void result(uchar v)//转换成电压值 { float a;a=(v/255.0)*500.0;volt[0]=((int)a)/100+0x30;volt[1]='.';volt[2]=((int)a)%100/10+0x30;volt[3]=((int)a)%10+0x30;volt[4]=' ';volt[5]='V';} void t1(void)interrupt 3
{
CLK=~CLK;
}
/*ADC0809程序模块*/
#include
sbit ST=P0^4;sbit EOC=P0^5;sbit OE=P0^6;//sbit CLK=P0^7;sbit ADDA=P0^0;sbit ADDB=P0^1;sbit ADDC=P0^2;
sbit ALE=P0^3;
uchar v;//保存IN0和经AD转换后的数据 /*非精确演示函数*/ void delay(ms){ uint i,j;
for(i=ms;i>0;i--)
for(j=125;j>0;j--);}
void ADC0809_init(){ TMOD=0x20;TH1=(255-250);TL1=(255-250);EA=1;//开总中断
ET1=1;//开定时器1中断
TR1=1;//启动定时器1
ST=0;
OE=0;ALE=0;} /*用中断做一个500K HZ的时钟信号*/
/******AD转换函数*******/ uchar AD(){ uchar temp=0;ST=0;//EOC=1;// ALE=1;ADDA=0;ADDB=0;ADDC=0;
delay(1);// ALE=0;
//OE=0;
ST=0;
ALE=1;
ST=1;
ALE=0;
ST=0;
delay(2);
while(EOC==0);
OE=1;
temp=P2;
delay(2);
OE=0;
return temp;}
/*ADC0809 模块封装头文件*/ void ADC0809_init();uchar AD();
/*LCD1602液晶显示模块*/ #include
void lcd_1602(uchar comm);void lcd_write(uchar dat);
bit lcd_busy();sbit busy=P3^7;extern void delay(uint);
/***************************** 1602液晶写命令函数 参数: 返回值:无
******************************/ void lcd_1602(uchar comm){ while(lcd_busy());//查忙
rs = 0;rw = 0;en = 0;
_nop_();P3 = comm;_nop_();en = 1;_nop_();_nop_();en = 0;} /***************************** 1602液晶写数据函数 参数: 返回值:无
******************************/ void lcd_write(uchar dat){ while(lcd_busy());//查忙
rs = 1;
rw = 0;
en = 0;
_nop_();
P3 = dat;
_nop_();
_nop_();
en = 1;
_nop_();
_nop_();
en = 0;}
/***************************** 1602液晶初始化函数 参数:无 返回值:无
******************************/ void lcd_init(){
delay(15);lcd_1602(0x38);delay(3);lcd_1602(0x38);
delay(3);lcd_1602(0x38);delay(3);lcd_1602(0x08);lcd_1602(0x01);delay(3);lcd_1602(0x06);lcd_1602(0x0c);} /***************************** 1602液晶读忙标志 参数:无 返回值:无
******************************/ bit lcd_busy(){
bit result;rs = 0;rw = 1;en = 1;delay(2);result = busy;en = 0;return result;}
/***************************** 1602液晶写字符 参数: 返回值:无
******************************/ void lcd_zifu(uchar *p,uchar wei){ uchar temp;lcd_1602(0x80+wei);/*temp= *p;while(temp!=' '){
lcd_write(temp);
p++;
temp=*p;}*/ for(temp=*p;temp!=' ';p++,temp=*p)
lcd_write(temp);
delay(10);}
void lcd_data(uchar *p,uchar wei){ uchar temp;lcd_1602(0x80+wei);for(temp=*p;temp!=' ';p++,temp=*p)
lcd_write(temp);delay(10);} /*LCD1602液晶模块封装*/ void lcd_init();void lcd_zifu(uchar *p,uchar wei);void lcd_data(uchar *p,uchar wei);
第三篇:物理教案-电压表
[物理教案-电压表]
教学目标知识目标
1、知道电压表的用途和表示符号;
2、掌握电压表的量程、刻度方法、连接方法及调“零”方法.能力目标
1、培养学生的观察能力;
2、会正确使用电压表并能正确地读出电压表的示数.情感目标
培养学生热爱仪器、认真细心、实事求是的科学态度.教学建议教材分析
本节主要内容为两部分:一是电压表的读数,二是电压表的使用.这些知识均需要通过观察和实验获得,因此必须利用实物或挂图进行教学,注意培养学生的观察能力和重视实践的良好习惯.教材介绍了四种外形不同的电压表,目的是让学生了解形状各不相同、测量范围各不相同,然后要向学生说明我们物理实验室用的电压表示要求熟练掌握的.在实际测量电压中,要选用电压表的量程.选用电压表量程时,首先要知道刻度盘上每个大格和每个小格所代表的电压值,对于有两个量程的电压表要分清它们对应的刻度线所表示的电压值.这一点是学生容易错的,要通过反复练习是学生掌握.电压表的使用是本节的重点,首先是根据实际需要量程正确地接入电路,其次是根据选用的量程正确记录测量数据.这部分内容教学,教师要先做好示范,然后让学生反复练习.教法建议
1.首先要从生活实际中提出问题,引起学生思考,在学生需求状态下引入课题.例如:你家中的用电器,如收音机、电子钟、电风扇等,它们的工作电压各不相同.你知道它们的电压是怎样得到的吗?用什么仪表?怎样测量? 2.接下来介绍教材图6-
5、6-7形状不同、量程不同的各式电压表.(可以根据自己学校实际情况酌情处理).3.着重介绍物理实验室现有的学生用的电压表的量程和读数.对于选用的电压表的量程,要知道刻度盘上每个大格和每个小格所表示的电压值.着重练习有两个量程的电压表读数.读数是一件认真细心做的事.要仿照教材上图6-6的电压表表头,做一个较大的刻度盘供学生练读.在学生已使用过电流表的基础上,可以介绍电压表调零知识.当指针在电路未接通时不指在零位置,需用螺丝到调节中间旋钮,直至调到指针指在零位置为止.若无法调到零位置时,读数要计入这个差值.4.电压表的使用,可以按课文顺序,对每一条使用电压表的规则,先画图说明,接着进行操作演示,并要求学生认真观察.准备演示实验时,要注意如下两方面:(1)增大观察对象的能见度和清晰度.如用大型电表,利用幻灯放大,布线分开适当距离等,利用活动指针练习读数.(2)提高仪器放置的位置,尽可能使每给学生都能看到.建议自制一些试教板,将部件安放在试教板上,竖直地挂起来,边讲边操作.最后将电压表的使用根电流表的使用进行对比,做出小结.它们的共同点是:①都要选择量程;②都要在弄清最小刻度值后再度数;③都要使电流从正接线柱流进,从负接线柱流出.它们的不同点是,:①电流表是串联在被测电路中,电压表要与被测电路并联;②电流表的两个接线柱不允许直接接到电源的两个极上,而电压表在被测量范围内,可以这样连接.使用多个量程的电压表测量电压时,如果不能预先估计被测电压的大小,应先用哪个量程试触,为什么要这样做?这是实际生活中常遇到的问题,组织学生讨论课深化使用电压表的知识.试触方法是学生应该学会的,教师要根据学生情况对电压表的试触做一次示范.告诉学生,试触时宜用单根导线从侧面试触,这样可在看到指针偏转超出最大刻度时立即移开导线.教学设计方案教学单元分析 本节教学重点是电压表的使用,电压表的使用包括电压表的读数和电压表的连接.在电压表连接时,首先要选择量程,其次是把电压表并联在被测电路中,让电流从正接线柱流入,从负接线柱流出.本节的难点是根据电压表不同的量程去读数.应当通过反复练习让学生掌握.教学过程分析 1.通过比较电流表和电压表,加深对电压表的印象,培养学生的观察能力.在前面学完电流表使用的基础上,学习电压表有类似之处.因此在教学时,首先提出测电压的必要,其次指出测电压的仪表叫电压表.在介绍了电压表之后,要把电压表与学过的电流表进行比较.可以让学生进行观察比较,方法是每两个学生位一组,课桌上摆放一块电流表和一块电压表,看一看表头的标记有什么区别?表盘的标度有什么区别?表盘的接线柱标记有什么区别? 2.介绍与量程对应的表头读数.在使用电压表测电压前,要先估计被测电压值,再确定量程.确定量程后,介绍读数方法.照上图做表头试教板,移动指针练习读数.3.教师示范连接电压表,侧小灯泡两端电压.在连接教材图6-8电路用电压表测灯泡两端电压过程中,向学生介绍电压表的使用规则(教材中的三条).4.教师可以组织学生练习连接电压表测小灯泡两端电压.在实验室每两个学生为一组进行练习.板书设计:探究活动【课题】电压表的种类、原理、构造.【组织形式】学生小组【活动方式】
制订分类课题:1种类2原理3构造 制订查阅和查找方式:
物理教案-电压表
第四篇:电压表教案
电压表
1)电压表的连接
通过大家的努力,我们对电池及电压已有所了解。如果老师现在有几节不同的电池,由于不小心将电池上标称的电压值磨掉了看不清楚,但必须知道其电压值是多少,大家可以帮助我吗? 我们可以利用电压表测量电池的电压,电路中电流的大小用电流表测量,电压的大小可以用电压表来测量。
1.a)b)c)认识电压表
该电压表的零刻度线在表盘的最左端。
该电压表有三个接线柱,两个量程。一个公共的“-”接线柱和两个“+”接线柱。使用“-”和“3”两个接线柱时,量程是3 V,刻度盘上每一大格表示“1 V”,每一小格表示“0.1 V”;使用“-”和“15”两个接线柱时,量程是15 V,刻度盘上每一大格表示“5 V”,每一小格表示“0.5 V”。电压表中间的旋钮可以调零。
电压表读数(二要、一不、二看清)
二要:电压表要并联在被测电路的两端,要使电流从电压表的“+”接线柱流入,从电压表的“-”接线柱流出。
一不:被测电压不能超过电压表的量程。
二看清:读数时一要看清电压表所用的量程;二要看清每一小格所表示的数值。d)2.a)
b)c)
小结
板书
注意:如果正、负接线柱接反了,指针会反向偏转,即向没有刻度的方向偏转。如果被测电压超过了电压表的量程,电压表的指针可能会超出刻度盘上的刻度线。
注意:如果正、负接线柱接反了,指针会反向偏转,即向没有刻度的方向偏转。如果被测电压超过了电压表的量程,电压表的指针可能会超出刻度盘上的刻度线。
习题:
1.在图所示的电路中,开关闭合后,会出现的情况是()
A.电流表鱼电压表都被烧坏 B.电流表与电压表都不会被烧坏 C.只有电压表会被烧坏
D.电流表、电源可能会被烧坏
2.如图9所示,设计电路图,要求亮灯串联,电压表测量两灯的总电压
第五篇:电压、电压表教案
电压 电压表
教学目的
1.知道电压的作用。知道电源是提供电压的装置。
2.知道电压的单位。能对电压的不同单位进行变换。
3.记住干电池、家庭电路的电压值。教具
U形管连通器一个,干电池一节,小灯泡一个,开关一个,导线若干条。教学过程
1.复习
(1)把一节干电池、小灯泡、开关放在示教板上,请一位同学按所画电路图,用导线将电路连接起来(连接电路之前,开关应当是断开的)。
(2)提问:什么叫电路,它由哪几部分组成?
2.引入新课
演示:闭合示教板上电路中的开关,灯泡亮了,说明电路中产生了电流。
提问:电流是怎样形成的?
取下电路中的干电池,闭合开关,灯泡不发光。
提出问题:在这种情况下,为什么电路中不能形成电流,电源的作用是什么?
3.进行新课
为了说明在什么情况下才能形成电流,我们先用水流作比喻,看看水流是怎样形成的?
提问:将装有水的U形管连通器的底部用止水钳夹住,两管内水面相平。打开止水钳,两管内的水会不会发生流动?
演示:向U形管左管内加水,使左管水面高出右管水面(图1)。(提问:打开止水钳,两管内的水会不会发生流动,如果发生流动,水怎样流动?)打开止水钳,水从左管向右管流动。
提出问题:为什么在连通器里的水面相平时,水不发生流动,而在左管水面高时,水从左管流向它的右管?U形管中的水能不能持续不断地流动?
(利用投影幻灯片或电脑设计程序表现出连通器水流的动态过程,反映出在这一过程中,水位的变化和连通器底部液片受到的压强变化的情况。见图2所示。)
可见,水位差(又叫水压)是使水定向流动形成水流的原因。
下面我们再来看一看如图3所示的复合投影幻灯片(或用电脑设计程序表示出它的动态过程)。
甲图中A处的水位高于B处的水位,打开阀门,管中的水从A处通过涡轮向B处流动,水的流动使涡轮转动。A处的水面下降,B处的水面上升,当A、B两处水面相平时,水位相同,水停止流动,涡轮不再转动,幻灯片要显示上述过程。可见,水位差(水压)使水管中形成水流。
现在,我们用一台抽水机不断地把水从B处抽到A处(如图3乙所示,将抽水机置入,同时表现出抽水的动态情况)、使A处的水总比B处的水位高,由于水管两端总保持一定的水位差(水压),于是水管内就有持续的水流。
下面我们来看看图4所示的电路(示数板上接好的简单电路)的情况。
电源的正极聚集有大量的正电荷,负极聚集有大量的负电荷,在电源的正、负极之间就产生了电压。这个电压使电路中电荷发生定向流动,使正电荷从正极流向负极,或者使负电荷从负极流向正极,于是在电路中产生了电流。
可见,电压是使电路中形成电流的原因。
在电路中,电源在工作时不断地使正极聚集正电荷,负极聚集负电荷,保持电路两端有一定的电压,使电路中有持续的电流。电源是提供电压的装置。
板书:<电压使电路中形成电流,电源是提供电压的装置。电压用符号U表示>
在图3所示装置中,不同的抽水机可以在水管两端产生不同的水位差,即大小不同的水压。同理,不同的电源可以在电路的两端产生大小不同的电压,为此,首先要确定电压的单位。在国际单位制里,电压的单位是伏特,简称伏(V)。此外,常用单位还有千伏(kV)、毫伏(mV)、微伏(μV)等。介绍它们的换算关系。
板书:<在国际单位制里,电压的单位是伏特(V)>
看课本几种电压值的图。
要求记住的电压值有:
一节干电池电压:1.5伏。
家庭电路的电压:220伏。
对人体安全的电压:不高于36伏。
练习题:
(1)电压使电路中形成______,______是提供电压的装置。
(2)220伏=______千伏=______毫伏。
4.小结
这节课讲授的电压是电学中又一个重要的物理量。由于知识所限,我们用水流作比喻讲述了电压使电路中形成电流。电源是提供电压的装置。要知道电压的单位,会进行单位变换。此外,还要记住干电池和家庭电路电压值。
(四)说明
1.“电压”这堂课既是重点,又是难点,不易被学生掌握。对于初学电学的学生来说,只要求知道电压是电路中形成电流的原因,电源是提供电压的装置和电压的单位。至于电压的定义、公式和电压的单位──伏特的物理意义留待高中再讲,在这节课内不要出现这些内容,否则因难度过大使学生不能接受。
2.用水流作比喻来讲电压,对于学生来说形象、生动,容易被学生所接受。在这里利用水压引出电压,从而认识电压使电路中形成电流。
3.为了使学生便于理解,在讲水流的形成时,最好用复合幻灯片模拟出它的动态过程。有条件的,用电脑设计出程序,将有更好的效果。
实验:用电压表测电压
教学目的
1.会按照电压表使用规则正确使用电压表,会选择电压表的量程和试触,会正确读出电压表的示数。
2.会用电压表测量电池的电压。通过实验研究串联电池组和并联电池组的电压跟每节电压的关系。
3.通过实验研究串联电路、并联电路中的电压关系。实验器材
学生实验:每组一个学生电源(或三节干电池),一只学生电压表,两个阻值不同的小灯泡,一个开关,导线若干。
演示实验:教学电压表一只,电源一个,开关一个。教学过程
1.复习
提问:
(1)怎样区分电压表和电流表?
(2)电压表和电流表在使用规则上,有哪些不同之处?有哪些相同之处?
2.引入新课
演示实验:将教学电压表通过开关与电源的正、负极相连,见图①。
提问:
(1)这种接法行不行?测出的是哪个元件两端的电压?
(2)在接线过程中要注意哪些问题?(注意:开关断开;并联在被测电路两端,电流从电压表“+”接线柱流进,从“-”接线柱流出;量程的选择和试触。)
(3)读出电压表的示数。
这个示数就是电源的电压。
3.进行新课
介绍这堂课的实验目的和所研究的内容。
实验的目的是:
(1)练习用电压表测干电池电压和一段电路两端的电压。
(2)研究干电池串联和并联时的电压关系;串联电路、并联电路中的电压关系。
这次实验分两个部分进行。
第一部分:测干电池电压,研究干电池串联、并联时的电压关系。
一、先取三节干电池,分别测出每节电池的电压。再将这三节干电池按图②串联成电池组,测出串联电池组的电压,将测得的数据记到表1内。分析串联电池组的电压跟各节干电池电压之间的关系,写出结论。
二、将两节相同的干电池按图③并联组成电池组,用电压表测这个并联电池组的电压,将测量数据填入表2内。分析并联电池组的电压跟每节电池的电压之间的关系,写出结论。
表1:串联电池组的电压
结论:________________。
表2:并联电池组的电压
结论:__________________。
第二部分:研究串联电路和并联电路的电压关系
一、按图④将L1、L2组成串联电路,用电压表分别测出:灯泡L1两端的电压U1,灯泡L2两端的电压U2,灯泡L1与L2串联的总电压U。要求:
先在作业本上画出将电压表接入电路的三幅电路图,并标出电压表的“+”、“-”接线柱。学生自己设计记录表格,做好记录后,分析实验结果,写出结论。
二、按图⑤,将L1、L2组成并联电路,用电压表分别测出灯泡L1两端的电压U1,灯泡L2两端的电压U2,A、B两点之间的总电压U。要求:
先在作业本上画出将电压表接入电路的三幅电路图,并标出电压表的“+”、“-”接线柱。学生自己设计记录表格;做好记录后,分析实验结果,写出结论。
实验完毕,断开电源,整理仪器,进行讲评。
4.小结
由学生汇报实验数据和所得到的结论。
(1)串联电池组的电压等于各节电池的电压之和。并联电池组的电压等于每节电池的电压。
(2)串联电路的总电压等于各部分电路两端电压之和。在并联电路里,各支路两端的电压相等,并且总电压等于各支路两端的电压。
练习题:(1)一个小电动机工作时,要求电源电压是6伏,要用几节干电池,怎样连接?
(2)在图⑥甲中,VA=6伏,VB=______,VC=______,在乙图中,V1=2伏,V=6伏,V2=______。
(四)说明
用电压表测电压的实验,对于大多数学生来说,并不困难。教师在教学中应注意:
1.严格要求学生按电压表使用规则进行实验操作。
2.培养能力,其中包括:按要求画电路图,自己设计记录表格,分析归纳得出结论。