(VHDL实验报告)数码管显示(一位数码管显示0-9,八位数码管显示学号后八位).docx
-
资源ID:97447218
资源大小:246.21KB
全文页数:9页
- 资源格式: DOCX
下载积分:10金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
(VHDL实验报告)数码管显示(一位数码管显示0-9,八位数码管显示学号后八位).docx
一、实验名称数码管显示(一位数码管显示09,八位数码管显示学号 后八位)二、实验目的1、了解数码管的工作原理。2、学习七段数码管显示译码器的设计。3、掌握VHDL的CASE语句及多层次设计方法。三、实验原理七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是 两个四位一体、共阴极型七段数码管。其单个静态数码管如下图所示。静态七段数码管由于七段数码管公共端连接到GND (共阴极型)当数码管的中的那一个段 被输入高电平,则相应的这一段被点亮。反之则不亮。四位一体的七段数码管在 单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个 数码管的a、b、c、d、e、f、g、h、dp都连在了一起。8个数码管分别由各自 的位选信号来控制,被选通的数码管显示数据,其余关闭,故可据此显示学号后 八位。四、实验内容本实验要求完成的任务是在时钟信号的作用下,使一位数码管显示输出 0-9,使八位数码管显示学号后八位。在实验中时,数字时钟选择IKHZ作为 扫描时钟,实验箱中的拨动开关与FPGA的接口电路,以及拨动开关FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。以下两图分别是数码 管显示模块的电路原理和其数码管的输入与FPGA的管脚连接表。74HC245FPGAa bcdef gdp aaaO fflb O f7b eGJ eG G dp dp dp dp GND GND GND GNDa bcdef gdp aaaa<g> fflb f7 f7b e小 ed e小 e7加一dpdpdpGND GND GND GND74LS138信号名称对应FPGA管脚名说明7SEG-AF13七段码管A段输入信号7SEG-BF14七段码管B段输入信号7SEG-CF15七段码管C段输入信号7SEG-DE15七段码管D段输入信号7SEG-EF16七段码管E段输入信号7SEG-FF17七段码管F段输入信号7SEG-GE18七段码管G段输入信号7SEG-DPF18七段码管dp段输入信号7SEG-SEL0G18七段码管位选输入信号7SEG-SEL1G17七段码管位选输入信号7SEG-SEL2G16七段码管位选输入信号五、实验步骤1、打开QUARTUSIl软件,新建一个工程。2、建完工程之后,再新建一个VHDLFiIe,打开VHDL编辑器对话框。3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序。其 程序如下所示:(1) 一位数码管显示0-9:1 library ieee;2 useieee.std_logic_1164.all;3 useieee.std_logic_arith. all;4 useieee.std_logic_unsigned.all;5 Hentity seg7 is6 Hport ( elk: instd_logic;7 rst :instd_logic;8 dateout:out std_logic_vector(6 downto 0) ;|9 end seg7;10 Harchitecture sad of seg7 is11 signal tmp:std_logic_vector(3 downto 0);12 Hbegin13 Sprocess (elk)14 begin15 Hif clk,event and clk=,l, then tmp<=tj+l;16 B case tmp is17when0000=>dateout<="1111110;18whenn0001n=>dateout<="0110000n;19whenn0010,>dateout<n1101101;20when"0011=>dateout<="1111001;21when"0100n=>dateout<="0110011"22whenn0101,=>dateout<"1011011"23whenn0110=>dateout<="1011111"24when0111n=>dateout<="1110000n;25when"1000n=>dateout<="lllllll"26whenn1001=>dateout<="1111011"27 when others=>dateout<nOOOOOOO"28 endcase;29 endif;30 endprocess;31 endsad;(2)八位数码管显示学号后八位:考拗三ITQ1LIBRARY IEEE;2USE IEEE.STD_LOGIC_1164-ALL;3USE 工EEE.STD二LOG工UuNSIGNED.ALL;4B ENTITY xh8 IS5PORT ( CLK : IN STD_LOGIC;6SG : OUT STD_LOGIC_VECTOR (6 DOWNTO 0);7BT : OUT STD二LOG工UVEeTOR (2 DOWNTO O);8END xh8;9 ARCHITECTURE one OF xh8 IS10SIGNAL CNT8 : STD_LOGIC_VECTOR(2 DOWNTO O);11SIGNALA : INTEGER RANGE O TO 15;12B BEGIN13Hpl: PROCESS (Cnt8)14BEGIN15HCASE ent 8 IS16WHEN "000” => A <= 4;17WHEN "001" => A <= O ;18WHEN "010" => A <= 8 ;19WHEN "011 -> A <- 3 ;20WHEN "100" > A <» O ;21WHEN "101w => A <= 1 ;22WHEN "110" => A <= 2 ;23WHEN "111" > A < 3 ;24WHEN OTHERS -> NULL ;25END CASE ;26END PROCESS ;拿(%治827Bp2:PROCESS (CLK)28BEGIN29CIF CLK,EVENT AND CLK = , 1 , THEN CNT8 <= CNT8 + 1;30END IF;31bt<= cnC8;32END PROCESS P2 ;33Hp3:PROCESS ( A )34BEGIN35BCASE A IS36WHEN O => SG <= nOlllllln; WHEN 1 => SG <= nOOOOllOn;37WHEN 2 => SG <= '1011011, ; WHEN 3 => SG <= '1001111,;38WHEN 4 => SG <= '1100110,'; WHEN 5 => SG <= '1101101,;39WHEN 6 => SG <= "IllllOln ; WHEN 7 => SG <= ,0000111,;S0WtiEN S => SG <= rfJLXlllllrf ; WHEN 9=> SG <= rtIlOllJ-Xrt;lWtiEN J.O => SG <= rfJLllOlllrf ; WHEN 11 => SG <= rtIllllOOrf;SZWtiEN «12 => SG <= rtOXllOOXrt ; WHEN 13 => SG <= rtIOlliaOrf;S3WHEN 14 => SG <= "JILT:LoO工”;WHEN 35 => SG <= rtIllOOOXrt;STWHEN OTHERS => NULL ;43END CASE ;4END PROCESS P3;47END;4、编写完VHDL程序后,保存起来。5、对自己编写的VHDL程序进行编译,对程序的错误进行修改。6、编译无误后,依照拨动开关、数码管与FPGA的管脚连接表进行管脚 分配。本次实验管脚分配如下图所示:(1) 一位数码管显示0-9:HJlToLocationUOBankIlOSunlardGeneralRrctionSoedaiFUnafonReenM&uUed1PIN C1353.VLVlDedcabfd OXkK10, LDSCtK5n.Yes2OdatecutfOJMN F143.>V LVTTlYeS3PlN-FlS33、'LVrTLCOXImYes4"datecgPMFlS33YLvnlCoiim VoYB85U 3ccs3JPlN-ElS冰 IVnICoUm LQYcs64datecut(3WM F163.3«VLmVes7妤由 teout(5MN F1843. *Lm广小 T A-SLVDS5pYeS8Jdatewtf旬MN 6183.3-V LVTTln*>Yes9<<ew>><<nesv>>XlJ PINfl8(2)八位数码管显示学号后八位:ToLocateUoBaftQstdMard&re 出 FuxUonSpedaIFunctionReHVedBbd1QBr回PIM FlS13-VLXT.Y24>B1RNJGWWLVnL! YK81他3MBTCqPIN G】7二13-YLTTLYeS4>cPIN 33IaLvnLNdQgddakOX 9.1JCSaS, L-YE5好 SC(MP1NJ13工”1VnL佃6BSGU)PIN FM433YLvnLwc r4,m%Yes7USG2PlNj1153-VLXTTLY已8SGMNJlS413-VLTTL r,FYeS9QsG国PIN F16433VLVLYes10t>9GgP1NJ17R3VlVl化3hBsGPIN E!8TalVnL'F3 YU12<<new>><<ne>>XlmNLVTlI7、分配完成后,再进行一次全编译,以使管脚分配生效。8、新建波形文件,对程序进行彷真,其仿真波形如下所示:(1) 一位数码管显示0-9:k A出乳 撒也T绘力(2)八位数码管显示学号后八位:9、用下载电缆通过JTAG 口将对应的SOf文件加载到FPGA中。观察实验 结果是否与自己的编程思想一致。六、实验现象及结果以设计的参考示例为例,当设计文件加载到目标器件后,将数字 信号源模块的时钟选择为IKHZ,第一个实验则有一位数码管重重复显示 OP的数,第二个实验则八位数码管显示了学号后8位。其部分结果如下所示:(1) 一位数码管显示0-9:七、心得体会