文档库 最新最全的文档下载
当前位置:文档库 › 简易电压表设计实验报告

简易电压表设计实验报告

简易电压表设计实验报告
简易电压表设计实验报告

数字电路与逻辑设计实验

实验报告

课题名称:简易数字电压表的设计

学院:信息与通信工程学院

班级:

姓名:

学号:

班内序号:

一.设计课题的任务要求

设计并实现一个简易数字电压表,要求使用实验板上的串行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转换启动键,输入。输入高电平时开始转换。

clk:时钟输入。

ad_dat:ADS7816转换结束后的12位串行二进制数据输入端。

cs:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

data_out[11..0]:12位并行二进制数据输出端。

3.2 数据转换控制模块

(1)元件设计

en:开始测量键,输入。按键按下为高电平。

reset:复位键,输入。按键按下为高电平。

clk:时钟输入。

datain[11..0]:12位并行二进制数据输入端。

beef:蜂鸣器,高电平有效。

d2[3..0]:低四位十进制BCD码输出端

d3[3..0]:中四位十进制BCD码输出端

d4[3..0]:高四位十进制BCD码输出端

(2)状态说明

reset,en两个按键有四个状态组合00,01,10,11,按键按下为“1”,状态转移图如下所示,当状态为01,10时开始数据转换。

(3)数据处理

ADS7816是12位模数转换器,它的输出状态共有4096种,输入信号Ui为0~2.5V 电压范围,则每两个状态值为2.5/(4096-1),约为0.0006V,故测量分辨率为0.006V。常用测量方法是:当读取到DB11~DB0转换值是XXXH时,电压测量值为U≈XXXH×0.02V;考虑到直接使用乘法计算对应的电压值将耗用大量的FPGA内部组件,本设计用查表命令来得到正确的电压值。在读取到ADS7816的转换数据后,先用查表指令算出高,中,低4位的3个电压值,并分别用16位BCD码表示;接着设计16位的BCD码加法,如果每4位相加结果超过9需进行减10进1。这样得到模拟电压的BCD码。

3.3译码显示模块

clk1:时钟输入。

doo2[3..0]:低四位十进制BCD码输入端doo3[3..0]:中四位十进制BCD码输入端doo4[3..0]:高四位十进制BCD码输入端CAT[5..0]:片选信号,输出

seg[6..0]:7段数码管显示,输出

dp:小数点显示,输出

三. 仿真波形及波形分析

1. ADS7816转换控制模块

cs下降沿后的第一个时钟周期上升的计数变量t=1,根据代码,当t=4时开始接收ADS7816传进来的第一个数据B11到data_out(11);t=5时开始接收ADS7816传进来的第二个数据B10到data_out(10);直到t=15时开始接收ADS7816传进来的第十二个数据B0到data_out(0),然后一次性将并行的12个数据data_out传给输出端da_out。

2.数据转换控制模块

如图所示,当en有一个上升沿时,开始数据转换。例如从ADS转换控制模块接收的数据为“000110111101”时,查表可知输出电压应为0.154+0.106+0.008=0.26V,即d4=“0000”,d3=“0010”,d2=“0110”;而当reset有一个下降沿时,d4=“0000”,d3=“0000”,d2=“0000”;以上预计结果与仿真图输出相同,仿真结果正确。

3.译码显示模块

图1

图2

仿真图中多个数码管是依次显示,当频率较高,切换速度足够快时,观察到所有数码管都是同时在显示。如图2,当输入是“000000100000”时,数码管显示“0.20”,CAT为“111110”时,seg为“1111110”,个位显示“0”;CAT为“1111101”时,seg为“1101101”,小数点第二位显示“2”。

四. 源程序

1. ADS7816转换控制模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY ads IS

PORT(

en:in std_logic;

clk:in STD_LOGIC;

cs:out STD_LOGIC;

ad_dat: in std_logic;

da_out: out std_logic_vector(11 downto 0));

END ads;

ARCHITECTURE behave OF ads IS

signal oe:integer range 0 to 1;

signal en1,en2,f_en:std_logic;

signal t:integer range 0 to 16;

signal temp_cs:std_logic;

signal data_out:std_logic_vector(11 downto 0);

BEGIN

p1:process(clk) --按键防抖

begin

if clk'event and clk='0' then

en2<=en1;

en1<=en;

end if;

end process;

f_en<=clk and en1 and (not en2);

p2:process(f_en,clk,oe) --

begin

