显示电路研发设计

上传人:cl****1 文档编号:497236980 上传时间:2024-01-13 格式:DOC 页数:18 大小:134KB
返回 下载 相关 举报
显示电路研发设计_第1页
第1页 / 共18页
显示电路研发设计_第2页
第2页 / 共18页
显示电路研发设计_第3页
第3页 / 共18页
显示电路研发设计_第4页
第4页 / 共18页
显示电路研发设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《显示电路研发设计》由会员分享,可在线阅读,更多相关《显示电路研发设计(18页珍藏版)》请在金锄头文库上搜索。

1、第9章显示电路设计本章重点讨论输出结果在数码管上的显示。 电子线路输出一般都是 用灯的亮与不亮来表示输出的高低电平,这种显示不直观。数码管显 示能够更加直观、形象的描述现象。9.1两输入或门输出显示两输入或门是数字逻辑电路中最基本的门电路,电路图如下:真值表:aby000011101111两输入或门的程序设计可以有多种方式设计。输出结果主要通过38译码器译码转换为7段显示码的输入,其电路程序设计如下: 矚慫润 厲钐瘗睞枥庑赖。library ieee;use ieee.std _lo gic_1164.all;use ieee.std_logic_ un sig ned.all;*ENTIT

2、Y or1 ISPORT(a,b:IN STD_LOGIC;out_c: out stdo gic_vector(7 dow nto 0);out_38: out std_logic_vector(2 dow nto 0);END or1;*architecture rtl OF or1 ISsig nal y:std_logic;begi ny=a OR b;out_38 = 000;out_c = 00111111 whe n y=O else00000110;END rtl;波形图如下:9.2 3进制计数器上一章讲到过3进制计数器的设计原理,按照一般的显示需要两个 灯显示结果,在这里我们

3、用一个数码管显示。 让读者能够更加直观的 理解3进制计数器的记数过程。其程序设计如下:聞創沟燴鐺險爱氇 谴净。顶层文件设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dsp3 ISPORT(enable:IN STD_LOGIC;clk:IN STD_LOGIC;out_38: out std_logic_vector(2 downto 0);segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) );END dsp3;ARCHITECTURE rt1 OF dsp3 ISCOMPONENT count3PORT(

4、enable:IN STD_LOGIC;clk:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);END COMPONENT;SIGNAL q:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINU0:count3 PORT MAP(enable,clk,q);out_38 = 000;segment 0);elseq_tmp=q_tmp+1;end if;end if;end if;q=q_tmp;end process;end rt1;波形图如下:100 .On? 200.0ns300.0ns00 .Uns GDO.Dns 60

5、0.0n57 CD. 0ns 800.0ns900. DdllIIhdIenablef elk0 ou)302. .3601-tv segmantG segmenl5 segment-e segment segment segmenll ssgmenlO1 訂1aHOii19.3 24进制计数器24进制计数器显示和3进制计数器的显示思路一样。不同之处在 于前者需要两个数码管,在设计时必须考虑选择数码管。在任何自顶 向下的VHDL设计描述中,设计人员常常将整个设计的系统划分为 几个模块,然后采用结构描述方式对整个系统进行描述。残骛楼諍锩瀨濟溆塹籟。顶层结构体的VHDL源代码24 进制计数器显示程

6、序设计过程中就包含了记数部分、 显示部分。 另外为了使记数准确, 我们必须要获得稳定的频率, 即还包括稳定的 频率源部分。下面我们给出顶层结构体的 VHDL 源代码。其中 3 个 模块以元件的形式给出, 首先在结构体的说明部分进行元件说明, 然 后在结构体中进行例化调用。 同时在结构体的说明部分定义了中间信 号,主要用来在模块之间传递信息 。 酽锕极額閉镇桧猪訣锥。 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clock ISPORT(clk:IN STD_LOGIC;enabl

7、e:IN STD_LOGIC;sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END clock;ARCHITECTURE rt1 OF clock ISCOMPONENT clk_div1000 PORT(clk:IN STD_LOGIC;clk_div:out STD_LOGIC);end component;component count24PORT(enable:IN STD_LOGIC;clk0:IN STD_LOGIC;qh:OUT STD_LOGIC_VECTOR(3 DO

8、WNTO 0);ql:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);end component;component displayPORT(clk:IN STD_LOGIC;qh:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ql:IN STD_LOGIC_VECTOR(3 DOWNTO 0); sel:out STD_LOGIC_VECTOR(2 DOWNTO 0);segment:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); end component;signal qh: STD_LOGIC_VECTOR(3 DOWNTO 0)

9、; signal ql: STD_LOGIC_VECTOR(3 DOWNTO 0);signal clk0:STD_LOGIC;beginu0:clk_div1000 PORT MAP(clk,clk0);u1:count24 PORT MAP(enable,clk0,qh,ql);u2:display PORT MAP(clk,qh,ql,sel,segment);end rt1;9.3.2 频率源 VHDL 源代码为了获得的稳定的频率源,我们才用 1000 赫兹频率作为输入,用 1000 进制 计数器分频得到 1 赫兹频率。其程序如下: 彈贸摄尔霁毙攬砖卤 庑。LIBRARY IEEE;U

10、SE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div1000 ISPORT(clk:IN STD_LOGIC;clk_div:out STD_LOGIC);END clk_div1000;ARCHITECTURE rt1 OF clk_div1000 ISSIGNAL q_tmp:integer range 0 to 999;BEGINprocess(clk)beginIF(clkevent and clk=1)thenif(q_tmp=999)thenq_tmp=0;elseq_tmp=q_tmp+

11、1;end if;end process;process(clk)beginIF(clkevent and clk=1)thenif(q_tmp=999)thenclk_div=1;elseclk_div=0;end if;end if;end process;end rt1;9.3.3 计数部分 VHDL 源代码24 进制计数器的计数主要是 24 进制,在这里我们把 24 分为个位 和十位设计。其 VHDL 源代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count24

12、 ISPORT(enable:IN STD_LOGIC;clk0:IN STD_LOGIC;-cout:out STD_LOGIC;qh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);ql:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END count24;ARCHITECTURE rt1 OF count24 ISSIGNAL qh_temp,ql_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);謀荞 抟箧飆鐸怼类蒋薔。BEGINprocess(clk0)beginIF(clk0event and clk0=1)thenif (enable=1) thenif (qh_temp=0010 and ql_temp=0011) then qh_temp=0000;ql_temp=0000;elseif (ql_temp=1001) then ql_temp=0000;qh_temp=qh_temp+1;elseql_temp=ql_temp+1;end if;end if;qh二qh_temp;qlv二ql_temp;end process;end rt1;934显示模块VHDL源代码显示模块的输入信号主要来自于计数部分的输出信息。在输出信号中,我们采用循环点亮

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号