2011-2012学年实验内容_第1页
2011-2012学年实验内容_第2页
2011-2012学年实验内容_第3页
2011-2012学年实验内容_第4页
2011-2012学年实验内容_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、注意1:实验中用到的特殊管脚,实验箱上未标注EPF10kLC84-4:1管脚=CLK0;43管脚=CLK1;3管脚(I/O)= CLRn;83管脚(I/O)=OE 这四个管脚在FPGA的左上方,没有标注管脚编号,写的是名称。实验步骤:打开Maxplus2软件新建Text Editor把VHDL程序复制到里面存盘,存盘文件名与实体名一致,保存到Maxplus2的安装目录下,文件后缀是.vhd工程与文件名一致,保存编译,仿真在波形图上加上学好和姓名,保存仿真波形图注意2:实验二有4个仿真结果 ,modle1=0,modle0=0、 modle1=0,modle0=1 、modle1=1,modle

2、0=0modle1=1,modle0=1, 分别仿真,截取仿真波形图实验四有三个仿真结果,PG1=0,PG0=0、PG1=0,PG0=1、PG1=1,PG0=0,分别仿真,截取仿真波形图智能仪器实验实验一、单脉冲发生器实验1、实验目的(1) 掌握MAXPLUS软件的使用;(2) 掌握组合逻辑电路的设计方法;(3) 掌握组合逻辑电路的静态测试方法;(4) 掌握用VHDL语言设计组合逻辑电路的方法;(5) 了解可编程逻辑器件设计的全过程。2、硬件要求(1)输入:按键开关;拔码开关。(2)输出:LED 灯。(3)主芯片:Altera EPF10K10LC84-4。3、实验内容利用时钟信号产生一个脉宽

3、为20ms的单脉冲信号,如下图所示,要求用VHDL语言实现。4、实验VHDL程序library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity dmc is Port ( clk : in std_logic; clr : in std_logic; TRCK: out STD_LOGIC);end dmc;architecture Behavioral of dmc issignal count:integer range 0 to 15;

4、begin process(clk,clr)begin if clr=1then TRCK=0; count=0; elsif clkEVENT and clk=1 then count=count+1; if count5 then TRCK=0; elsif count15 then TRCK=1; elsif count=15 then TRCK=0; count=15; else TRCK=0;count=count+1; end if; end if; end process;END Behavioral;5、实验连线CLK是时钟信号,连接到时钟信号源;CLR是清零信号(高电平有效)

5、,连接到拔码开关;单脉冲输出TRCK连接LED灯,用灯的亮灭表示结果。6、实验仿真结果实验二、DAC实验1、实验目的(1)了解D/A 转换的工作原理,熟悉AD558 的使用方法。(2)掌握用DAC和可编程逻辑器件设计函数信号发生器的方法。(3)掌握用VHDL语言设计数字逻辑电路的方法。2、硬件要求(1)主芯片:EPF10K10LC84-4。(2)模拟功能块AD558。(3)4 位八段扫描显示数码管。(4)示波器。(5)拨码开关或按键开关。3、实验内容利用可编程逻辑器件EPF10K10LC84-4和D/A转换器AD558设计函数发生器,产生四种波形(递增斜波、递减斜波、三角波、递增阶梯波)。EP

6、F10K10LC84-4输出八位二进制计数值DAout7.0,将之接入AD558 的D7.0,用示波器来观察DAC 的波形输出。4、实验原理AD558是8位DA转换器,自带基准电源。管脚图如图所示。AD558 可将输入的数字量(8 位)转化成02.56V 的模拟电压量;用CPLD 器件产生了四种循环变化的数据量:(1) 0255(8 bit)循环加法计数;(2) 2550(8 bit)循环减法计数;(3) 2550255(8 bit)循环加减法计数;(4) 0, 20H, 40H, 60H, 80H, A0H, C0H, E0H 八进制计数器。将计数器的八位输出接到DAC 的八位输入,可以产生

7、四种波形(频率相同):(1). 递增斜波;(2). 递减斜波;(3). 三角波;(4). 递增阶梯波;5、实验原理图及VHDL程序本实验完全用硬件描述语言实现。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity da is port (clk,reset:in std_logic;model: in std_logic_vector(1 downto 0);daout: out std_logic_vector(7 downto 0);end da;architecture a of d

8、a issignal count:std_logic_vector(7 downto 0);signal tmp1:std_logic;begindaout=count;process(reset,clk)-,model)beginif reset=0 then count0);elsif rising_edge(clk) thenif model=0 then count=count+1;elsif model=1 then count=count-1;elsif model=2 then if tmp1=1 then count=count+1;if count=254 then tmp1