if (f_en'event and f_en='1' )then--接收到开始测量按键的信号

oe<=1;

end if;

if oe=1 then

if clk'event and clk='1' then

--将ADS输出的12位串行二进制数据转换为12位并行二进制数据

case t is

when 4=>data_out(11)<=ad_dat; --第4个时钟上升沿ADS开始输出数据when 5=>data_out(10)<=ad_dat;

when 6=>data_out(9)<=ad_dat;

when 7=>data_out(8)<=ad_dat;

when 8=>data_out(7)<=ad_dat;

when 9=>data_out(6)<=ad_dat;

when 10=>data_out(5)<=ad_dat;

when 11=>data_out(4)<=ad_dat;

when 12=>data_out(3)<=ad_dat;

when 13=>data_out(2)<=ad_dat;

when 14=>data_out(1)<=ad_dat;

when 15=>data_out(0)<=ad_dat;

da_out<=data_out;

when others=>data_out<="000000000000";

end case;

if t<16 then t<=t+1;

else t<=0;

end if;

end if;

if clk'event and clk='0' then

case t is

when 0=>temp_cs<='1';--t=0时一次转换结束,cs变为高电平 when 1=>temp_cs<='0';--t=1时下一次转换开始,cs变为低电平

when others=>null;

end case;

end if;

end if;

end process;

cs<=temp_cs;

end behave;

2.数据转换控制模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY deal IS

PORT(

clk: in std_logic;

datain:IN STD_LOGIC_VECTOR(11 DOWNTO 0);

en: in std_logic;

reset: in std_logic;

beef: OUT STD_LOGIC;

d2,d3,d4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END deal;

ARCHITECTURE behave OF deal IS

SIGNAL data0,data1,data2:STD_LOGIC_VECTOR(15 DOWNTO 0);

SIGNAL sum1,sum2,sum3,sum4,do1,do2,do3,do4:STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL c1,c2,c3:STD_LOGIC_VECTOR(4 DOWNTO 0);

signal flag:integer range 0 to 1;

signal r:integer range 0 to 1;

signal en1,en2,f_en:std_logic;

signal reset1,reset2,f_reset:std_logic;

BEGIN

p2:process(clk) --按键防抖

begin

if clk'event and clk='0' then

reset2<=reset1;

reset1<=reset;

en2<=en1;

en1<=en;

end if;

end process;

f_reset<=clk and reset1 and (not reset2);

f_en<=clk and en1 and (not en2);

p3:PROCESS(datain,f_en,f_reset)--reset,en组合的4个状态00,01,10,11转移关系 BEGIN

if (f_en'event and f_en='1') then

if (r=0 and flag=0)or (r=0 and flag=1) then

flag<=1;

end if;

if (r=1 and flag=1)or( r=1 and flag=0 ) then

flag<=0;

end if;

end if;

if (f_reset'event and f_reset='0') then

if (r=0 and flag=0)or (r=1 and flag=0) then

r<=0;

end if;

if (r=1 and flag=1)or( r=0 and flag=1) then

r<=1;

end if;

end if;

if (flag=1 and r=0)or(flag=0 and r=1) then –当状态为01,10时,开始数据转换

--将高四位二进制数据所代表的电压值转换为16位BCD码

CASE datain(11 DOWNTO 8) IS

WHEN "0000"=> data2 <= "0000000000000000";

WHEN "0001"=> data2 <= "0000000101010100";

WHEN "0010"=> data2 <= "0000001100000111";

WHEN "0011"=> data2 <= "0000010001100001";

WHEN "0100"=> data2 <= "0000011000010100";

WHEN "0101"=> data2 <= "0000011101101000";

WHEN "0110"=> data2 <= "0000100100100010";

WHEN "0111"=> data2 <= "0001000001110101";

WHEN "1000"=> data2 <= "0001001000101001";

WHEN "1001"=> data2 <= "0001001110000010";

WHEN "1010"=> data2 <= "0001010100110110";

WHEN "1011"=> data2 <= "0001011010010000";

WHEN "1100"=> data2 <= "0001100001000011";

WHEN "1101"=> data2 <= "0001100110010111";

WHEN "1110"=> data2 <= "0010000101010000";

WHEN "1111"=> data2 <= "0010001100000100";

WHEN OTHERS=> data2 <= NULL;

END CASE;

--将中四位二进制数据所代表的电压值转换为16位BCD码

CASE datain(7 DOWNTO 4) IS

WHEN "0000"=> data1 <= "0000000000000000";

WHEN "0001"=> data1 <= "0000000000010000";

WHEN "0010"=> data1 <= "0000000000011001";

WHEN "0011"=> data1 <= "0000000000101001";

WHEN "0100"=> data1 <= "0000000000111000";

WHEN "0101"=> data1 <= "0000000001001000";

WHEN "0110"=> data1 <= "0000000001011000";

WHEN "0111"=> data1 <= "0000000001100111";

WHEN "1000"=> data1 <= "0000000001110111";

WHEN "1001"=> data1 <= "0000000010000110";

WHEN "1010"=> data1 <= "0000000010010110";

WHEN "1011"=> data1 <= "0000000100000110";

WHEN "1100"=> data1 <= "0000000100010101";

WHEN "1101"=> data1 <= "0000000100100101";

WHEN "1110"=> data1 <= "0000000100110100";

WHEN "1111"=> data1 <= "0000000101000100";

WHEN OTHERS=> data1 <= NULL;

END CASE;

--将低四位二进制数据所代表的电压值转换为16位BCD码

CASE datain(3 DOWNTO 0) IS

WHEN "0000"=> data0 <= "0000000000000000";

WHEN "0001"=> data0 <= "0000000000000001";

WHEN "0010"=> data0 <= "0000000000000001";

WHEN "0011"=> data0 <= "0000000000000010";

WHEN "0100"=> data0 <= "0000000000000010";

WHEN "0101"=> data0 <= "0000000000000011";

WHEN "0110"=> data0 <= "0000000000000100";

WHEN "0111"=> data0 <= "0000000000000100";

WHEN "1000"=> data0 <= "0000000000000101";

WHEN "1001"=> data0 <= "0000000000000101";

WHEN "1010"=> data0 <= "0000000000000110";

WHEN "1011"=> data0 <= "0000000000000111";

WHEN "1100"=> data0 <= "0000000000000111";

WHEN "1101"=> data0 <= "0000000000001000";

WHEN "1110"=> data0 <= "0000000000001000";

WHEN "1111"=> data0 <= "0000000000001001";

WHEN OTHERS=> data0 <= NULL;

END CASE;

--将高,中,低分别代表的16位BCD(表示为15-0位)进行加法运算

--16位BCD码中的(3-0位)相加,和大于9进1

sum1<=('0'&data2(3 DOWNTO 0))+('0'&data1(3 DOWNTO 0))+('0'&data0(3 DOWNTO 0)); IF sum1<"01010" THEN c1<="00000";

ELSE c1<="00001";

END IF;

--16位BCD码中的(7-4位)相加,和大于9进1

sum2<=('0'&data2(7 DOWNTO 4))+('0'&data1(7 DOWNTO 4))+('0'&data0(7 DOWNTO 4))+c1;

IF sum2<"01010" THEN c2<="00000";

ELSE c2<="00001";

END IF;

--16位BCD码中的(11-8位)相加,和大于9进1

sum3<=('0'&data2(11 DOWNTO 8))+('0'&data1(11 DOWNTO 8))+('0'&data0(11 DOWNTO 8))+c2;

IF sum3<"01010" THEN c3<="00000";

ELSE c3<="00001";

END IF;

--16位BCD码中的(15-12位)相加,和大于9进1

sum4<=('0'&data2(15 DOWNTO 12))+('0'&data1(15 DOWNTO 12))+('0'&data0(15 DOWNTO 12))+c3;

IF sum1<"01010" THEN do1<=sum1;--和大于9减10

ELSE do1<=sum1-"01010";

END IF;

IF sum2<"01010" THEN do2<=sum2;

ELSE do2<=sum2-"01010";

END IF;

IF sum3<"01010" THEN do3<=sum3;

ELSE do3<=sum3-"01010";

END IF;

IF sum4<"01010" THEN do4<=sum4;

ELSE do4<=sum4-"01010";

END IF;

d2<=do2(3 DOWNTO 0);--输出十进制BCD码中的低四位

d3<=do3(3 DOWNTO 0);--输出十进制BCD码中的中四位

d4<=do4(3 DOWNTO 0);--输出十进制BCD码中的高四位

-- 量程超过1.5V蜂鸣器报警,溢出显示为“5.55”

IF(do4(3 DOWNTO 0)>="0001" and do3(3 DOWNTO 0)>="0101" ) THEN

beef<='1';

else

beef<='0';

END IF;

else

d2<="0000";

d3<="0000";

d4<="0000";

beef<='0';

end if;

END PROCESS;

END behave;

3. 译码显示模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY display IS

PORT(

doo2,doo3,doo4: IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK1: IN STD_LOGIC;

CAT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);

dp: OUT STD_LOGIC;

seg: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)

);

END display;

ARCHITECTURE V1 OF display IS

SIGNAL TMP : INTEGER RANGE 0 TO 3;

BEGIN

p1: PROCESS(CLK1)

BEGIN

IF(CLK1'EVENT AND CLK1 = '1' ) THEN

IF(TMP = 3) THEN

TMP <= 1;

ELSE

TMP <= TMP + 1;

END IF;

END IF;

end PROCESS;

p2: PROCESS(TMP)

BEGIN

CASE TMP IS

--高四位译码

WHEN 3 => CAT <= "111011";dp<='1';

if (doo4="0000") then seg<="1111110";

elsif (doo4="0001") then seg<="0110000";

elsif (doo4="0010") then seg<="1101101";

elsif (doo4="0011") then seg<="1111001";

elsif (doo4="0100") then seg<="0110011";

elsif (doo4="0101") then seg<="1011011";

elsif (doo4="0110") then seg<="1011111";

elsif (doo4="0111") then seg<="1110000";

elsif (doo4="1000") then seg<="1111111";

elsif (doo4="1001") then seg<="1111011";

else seg<="1111110";

end if;

--中四位译码

WHEN 2 => CAT <= "111101";dp<='0';

if (doo3="0000") then seg<="1111110";

elsif (doo3="0001") then seg<="0110000";

elsif (doo3="0010") then seg<="1101101";

elsif (doo3="0011") then seg<="1111001";

elsif (doo3="0100") then seg<="0110011";

elsif (doo3="0101") then seg<="1011011";

elsif (doo3="0110") then seg<="1011111";

elsif (doo3="0111") then seg<="1110000";

elsif (doo3="1000") then seg<="1111111";

elsif (doo3="1001") then seg<="1111011";

else seg<="1111110";

end if;

--低四位译码

WHEN 1 => CAT <= "111110";dp<='0';

if (doo2="0000") then seg<="1111110";

elsif (doo2="0001") then seg<="0110000";

elsif (doo2="0010") then seg<="1101101";

elsif (doo2="0011") then seg<="1111001";

elsif (doo2="0100") then seg<="0110011";

elsif (doo2="0101") then seg<="1011011";

elsif (doo2="0110") then seg<="1011111";

elsif (doo2="0111") then seg<="1110000";

elsif (doo2="1000") then seg<="1111111";

elsif (doo2="1001") then seg<="1111011";

else seg<="1111110";

end if;

WHEN OTHERS => seg <= "1111110";CAT <= "111000"; END CASE;

END PROCESS;

END V1;

4. 12分频模块

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY div_12 IS

PORT(

clk: IN STD_LOGIC;

clk_out: OUT STD_LOGIC);

END div_12;

ARCHITECTURE struct OF div_12 IS

SIGNAL temp :INTEGER RANGE 0 TO 124;

SIGNAL clk_temp: STD_LOGIC;

BEGIN

PROCESS(clk)

BEGIN

IF(clk'event AND clk='1') THEN

IF temp=11 THEN

temp<=0;clk_temp<=NOT clk_temp;

ELSE

temp<=temp+1;

END IF;

END IF;

END PROCESS;

clk_out<=clk_temp;

END struct;

五. 功能说明及资源利用情况

1.功能说明

en:为开始测量按键,连接到BIN6,按下此键开始测量。

reset:为复位键,连接到BIN5,按下此键显示值变为“000”。

beef:为蜂鸣器,当量程超过1.5V时响起。

整个测量过程:将电池电压接入到实验板,按下开始测量键BIN6。若没有超过量程,数码管显示当前电池的电压值。若超过量程,蜂鸣器警报响起,数码管显示溢出值“555”。若按下复位键BIN5,数码管显示“000”。

2.资源利用

资源利用率:1268/1270=21%

六. 故障及问题分析

1.刚开始接触实验的时候,对整个框架的认识很模糊,没有弄清楚ADS7816的数据的输入输出和EPM1270T144C5的数据输入输出的关系。经过咨询同学,得知ADS7816的数据输入是待测量的电压,输出的串行12位数据是EPM1270T144C5的数据输入。ADS7816是独立于EPM1270T144C5之外的模数转换芯片。

2.一开始接触实验的时候,对ADS7816的时序图没有给予太多的关注,以至于不了解转换芯片的工作过程。后来发现时序图对于ADS转换控制模块极其重要,仔细阅读,掌握了ADS7816的时序图:采用在DCLK的上升沿接收转换后的各位数据流。CS的下降沿用于启动转换和数据变换,CS有效后的最初1至2个转换周期内,ADS7816采样输入信号,此时输出引脚Dout呈三态。DCLK的第2个下降沿后,Dout使能并输出一个时钟周期的低电平的无效信号。在第4个时钟的上升沿,Dout开始输出转换结果,其输出数据的格式是最高有效位(B11位)在前。当最低有效位(B0位)输出后,若CS变为高电位,则一次转换结束,Dout显三态。当理解到这个原理的时候,ADS转化控制模块的编程思路由模糊变为清晰。

3.仿真时间区域的设定与输入波形周期的设定一定要协调,否则得到波形可能不便于观察或发生错误。

4.保存波形文件时,文件名必须与工程名一致,因为在多次为一个工程建立波形文件时,一定要注意保存时文件名要与工程名一致,否则不能得到正确的仿真结果。

七. 总结和结论

课程设计刚开始,拿着选定的题目不知如何入手。毕竟课程设计不同于实验课,电路图和程序都要自己设计。静下心来,仔细分析题目,查阅各种相关资料,再加上指导老师的说明与提示和同组成员的帮助,心中才有大体的轮廓。我首先将整个系统根据不同的功能化分成模块,再分别进行设计,逐个攻破,最后再将其整合。

用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。

在实习中经常会遇到一些自己可能暂时无法想明白的问题,请教同学或老师是很好的做法,节省时间也会从别人上上学到更多。在设计时和同学相互交流各自的想法也是很重要的,

不同的人对问题的看法总有差异,我们可以从交流中获得不同的思路,其他人的设计一定有比我出色的地方,很好的借鉴,并在大家的商讨中选择最优方案最终一定会得到最好的设计方法。所以本次试验通过自己对相关资料的查询,以及向其他同学的请教、相互间的讨论,基本顺利地完成了实验,能够实现对电池电压的测量。在这实验中,我对电路设计,QUARTUS 的使用等都有了新的认识。通过这次设计更加深刻掌握了QUARTUS软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。并发现仿真跟实际有区别,仿真出来的结果和烧到实验板上出来的结果并不一定相同,得耐心调试。对一个大电路的调试,可以分模块调试,然后合起来调试,增强系统概念。

由于一个学期没有接触QUARTUS软件,刚开始的时候有一种无从下手的感觉,但经过复习,又得心应手起来。另外在具体的实验操作过程中一定要细心,比如在引脚设定时一定要做到“对号入座”,曾经自己由于这一点没做好耗费了很多时间。实验中遇到的各种大小问题基本都是自己独立排查解决的,这对于自己独立解决问题的能力也是一个极大地提高和锻炼。

通过这次数电实验,我收获的不止是知识,更重要的是分析、解决问题的能力。在学习用QUARTUS设计原理图时,我锻炼了分析实验要求、判断电路结构的能力,而在编写VHDL 程序时,尤其是设计和实现ADS转换控制模块,分析问题、解决问题的能力得到了逐步提升。

基于8255的LCD显示简易电压表设计说明

2013/2014学年第一学期 课程设计II实验报告 模块名称关于51单片机设计(proteus)专业通信工程 学生班级 学生学号 学生姓名 指导教师

报告容 第一部分实验目的和要求 本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。 实验要求: 数字电压表(AC/DC)设计 基本要求: 了解电压表的工作原理。 设计一个直流电压测量器,测量围0.01V-3V, 用LED数码管/LCD屏显示测量值,显示精度0.001 用键盘选择测量围(分档) 发挥部分: 交流电压测量,被测频率1KHz-10KHz (0.1-3V) 考虑交流测量的附加电路。 显示格式: LED数码管/LCD屏显示参数 基于8255口是指显示和键盘都由8255的IO口控制 根据提供的参考工程,在proteus平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。

第二部分实验工具及实验器件 1.Proteus软件 Proteus是英国Labcenter公司开发的电路及单片机系统设计与仿真软件。Proteus可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能。Proteus是目前唯一能对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可对系统进行调试、测试和验证。Proteus软件大大提高了企业的产品开发效率,降低了开发风险。由于Proteus软件逼真、真实的协同仿真功能,它也特别适合于作为配合单片机课堂教学和实验的学习工具。 Proteus软件提供了30多个元器件库、7000余种元器件。元器件涉及电阻、电容、二极管、三极管、变压器、继电器、各种放大器、各种激励器、各种微控制器、各种门电路和各种终端等。Proteus软件还提供有交直流电压表、逻辑分析仪、示波器、定时/计数器和信号发生器等测试信号工具用于电路测试。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。Keil 使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C 语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选

基于LABVIEW的数字电压表的设计

学号 XX 虚拟仪器 学生姓名XX 专业班级XX

基于LABVIEW的数字电压表的设计 一、设计目的 1.掌握数字电压表的基本原理和方法。 2.基于LabView设计数字电压表并实现。 二、设计原理 电压是电路中常用的电信号,通过电压测量,利用基本公式可以导出其他的参数。因此,电压测量是其他许多电参数和非电参数量的基础。测量电压相当普及的一种测量仪表就是电压表,但常用的是模拟电压表。模拟电压表根据检波方式的不同。分为峰值电压表、均值电压表和平均值电压表,它们都各自做成独立的仪表。这样,使用模拟电压表进行交流电压测量时,必须根据测量要求选择仪表。另外,多数电压表的表头是按正弦交流有效值刻度的,而测量非正弦波时,必须经过换算才能得到正确的测量结果,从而给实际工作带来不便。 采用虚拟电压表,可将表征交流电压特征的峰值、平均值和有效值集中显示在一块面板上,测量时可根据波形在面板上选择仪表,用户仅通过面板指示值就能对测量结果进行分析比较,大大简化了测量步骤。 三、设计思路 LabVIEw 8.5版本的工程技术比以往任何一个版本都丰富.它采用了英文界面,各个控件的功能一目了然。利用它全新的用户界面对象和功能,能开发出专业化、可完全自定义的前面板。LabVIEW 8.2对数学、信号处理和分析也进行了重大的补充和完善,信号处理分析和数学具有更为全面和强大的库,其中包括500多个函数。所以在LabVIEW 8.5版本下能够更方便地实现虚拟电压表的设计。 该电压表主要用于电路分析和模拟电子技术等实验课的教学和测量仪器,能够让使用者了解和掌握电压的测量和电压表对各种波形的不同响应。因此,虚拟电压表应具备电源开关控制、波形选择,以及显示峰值、有效值和平均值三种结果,且输入信号的大小可调节等功能。所以,用软件虚拟了一个信号发生器。该信号发生器可产生正弦波、方波和三角波,还可以输入公式,产生任意波形。根据需要,可调节面板上的控件来改变信号的频率和幅度等可调参数,然后检测电压表的运行情况。因此,在LabVIEW图形语言环境下设计的虚拟电压表主要分为

电子工艺实习实验报告

1.1.1.1.1北京邮电大学实习报告

1.焊接工艺 1.1 焊接工艺的基本知识 焊接是使金属连接的一种方法。它利用加热手段,在两种金属的接触面,通过高温条件下焊接材料的原子或分子的相互扩散作用,使两种金属间形成永结牢固的结合面而结合成整体。焊接的过程有浸润、扩散、冷却凝固三个阶段的变化。利用焊接的方法进行连接而形成的接点叫焊点。 焊接工艺是指焊接过程中的一整套技术规定。包括焊接方法、焊前准备、焊接材料、焊接设备、焊接顺序、焊接操作、工艺参数以及焊后热处理等。 我们实验中主要是PCB板的焊接。 1.2 焊接工具、焊料、焊剂的类别与作用 焊接工具有烙铁、镊子、螺丝刀、钳子等。 电烙铁的作用是加热焊料和被焊接金属,最终形成焊点。按加热方式可分为热式、外热式等,按功能分为防静电式、吸锡式、恒温式等。本实验使用外热式电烙铁。 焊料是焊接时用于填加到焊缝、堆焊层和钎缝中的金属合金材料的总称。包括焊丝、焊条、钎料等。焊料分软焊料和硬焊料两种,软焊料熔点较低,质软,也叫焊镴,如焊锡;硬焊料熔点较高,质硬,如铜锌合金。本次实习使用的焊料为焊锡(铅锡合金)。 焊剂是指焊接时,能够熔化形成熔渣和(或)气体,对熔化金属起保护和冶金物理化学作用的一种物质,又称助焊剂或阻焊剂,一般由活化剂、树脂、扩散剂、溶剂四部分组成。一般可划分为酸性焊剂和碱性焊剂两种。作用:清除焊件表面的氧化膜,保证焊锡浸润。本实验的焊料是松香。 下面分列各工具及材料的作用。 电烙铁:熔化焊锡; 电烙铁架:放置电烙铁; 镊子:夹持焊锡或去除导线皮; 螺丝刀:拆组机器狗; 钳子:裁剪导线或焊锡; 焊锡(锡铅合金):固定焊脚,电路板和器件电气连接; 助焊剂(松香):加速焊锡融化,去除氧化膜,防止氧化等; 阻焊剂(光固树脂):板上和板层间的绝缘材料。 1.3焊接方法 手工焊接主要为五步焊接法: 1.准备施焊,检查焊件、焊锡丝、烙铁,保持焊件和烙铁头的干净; 2.加热焊件,用烙铁头加热焊件各部分,加热时不要施压; 3.熔化焊料,焊锡丝从烙铁对面接触焊件,将焊丝至于焊点,是焊料融化并润湿焊点; 4.移开焊锡,当融化的焊料在焊点上堆积一定量后,移开锡丝; 5.移开烙铁,当焊锡完全润湿后,迅速移开烙铁,在焊锡凝固前保持焊件为静止状态。

直流电压表的设计

目 录 一、设计要求 (2) 二、设计目的 (2) 三、设计的具体实现 (2) 1. 系统概述 (12) 2. 单元电路设计 (15) 3. 软件程序设计 (18) 四、结论与展望 (21)

五、心得体会及建议 (23) 六、附录 (26) 七、参考文献 (30) 一﹑设计要求 设计一个由8051MCU组成的简易直流电压表系统。能够测量一定范围的电压值,并以数字形式进行显示。通过这个过程熟悉A/D转换、键盘控制、串口通信和七段数码管的使用,掌握51系列单片机控制和测试方法。设计以AT89C51单片机为核心,对电压信号首先进行比例调节以满足A/D的需要;设置按键用于调节不同的电压档位;用LED显示测量得到的电压值;设计通信接口电路以实现测量数据的传送。完成基本要求,可以适当发挥进行扩展设计。 ①测量范围0-200V ②10位模数转换 ③采样结果通过LED数码管显示 ④通过串行口与PC通信 二、设计目的 (1)利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。

(2)我们这次的课程设计是以单片机为基础,设计并开发直流电压表。 (3)掌握各个接口芯片(如ADC0808等)的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。 三、设计的具体实现 技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表.传统的指针式电压表功能单一、精度低,不能满足现代测量的需求,采用单片机的数字电压表,它的精度高、抗干扰能力强。可扩展性强、集成方便,还可与PC进行实时通信。目前,有各种单片A/D转换器构成的数字电压表,以被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能测量领域,与此同时,也能把电量及非电量测量技术提高到崭新水平。该系列产品是一种高精度的安装式仪表. 本设计为简易直流数字电压表, A/D转换器部分采用普通元器件构成模拟部分,利用MCS-51单片机借助软件实现数字显示功能,自动校零、LED显示等功能时采用AT89C51单片机编程实现直流电压表量程的自动转换。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。总体结构框图如图1所示 模拟电压 AT89C51 单 片 机

#简易数字电压表的设计

一、简易数字电压表的设计 l .功能要求 简易数字电压表可以测量0~5V 的8路输入电压值,并在四位LED 数码管上轮流显示或单路选择显示。测量最小分辨率为0.019 V ,测量误差约为土0.02V 。 2.方案论证 按系统功能实现要求,决定控制系统采用A T89C52单片机,A /D 转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便地进行8路其它A /D 转换量的测量、远程测量结果传送等扩展功能。数字电压表系统设计方案框图如图1-1。 3.系统硬件电路的设 计 简易数字电压测量电 路由A /D 转换、数据处 理及显示控制等组成,电 路原理图如图1-2所示。A /D 转换由集成电路0809完 成。0809具有8路模拟输人 端口,地址线(23~25脚)可决定对哪一路模拟输入作A /D 转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2us 宽高电平脉冲时,就开始A /D 转换,7脚为A /D 转换结束标志,当A /D 转换结束时,7脚输出高电平,9脚为A /D 转换数据输出允许控制,当OE 脚为高电平时,A /D 转换数据从该端口输出,10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1 MHz 时钟。单片机的P1、P3.0~P3.3端口作为四位LED 数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A /D 转换数据读入用,P2端口用作0809的A /D 转换控制。 4.系统程序的设计 (1)初始化程序 系统上电时,初始化程序将70H ~77H 内存单元清0,P2口置0。 (2)主程序 在刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将 图1-1 数字电压表系统设计方案

基于单片机的数字电压表设计

引言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本论文重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

1 实训要求 (1)基本要求: ①实现8路直流电压检测 ②测量电压范围0-5V ③显示指定电压通道和电压值 ④用按键切换显示通道 (2)发挥要求 ①测量电压范围为0-25V ②循环显示8路电压 2 实训目的 (1)进一步熟悉和掌握单片机的结构和工作原理; (2)掌握单片机的借口技术及,ADC0809芯片的特性,控制方法; (3)通过这次实训设计,掌握以单片机为核心的电路设计的基本方法和技术;(4)通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。 3 实训意义 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。 4 总体实训方案 测量一个0——5V的直流电压,通过输入电路把信号送给AD0809,转换为数字信号再送至89s52单片机,通过其P1口经数码管显示出测量值。 4.1 结构框图 如图1—1所示 图1—1

简易电压表设计实验报告

数字电路与逻辑设计实验 实验报告 课题名称:简易数字电压表的设计 学院:信息与通信工程学院 班级: 姓名: 学号: 班内序号:

一.设计课题的任务要求 设计并实现一个简易数字电压表,要求使用实验板上的串行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转换启动键,输入。输入高电平时开始转换。 clk:时钟输入。 ad_dat:ADS7816转换结束后的12位串行二进制数据输入端。 cs:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 data_out[11..0]:12位并行二进制数据输出端。 3.2 数据转换控制模块

电子工艺实验报告

电子工艺实验报告 一、实验目的: (1)熟悉手工焊锡的常用工具的使用及其维护与修理。 (2)基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。熟悉电子产品的安装工艺的生产流程,印制电路板设计的步骤和方法,手工制作印制电板的工艺流程,能够根据电路原理图,元器件实物。 (3)了解常用电子器件的类别、型号、规格、性能及其使用范围,能查阅有关的电子器件图书。 (4)能够选用常用的电子器件。了解电子产品的焊接、调试与维修方法。了解一般电子产品的生产调试过程,初步学习调试电子产品的方法。 抢答器焊接部分 二、实验步骤: (1)学习识别简单的电子元件与电子电路。 (2)学习并掌握抢答器的工作原理。 (3)学习焊接各种电子元器件的操作方法。 (4)按照图纸焊接元件。 实验原理图

焊接技巧及烙铁使用 (一)焊接机巧 1.焊前处理: 焊接前,应对元件引脚或电路板的焊接部位进行焊前处理。 ①、清除焊接部位的氧化层 可用断锯条制成小刀。刮去金属引线表面的氧化层,使引脚露出金属光泽。印刷电路板可用细纱纸将铜箔打光后,涂上一层松香酒精溶液。 ②、元件镀锡

在刮净的引线上镀锡。可将引线蘸一下松香酒精溶液后,将带锡的热烙铁头压在引线上,并转动引线。即可使引线均匀地镀上一层很薄的锡层。导线焊接前,应将绝缘外皮剥去,再经过上面两项处理,才能正式焊接。若是多股金属丝的导线,打光后应先拧在一起,然后再镀锡。 2.做好焊前处理之后,就可正式进行焊接。 ①、右手持电烙铁。左手用尖嘴钳或镊子夹持元件或导线。焊接前,电烙铁要充分预热。烙铁头刃面上要吃锡,即带上一定量焊锡。 ②、将烙铁头刃面紧贴在焊点处。电烙铁与水平面大约成60℃角。以便于熔化的锡从烙铁头上流到焊点上。烙铁头在焊点处停留的时间控制在2~3秒钟。 ③、抬开烙铁头。左手仍持元件不动。待焊点处的锡冷却凝固后,才可松开左手。 ④、用镊子转动引线,确认不松动,然后可用偏口钳剪去多余的引线。 3.焊接质量 焊接时,要保证每个焊点焊接牢固、接触良好。要保证焊接质量。 所示应是锡点光亮,圆滑而无毛刺,锡量适中。锡和被焊物融合牢固。不应有虚焊和假焊。 虚焊是焊点处只有少量锡焊住,造成接触不良,时通时断。假焊是指表面上好像焊住了,但实际上并没有焊上,有时用手一拔,引线就可以从焊点中拔出。

直流数字电压表设计说明书

专业资料 《电子测量技术》直流数字电压表设计 院系软件职业技术学院 专业应用技术2班 学生姓名郭妍 学号 5103130016

目录 一、题目及设计要求……………………………………………………………………3页 二、主要技术……………………………………………………………………………3页 三、方案选择…………………………………………………………………………… 3页 四、电路设计原理……………………………………………………………………… 3页 4.1 模数转换………………………………………………………………………… 4页 4.2 数字处理及控制……………………………………………………………………5页 五、电路图分介绍……………………………………………………………………… 5页 5.1 AT89C51介绍………………………………………………………………………6页 5.2排阻介绍……………………………………………………………………………7页 5.3 晶振电路……………………………………………………………………………7页 5.4 复位电路……………………………………………………………………………8页 5.5 ADC0808介绍………………………………………………………………………8页 5.6共阴极数码管………………………………………………………………………9页 5.7模拟输入电路………………………………………………………………………9页5.8总设计图……………………………………………………………………………10页 5.9仿真图………………………………………………………………………………10页 六、设计程序……………………………………………………………………………11页 七、心得体会……………………………………………………………………………14 页

简易数字电压表设计内容

简易数字电压表设计 一、设计要求 1、利用ADC0809设计一简易数字电压表,要求可以测量0—5V之间8路输入电压值、电压值由四位LED数码管显示,并在数码管上轮流显示或单路选择显示; 2、测量最小分辨率为0.019V,测量误差为±0.02V。 二、设计作用与目的 利用AT89S51与ADC0809设计制作一个数字表,能够测量直流电压值。 三、所用设备及软件 单片机AT89S51、ADC0809芯片、PC设计台 四、系统设计方案 本设计采用AT89S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,原理框图如图1所示。该电路通过ADC0809芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89S51芯片的P0口。AT89S51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口经三极管驱动,再传送给数码管。同时它还通过其三位I/O口P3.0、P3.1、P3.2产生位选信号,控制数码管的亮灭。另外,AT89S51还控制着ADC0809的工作。其ALE管脚为ADC0809提供了1MHz工作的时钟脉冲;P2.3控制ADC0809的地址锁存端(ALE);P2.4控制ADC0809的启动端(START);P2.5控制ADC0809的输出允许端(OE);P3.7控制ADC0809的转换结束信号(EOC)。

图1 系统原理框图 本设计与其它方法实现主要区别在于元器件上例如:AT89C51与AT89C51、AT89S51在AT89C51的基础上,又增加了许多功能,性能有了较大提升。 1.ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。 2.工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。 3.具有双工UART串行通道。 4.内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。 5.双数据指示器。 6.电源关闭标识。 7.全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。 8.兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。在89C51上一样可以照常运行,这就是所谓的向下兼容。 五、系统硬件设计 5.1 模数转换芯片ADC0809 ADC0809是典型的8位8通道逐次逼近式A/D转换器。它可以和微型计算机直接接口。ADC0809转换器的系列芯片是ADC0808,可以相互替换。

电子工艺实习实验报告心得

电子工艺实习实验报告心得 为期四周的电子工艺实习结束了,在这期间我们学习了常用电子元器件,以及相关的各种工具;基本掌握了电子元器件的基本手工焊接方法;最后焊接完成了DT830D数字万用表的焊接与组装。这们课不同于其他的课程,主要是培养我们的手能力,同时它作为我们专业的一门必修课也让大家收获了很多,当最后我拿着我焊接组装的万用表时,心中有着一种喜悦,是一种通过自己双手获得成功后的喜悦。学完这门课后我对电子产品的生产有了个新的认识,它并不像过去我认为的装起来就好,而是要经历一定过程的。 我总结了一下,一个电子产品从开始到出厂的过程主要包括: 1、设计电路 2、制作印刷电路板,准备电子元器件 3、插装电子元器件 4、焊接电子元器件及修剪拐角 5、检验与调试 6、组装电子产品,包装 其中最主要的的就是焊接,焊接工艺的好坏直接影响着产品的档次与功能。特别是现在电子产品向小型化,与多功能化的方向发展,如果焊接工艺跟不上的话,再好的设计都是无法实现的。学习这门课感觉就是在学习电子产品的制造精髓------焊接。在细一点就是手工焊接,虽然这种方法在正规生产中是无法实现的,但他作为所有焊接技术的基础,以及我们学习电专业的人所必备的技能有着绝对的存在价值。

焊接是使金属连接的一种方法,利用加热的手段在两种金属的接触面通过焊接材料的原子或分子的相互扩散作用,是两种金属件形成一种永久的牢固结合。利用焊接方式进行连接而形成的连接叫做焊点。电子元器件的焊接称为锡焊,其主要原 手工焊一般分为四个步奏 1、准备焊接,其中最主要的是把少量的焊锡丝和助焊剂加到烙铁头上,以避免烙铁头的氧化,影响焊接质量,而且这样还可以使烙焊件将烙铁头放在被焊接的焊点上,使焊点升温。这样可以使焊锡铁随时处于可焊接状态。 2、接热更好的流向另一面焊盘。 3、溶化焊料,当焊点加热到一定程度时,将焊锡丝放在焊接处,使其溶解适量的焊料后一看焊锡丝。 4、移开烙铁,移开烙铁的时机,方向和速度决定着焊接的质量。正确的方法是先慢后快,45度的方向。在我焊接时,我感觉最主要问题是烙铁头的氧化,当廖铁头氧化后将不能挂锡,使焊锡溶解为一个小球不能与焊盘很好的连接。 在焊接中我体会到要注意的问题 1、焊锡量要适中,过多的焊锡会造成焊锡的浪费,焊接时间的增加,不易察觉的短路。过少的话会造成焊点强度降低,虚焊。在我焊接时刚开始我怕给多了所以就是都很少,有时甚至焊接面没有明显的焊接,后来心理慢慢默数1234来控制国际的心理,这时焊锡又有点多,随着焊接数的增加我慢慢掌握了焊接的用量。

简易交直流电压表

沈阳航空航天大学 课程设计任务书 课程名称电子技术综合课程设计 院(系)专业 班级学号姓名 课程设计题目简易数字电压表电路的设计 课程设计时间: 年月日至年月日 课程设计的内容及要求: 一、设计说明 设计一个简易数字电压表,它可以测量直流、交流电压。其参考原理框图如图1所示。 图1数字电压表的原理框图 二、技术指标 测量电压的技术指标如表所示。 三、设计要求 1.在选择器件时,应考虑成本,要求采用LED显示。各量程的转换采用开关转换。

2.根据技术指标,通过分析计算确定电路和元器件参数。 3.画出电路原理图(元器件标准化,电路图规范化)。 四、实验要求 1.根据技术指标制定实验方案;验证所设计的电路。 2.进行实验数据处理和分析。 五、推荐参考资料 1.沙占友、李学芝著.中外数字万用表电路原理与维修技术. [M]北京:人民邮电出版社,1993年 2. 阎石. 数字电子技术基础. [M]北京:高等教育出版社,2006年 3. 童诗白、华成英.模拟电子技术基础. [M]北京:高等教育出版社,2006年 4. 戴伏生.基础电子电路设计与实践. [M]北京:国防工业出版社,2002年 5. 谭博学主编.集成电路原理与应用. [M]北京:电子工业出版社,2003年 六、按照要求撰写课程设计报告 指导教师年月日 负责教师年月日 学生签字年月日 成绩评定表

一、概述 数字电压表既是常用的一种数字电压表,也是构成数字万用表的基本电路。随着科技的发展,电子产品在不断更新,但数字电压表是永远不会在电子产品中消失。 设计一个简易数字电压表,它可以测量直流、交流电压。测量电压量程为2V、20V,输入电阻为10MΩ,分辨率分别对应为1mV、10mV;准确度是在温度为23±5℃情况下测直流时为±(0.5%RDG+3字),测交流时为±(1.0%RDG+3字);输入电阻为10MΩ;最大允许直流电压为±500V,最大允许交流电压为500V。 本设计是对电压测量电路作单独的研究,从实质上去了解万用表中测量电压的过程。电路涉及到对电路、低频、数字电路等知识的考查。 二、方案论证 方案一: 方案一原理方框图如图1所示。数字电压表由分压电路,输入保护及缓冲电路,交、直流变换电路,压频转换电路、译码显示电路组成。分压电路在电路中实现电压倍率变换起到将大电压转换成小电压的作用;输入保护及缓冲电路在电路中起到避免大电压输入对电路的烧坏;交、直流变换电路起到将交流电压转换成直流电压,且直流电压值为交流电压的有效值;压频转换电路将电压转换成对应的线性频率。译码显示电路时将频率的数值通过LED数码管显示出来。 图1 方案1的原理框图 方案二: 方案二的原理框图如图2所示,电路由分压电路,输入保护及缓冲电路,交、直流变换电路,A/D转换电路,单片机及译码显示电路组成。前几个模块的功能与方案一相同,不同的是方案中用到单片机对经过A/D转换器后的数字信号进行记录然后通过译码显示电路进行显示。

简易数字电压表的设计

一、设计题目:简易数字电压表的设计 二、设计目的 自动化专业的专业实践课程。本课程的任务是使学生通过“简易数字电压表的设计”的设计过程,综合所学课程,掌握目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具的使用方法,通过这一设计实践过程,锻炼学生的动手能力和分析,解决问题的能力;积累经验,培养按部就班,一丝不苟的工作个对所学知识的综合应用能力。 三、设计任务及要求 设计电压表并实现简单测量。具有以下基本功能: ⑴可以测量0~5V的8路输入电压值; ⑵可在四位LED数码管上轮流显示或单路选择显示; ⑶测量最小分辨率为0.019V; ⑷.测量误差约为±0.02V; ⑸带有一定的扩展功能; 目录 第一章摘要 (4) 第二章智能仪表目前的发展状况 (4) 第三章设计目的 (6) 第四章设计要求 (6) 第五章设计方案与比较论证 (6) 5.1 单片机电路设计 (6) 5.2 电源方案 (8) 5.3 显示方案 (9) 5.4 A/D采样方案 (10) 5.5串口通讯方案 (12) 5.7 高压,短路报警 (14) 5.8 键盘 (14) 第六章方案设计 (15) 6.1 硬件设计 (15)

6.2 软件设计 (16) 第七章性能测试 (18) 电压测试 (18) 第八章结果分析 (19) 第九章设计体会 (19) 参考文献 (20) 附录 (20) 元器件清单 (20) 程序清单 (20) 第一章摘要 本报告介绍了基于AT89S52单片机为核心的、以AD0809数模转换芯片采样、以1602液晶屏显示的具有电压测量功能的具有一定精度的数字电压表。在实现基础功能要求之上扩展了串口通讯、时钟功能、高压报警、短路测试、电阻测量、交流电压峰峰值和周期测试等功能,使系统达到了良好的设计效果和要求。 关键词:AT89S52单片机模数转换液晶显示扩展功能 ABSTRACT:The report describes the AT89S52 based on the microcontroller as the core, AD0809 digital-to-analog converter chip sampling, to 1602 LCD display with voltage measurement function with a certain precision of digital voltage meter. In achieving functional requirements based upon the expansion of serial communications, high-pressure alarm, short circuit, electrical resistivity measurement, AC voltage and the peak of cycle testing and other functions, allowing the system to achieve good results and the design requirements. Keywords : AT89S52 SCM analog-to-digital conversion functions LCD expansion 第二章智能仪表目前发展状况 在自动化控制系统中,仪器仪表作为其构成元素,它的技术进展是跟随控制系统技术的发展的。常规的自动化仪器仪表适应常规控制系统的要求,它们以经典控制理论和现代控制理论为基础,以控制对象的数学模型为依据。当今,控制理论已发展到智能控制的新阶段,自动化仪器仪表的智能化就成为必然和必须。本文将就自动化仪器仪表的智能化的状况与进展,以及当今对智能仪器仪表研究、开发热点做概要的分析与表述。作者建议人们关注自动化仪器仪表智能化技术的进展,关注仪器仪表装置

电子工艺实习实验报告

实验报告 实验名称电子工艺实习 实验项目阶梯波电路/机器猫/万用表实验仪器电烙铁示波器剥线钳 吸锡器导线模板芯片 系别计算机科学与工程 专业计算机科学与技术 班级/学号 学生姓名 实验日期 成绩 指导老师

一、实习目的 主要通过该课程使学生了解现代电子技术的发展,掌握现代化的电子工艺技术,认识、了解和使用电子器件和元件,设计电子产品,完成电子产品制作的全过程。掌握器件识别检测、Protel2004电路原理图、PCB设计制作、焊接工艺的基本技能,掌握电子电路安装、调试技术等技能并能排除常见故障。培养学生掌握现代电子工艺技术的基本技能,培养学生理论联系实际的能力,锻炼和培养学生的实践动手能力和创新能力,适应现代电子技术发展要求和企业社会要求的工程实践能力的主要途径之一。 二、实习内容要求 1、掌握电子元器件的焊接及电子产品的装接工艺; 2、掌握电子器件手册、图纸和工艺文件的使用知识; 3、掌握专用工具、有关仪器仪表的正确使用; 4、完成阶梯波信号发生器电路设计,掌握电子产品设计方法;完成阶梯波信号发生器的调试、测试,掌握电子产品整机系统测试方法;能正确使用调试器、仪表,完成复杂产品的全部调试,并能排除常见故障。 5、完成电子产品套件机器猫与万用表,熟悉电路图及其中的各种元器件,练习焊接技术,然后自己动手焊接调试,直到产品合格。 阶梯波电路要求

(一)阶梯波电路要求 1.学习阶梯波电路工作原理 采用简易数模转换(D/A)式梯波电路发生器的设计主要有电源电路、连续脉冲信号、发生器电路、阶梯波生成级、阶梯波放大级等部分组成。 2.了解器件工作特性 a、555定时器: 555定时器的内部电路方框图如图2所示,该集成电路由四部分组成:电阻分压器、电压比较器、基本RS触发器、输出缓冲器和放电三极管。 比较器的参考电压由三只5 kΩ的电阻器构成分压,它们分别使高电平比较器A1同相比较端和低电平比较器A2的反相输入端的参考电平为2Vcc/3和Vcc/3。A1和A2的输出端控制RS触发器状态和放电管开关状态。当输入信号输入并超过2Vcc/3时,触发器复位,555的输出端3脚输出低电平,同时放电,开关管导通;当输入信号自2脚输入并低于Vcc/3时,触发器置位,555的3脚输出高电平,同时充电,开关管截止.

简易数字电压表的设计

单片机课程设计 姓名:罗双林 学号:0803731173 班级:电气082 成绩: 指导老师:吴玉蓉 设计时间:2011-1-4——2011-1-16

摘要 简易数字电压测量电路由A/D转换、数据处理及显示控制等组成。 当外部0~5V的模拟信号输入时,首先通过ADC0809转换模块进行转换,转换成数字信号并进入通道进行选择后,将信号传入STC89C52RC单片机时,单片机通过按键电路中的一个按键来选择单路还是8路,另一个按键作单路显示时选择通道,当选择完毕后将数据送入到显示器。 Simple digital voltage measurement circuit by the A/D conversion, data processing and display control etc. When external 0 ~ 5-v analog signal input, first by ADC0809 conversion module for conversion, converted into digital signals and into the passage, after selecting the signal STC89C52RC microcontroller, introduced into the microcontroller through buttons circuit a button to choose single road or no.8, another button for single road show when choosing the right channel, when choosing after completion will enter data into to the display.

电子工艺实验报告

实习报告 课程名称电子工艺实习 实习题目DT830B数字万用表的组装与调试 专业物流工程 班级二班 学号10090227 学生姓名张满 实习成绩 指导教师宗保平 2012年2月24日 1

一、电子工艺实习的目的 1、熟悉手工焊接的常用工具的使用及维护与修理; 2、基本掌握手工电烙铁的焊接技术,能够独立的完成简单的电子产品安装与焊接,熟悉电子产品的安装工艺的生产流程; 3、熟悉常用电子元器件的类别、符号、规格、性能及使用范围,能查阅有关的电子器件图书; 4、能正确识别和选用常用的电子器件,并且能够熟练的使用数字万用表; 5、了解电子产品的焊接、调试与维修的方法; 6、通过基本操作、技能训练,使学生熟悉一些电工电子基本知识,掌握一定的基本操作技能,装配和调试一个合格的电子产品(DT830B数字万用表)。 二、实践产品的基本工作原理 万用表又叫多用表、三用表、复用表,万用表分为指针式万用表和数字万用表引。是一种多功能、多量程的测量仪表,一般万用表可测量直流电流、直流电压、交流电流、交流电压、电阻和音频电平等,有的还可以测交流电流、电容量、电感量及半导体的一些参数。 DT830B数字万用表(如图一所示)是一种常用的万用表,它的技术成熟。主电路采用典型数字集

成电路ICL7106,性能稳定。它的应用广泛,所产生的规模大、效益高、价格低。DT830B 数字万用表具有精度高、输入电阻大、读数直观、功能齐全、体积小巧等优点。常用于电气测量。它采用单板结构结构合理,安装简单。 1、该仪表的心脏是一片大规模集成电路,该芯片内部包含双积分A/D转换器、显示锁 存器、七段译码器和显示驱动器。 2、DT830B数字万用表主要是由数字电压表DVM(Digital Vo1tmeter),它由阻容滤波器、前置放大器、模数转换器A/D、发光二极管显示器LED或液晶显示器LCD及保护电路等组成; 3、在数字电压表的基础上再增加交流一直流转换器AC/DC、电流一电压转换器I/V和电阻一电压转换器Ω/V,就构成了数字万用表的基本部分。当然,由于具体结构的不同,功能的强弱不同,每种表还有其各自复杂程度不同的特殊附加电路。 图一图二

基于AT89C51和ADC0809简易数字电压表的设计

基于AT89S51的简易数字电压表的设计 摘要: 本课题是利用单片机设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。然后由单片机给数码管数字信号,控制其发光,从而显示数字。此外,本文还讨论了设计过程中的所用的软件硬件环境,调试所出现的问题等。关键词:单片机; AT89S51;数字电压表; ADC0809,四位数码管 任务书 1.设计题目 基于AT89S51的简易数字电压表的设计。 2.设计内容与要求 用AT89S51单片机和ADC0809组成一个数字电压表,要求能够测量0~5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。 3,。设计目的意义 (1).通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。 (2).通过数字电压表的设计系统掌握51单片机的应用。掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入EPROM并进行调试等。 目录 一、系统原理框图 二、AT89S51的结构 三、器件的比较与选择 四、系统硬件及仿真图

五、相关软件简介 六、程序流程图与源程序 七、数字电压表发展及未来 八、设计体会 九、参考文献 基于AT89S51的简易数字电压表的设计

第一章系统原理框图 选择AT89S51作为单片机芯片,选用四位8段共阴极LED数码管实现电压显示,利用ADC0809作为数模转换芯片。将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。P2口接数码管位选,P1接数码管,实现数据的动态显示,如图4.1所示。 图4.1 系统原理框图 第二章: AT89S51的结构 在本次课题设计中我们选择了AT89S51芯片。AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash 只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51

电子工艺实习实验报告

电子工艺实习实验报告 (迷宫车实验) 院系:xxxxxxxxxxxxx 姓名:xxxx 班级:xxxxxxxxxx 学号:xxxxxxxxxx

一、任务要求 此次实验共有三个部分焊接练习,基本交替闪烁电路焊接和小车的制作与调试。 学生要按照老师要求完成相关任务,并进行实验的验收。 二、目的 此次实验旨在通过焊接小车与调试小车,锻炼学生的综合能力。其中包括:焊接能力练习,代码编写,和综合调试等。通过此次实验,学生应该掌握基本 的焊接技术,电路调试技术和单片机开发的基本能力 三、实验内容 1.焊接 焊接用工具:电烙铁、吸锡器、其它常用工具(烙铁架、尖嘴钳、剪刀、斜嘴钳、剥线钳、镊子、切刀等) 焊接用材料:焊料(铅锡焊料有熔点低、机械强度高、表面张力小、抗氧化性好的特点)、助焊剂(树脂、有机、无机) 2.简单的发光二极管交替闪烁电路 电路原理 材料清单

交替闪烁电路的焊接与实验心得 焊接要求 先将电路布局规划好后,将电路分块安装,但还是要按照元件由低到高的顺序。采用搭焊法将导线焊接在各元件之间。 实验心得 虽然在上学期的模电实验中已经接触过焊接,但很久没有用过而且以前对焊接的要求也没有那么严格,所以一开始还是非常紧张的,都不太敢下手。一开始的规划安装蓝图这部分真的非常重要,自己事先在白纸上按照原件的实际大小规划了一下安装图,使得在焊接导线的时候不至于过分拥挤导致可能出现焊接短路的情况发生。焊接的时候心里默念老师教的焊接步骤,一步一步进行。不过由于是第一次焊接实际电路,还是出现了一些可以再改进的状况,比如我们的每一条连接线都使用导线焊接相连,但是由于焊接技术含不成熟,有些短导线绝缘皮会被烫化,易短路,而且焊接位置的高低也不好控制,后来观察了其他组的焊接成果,可以将距离比较近的元件金属线直接焊在一起,省时且效果更好。不过幸好,此次试验一次成功,没有经过再调试,为后来小车实验的焊接增加了信心。经过本次试验,进一步熟悉和掌握了焊接的技巧,了解了焊接实际电路时的必要步骤,同时学习了很多导线的焊接方法(绕焊、搭焊、勾焊等),提高了个人对于电路实验的兴趣,为今后的实际科研中电路实验奠定了基础。 2.迷宫小车的安装与调试 分部原理图

相关文档
相关文档 最新文档