第九章 显示电路设计Word格式文档下载.docx
- 文档编号:20884570
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:12
- 大小:42.09KB
第九章 显示电路设计Word格式文档下载.docx
《第九章 显示电路设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第九章 显示电路设计Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
ENDor1;
--*******************************************
architecturertlOFor1IS
signaly:
std_logic;
begin
y<
=aORb;
out_38<
="
000"
;
out_c<
00111111"
wheny='
0'
else
"
00000110"
;
ENDrtl;
波形图如下:
9.23进制计数器
上一章讲到过3进制计数器的设计原理,按照一般的显示需要两个灯显示结果,在这里我们用一个数码管显示。
让读者能够更加直观的理解3进制计数器的记数过程。
其程序设计如下:
顶层文件设计:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYdsp3IS
PORT(enable:
clk:
outstd_logic_vector(2downto0);
segment:
OUTSTD_LOGIC_VECTOR(6DOWNTO0)
ENDdsp3;
ARCHITECTURErt1OFdsp3IS
COMPONENTcount3
q:
OUTSTD_LOGIC_VECTOR(1DOWNTO0));
ENDCOMPONENT;
SIGNALq:
STD_LOGIC_VECTOR(1DOWNTO0);
BEGIN
U0:
count3PORTMAP(enable,clk,q);
out_38<
segment<
whenq="
00"
else
01"
1011011"
ENDrt1;
再该程序中用COMPONENT命令调用了3进制计数器的设计程序,其程序如下:
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcount3IS
PORT(
enable:
ENDcount3;
ARCHITECTURErt1OFcount3IS
SIGNALq_tmp:
process(clk)
IF(clk'
eventandclk='
1'
)then
if(enable='
if(q_tmp="
10"
q_tmp<
=(others=>
'
);
=q_tmp+1;
endif;
endif;
q<
=q_tmp;
endprocess;
endrt1;
9.324进制计数器
24进制计数器显示和3进制计数器的显示思路一样。
不同之处在于前者需要两个数码管,在设计时必须考虑选择数码管。
在任何自顶向下的VHDL设计描述中,设计人员常常将整个设计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述。
9.3.1顶层结构体的VHDL源代码
24进制计数器显示程序设计过程中就包含了记数部分、显示部分。
另外为了使记数准确,我们必须要获得稳定的频率,即还包括稳定的频率源部分。
下面我们给出顶层结构体的VHDL源代码。
其中3个模块以元件的形式给出,首先在结构体的说明部分进行元件说明,然后在结构体中进行例化调用。
同时在结构体的说明部分定义了中间信号,主要用来在模块之间传递信息。
ENTITYclockIS
sel:
OUTSTD_LOGIC_VECTOR(2DOWNTO0);
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDclock;
ARCHITECTURErt1OFclockIS
COMPONENTclk_div1000
PORT(clk:
clk_div:
outSTD_LOGIC);
endcomponent;
componentcount24
clk0:
qh:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
ql:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
componentdisplay
INSTD_LOGIC_VECTOR(3DOWNTO0);
outSTD_LOGIC_VECTOR(2DOWNTO0);
signalqh:
STD_LOGIC_VECTOR(3DOWNTO0);
signalql:
signalclk0:
STD_LOGIC;
u0:
clk_div1000PORTMAP(clk,clk0);
u1:
count24PORTMAP(enable,clk0,qh,ql);
u2:
displayPORTMAP(clk,qh,ql,sel,segment);
9.3.2频率源VHDL源代码
为了获得的稳定的频率源,我们才用1000赫兹频率作为输入,用1000进制计数器分频得到1赫兹频率。
其程序如下:
ENTITYclk_div1000IS
ENDclk_div1000;
ARCHITECTURErt1OFclk_div1000IS
integerrange0to999;
if(q_tmp=999)then
=0;
clk_div<
='
9.3.3计数部分VHDL源代码
24进制计数器的计数主要是24进制,在这里我们把24分为个位和十位设计。
其VHDL源代码如下:
ENTITYcount24IS
--cout:
outSTD_LOGIC;
ENDcount24;
ARCHITECTURErt1OFcount24IS
SIGNALqh_temp,ql_temp:
STD_LOGIC_VECTOR(3DOWNTO0);
process(clk0)
IF(clk0'
eventandclk0='
if(enable='
)then
if(qh_temp="
0010"
andql_temp="
0011"
qh_temp<
="
0000"
ql_temp<
else
if(ql_temp="
1001"
ql_temp<
qh_temp<
=qh_temp+1;
else
=ql_temp+1;
endif;
endif;
qh<
=qh_temp;
ql<
=ql_temp;
9.3.4显示模块VHDL源代码
显示模块的输入信号主要来自于计数部分的输出信息。
在输出信号中,我们采用循环点亮两个LED七段显示数码管显示输出。
我们通过信号来进行2个LED七段显示数码的选择,从而将输出信号送到相应的LED七段显示数码上完成24进制计数器的结果显示。
模块框图如下:
从图中可以看出,显示模块有四个部分构成:
八进制计数器、计时位选择电路、七段显示译码电路。
在外部时钟信号clk的作用下,8进制计数器的输出从000到111按顺序循环变化,输出信号为sel。
信号sel作为计时位选择电路的选择信号,用来选择对应位的数据并将其转换为四位位矢量。
最后将计时位选择电路的输出信号q送到七段显示译码电路的输入端口,将其转换成用来点燃LED七段显示数码管的segment信号。
下面描述显示模块中的四个子电路,然后描述其总体功能。
8进制计数器VHDL源代码:
ENTITYcount8IS
OUTSTD_LOGIC_VECTOR(2DOWNTO0));
ENDcount8;
ARCHITECTURErt1OFcount8IS
SIGNALsel_tmp:
STD_LOGIC_VECTOR(2DOWNTO0);
if(sel_tmp="
111"
sel_tmp<
=sel_tmp+1;
sel<
=sel_tmp;
计时位选择电路的功能是根据8进制计数器的计数输出的选择信号来选择对应计时显示位的计时数据,作为送致七段显示译码电路的输入数据。
在计时位选择电路中我们要将输入数据都转化成4位宽度的数据。
ENTITYtime_chooseIS
PORT(sel:
INSTD_LOGIC_VECTOR(2DOWNTO0);
ENDtime_choose;
ARCHITECTURErt1OFtime_chooseIS
PROCESS(sel,qh,ql)
CASEselIS
WHEN"
=>
=ql;
001"
=qh;
WHENOTHERS=>
XXXX"
ENDCASE;
ENDPROCESS;
七段显示译码电路的功能是将显示的数据转换成用来点燃
LED七段显示数码管的segment信号。
ENTITYseg7IS
PORT(q:
ENDseg7;
ARCHITECTURErt1OFseg7IS
PROCESS(q)
CASEqIS
segment<
0111111"
0001"
0000110"
1001111"
0100"
1100110"
0101"
1101101"
0110"
1111101"
0111"
0100111"
1000"
1111111"
1101111"
XXXXXXX"
下面对24进制计数器显示模块总体功能描述。
在描述24进制计数器显示模块时,我们以引用元件的形式来调用以上描述的子电路。
ENTITYdisplayIS
ENDdisplay;
ARCHITECTURErt1OFdisplayIS
COMPONENTcount8
COMPONENTtime_choose
COMPONENTseg7
SIGNALsegment_tmp:
STD_LOGIC_VECTOR(6DOWNTO0);
count8PORTMAP(clk,sel_tmp);
U2:
time_choosePORTMAP(sel_tmp,qh,ql,q);
U3:
seg7PORTMAP(q,segment_tmp);
=segment_tmp;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九章 显示电路设计 第九 显示 电路设计