9、=0;else tmp1=1;end if;else count=count-1;if count=1 thentmp1=1;else tmp1=0;end if;end if;elsif model=3 thencount=count+0100000;end if;end if;end process;end a;6、实验连线EPF10K10LC84-4 :clk 接时钟源; model1、model0 接拨码开关; reset 接按键开关;DAout7:0接DAC 的D7:0输入;DAC:CE/、CS/ 接逻辑“0”电平;7、实验仿真结果实验三、DAS实验11、实验目的(1) 掌握数字逻辑

10、电路的设计方法;(2) 了解可编程逻辑器件设计的全过程。(3) 掌握用VHDL语言设计数字逻辑电路的方法。2、实验内容12位地址计数器的设计(用两种方法实现)3、实验原理图及VHDL程序方法1:原理图输入法(用HC163级联实现)。方法2:用VHDL语言编程实现。 方法2:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter12 ISPORT(clk: INstd_logic;clr: INstd_logic;Q :

11、 out std_logic_vector(11 downto 0);END counter12;architecture Behavioral of counter12 is signal count: STD_LOGIC_vector(11 downto 0);beginprocess(clk,clr) begin if clr=0 then count=000000000000; elsif clkevent and clk=0then count=count+1; end if; end process; Q=count;end Behavioral;4、实验连线EPF10K10LC8

12、4-4 :CLK是地址计数器的时钟信号,接时钟源;CLR 接拨码开关(高电平时计数器清零);输出A0-A11连接LED灯,用灯的亮灭表示1和0。5、实验仿真结果实验四、DAS实验21、实验目的(1) 掌握数字逻辑电路的设计方法;(2) 了解可编程逻辑器件设计的全过程。(3) 掌握用VHDL语言设计数字逻辑电路的方法2、实验内容已知数据采集系统中A/D转换器的转换时序图如下图所示,图中conv是ADC的转换信号,下降沿开始转换,BUSY是ADC的输出信号,是转换过程状态标志位,高电平表示正在转换,下降沿表示转换结束。T2=10nst9=120ns,tconvert=880ns。 试用数字逻辑电路

13、实现数据采集系统采样频率可编程。(系统采样频率为500kHz、200kHz、100kHz,采样频率由计算机编程确定)3、实验原理图4、实验连线主芯片EPF10K10LC84-4 ,1M代表时钟信号,频率是1MHz,接时钟源;PG1、PG0是编程信号,控制输出信号CONV的频率,PG1、PG0连接拨码开关;输出CONV连接LED灯,用灯的频率变化表示输出信号的频率变化。当PG1=PG0=0时,输出信号CONV的频率是100kHz,当PG1=0,PG0=1时,输出信号CONV的频率是200kHz,当PG1=1,PG0=0时,输出信号CONV的频率是500kHz。5、实验仿真结果实验五、扫描显示驱动

14、电路1、实验目的(1)了解7段数码管显示模块的工作原理。(2)了解可编程逻辑器件设计的全过程。(3)掌握用VHDL语言设计数字逻辑电路的方法。2、硬件要求主芯片Altera EPF10K10LC84-4,时钟,8 位七段数码显示器,四位拔码开关。3、实验内容设计标准扫描驱动电路,能对8位7段数码显示器轮换显示0-F。(用拨码开关产生8421BCD 码,用FPGA 产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后进行设计实现,适配化分。调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。)4、实验原理四位拔码开关提供8421 BCD 码,经译码电路后成为7段数码管的字

15、形显示驱动信号。(LED6.0)扫描电路通过可调时钟输出片选地址 SEL2.0。由SEL2.0和LED6.0 决定了8位中的哪一位显示和显示什么字形。SEL2.0变化的快慢决定了扫描频率的快慢。SEL2.0是位选信号,LED6.0是段选信号,LED6=a, LED5=b, LED4=c, LED3=d, LED2=e, LED1=f, LED0=g。5、实验原理图及VHDL程序DELED模块的VHDL程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY deled ISPORT(nu

16、m: INstd_logic_vector( 3 downto 0); led: OUT std_logic_vector(6 downto 0);END deled;ARCHITECTURE fun OF deled ISBEGIN led = 1111110 when num= 0000 else -a b c d e f g 显示数字0 0110000 when num= 0001 else -显示数字1 1101101 when num= 0010 else 1111001 when num= 0011 else 0110011 when num= 0100 else 1011011 when num= 0101 else 1011111 when num= 0110 else 1110000 when num= 0111 else 1111111 when num= 1000 else 1111011 when num= 1001 else 1110111 when num= 1010 else 0011111 when num= 1011 else 1001110 when num= 1100 else 0111101 when num= 1101 else 1001111 when num= 1110 else 100011

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论