欢迎来到天天文库
浏览记录
ID:47526484
大小:74.12 KB
页数:5页
时间:2020-01-13
《七段数码显示译码器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、七段数码显示译码器设计一、实验目的:学习7段数码显示译码器设计,学习VHDL的多层次设计方法。二、实验原理:七段数码管由8个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将8个二极管的同一极接在一起,通过分别控制另外的8个电极的电平,使二极管导通(发光)或截止(不发光)。七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数码管显示出该字符的编码。三、实验内容:1)用VHDL设计7段数码管显示译码电路,并在VHDL描述的测试平台下对译码器进行功能仿真,给出仿真的波形
2、。---------------------------------------------------------------------程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSMGISPORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));END;ARCHITECTUREONEOFSMGISBEGINPROCESS(A)BEGINCASEAISWHEN"0000"=>LED7S<="
3、0111111";WHEN"0001"=>LED7S<="0000110";WHEN"0010"=>LED7S<="1011011";WHEN"0011"=>LED7S<="1001111";WHEN"0100"=>LED7S<="1100110";WHEN"0101"=>LED7S<="1101101";WHEN"0110"=>LED7S<="1111101";WHEN"0111"=>LED7S<="0000111";WHEN"1000"=>LED7S<="1111111";WHEN"1001"=>LED7S<="1101111"
4、;WHEN"1010"=>LED7S<="1110111";WHEN"1011"=>LED7S<="1111100";WHEN"1100"=>LED7S<="0111001";WHEN"1101"=>LED7S<="1011110";WHEN"1110"=>LED7S<="1111001";WHEN"1111"=>LED7S<="1110001";WHENOTHERS=>NULL;ENDCASE;仿真波形:1)数码管显示电路设计利用以上设计的译码器模块,设计一个8位的显示电路。利用时分复用的方式快速轮流点亮8个数码管,在视觉上形成8
5、个数码管同时显示的效果(尽管实际上同一时间只有一个数码管被点亮)。要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字符的编码;同时控制数码管的公共电极电平,轮流点亮数码管。备注:在新试验箱中可酌情减少位数实现,新试验箱中管脚查阅教材中附录。程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYVHDL42ISPORT(CLK:INSTD_LOGIC;S:OUTSTD_LOGIC_VECTOR(2DOWNTO0);D:
6、INSTD_LOGIC_VECTOR(3DOWNTO0);A:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDVHDL42;ARCHITECTUREONEOFVHDL42ISSIGNALC:STD_LOGIC_VECTOR(2DOWNTO0);BEGINP1:PROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFC<"111"THENC<=C+1;ELSEC<="000";ENDIF;ENDIF;S<=C;ENDPROCESSP1;P2:PROCESS(D)BEGINCASEDI
7、SWHEN"0000"=>A<="0111111";WHEN"0001"=>A<="0000110";WHEN"0010"=>A<="1011011";WHEN"0011"=>A<="1001111";WHEN"0100"=>A<="1100110";WHEN"0101"=>A<="1101101";WHEN"0110"=>A<="1111101";WHEN"0111"=>A<="0000111";WHEN"1000"=>A<="1111111";WHEN"1001"=>A<="1101111";WHEN"1010"=>A<="11
8、10111";WHEN"1011"=>A<="1111100";WHEN"1100"=>A<="0111001";WHEN"1101"=>A<="1011110";WHEN"1110"=>A<="1111001";WHEN"1111"
此文档下载收益归作者所有