四位十进制频率计Word格式文档下载.docx
- 文档编号:18654148
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:13
- 大小:352.68KB
四位十进制频率计Word格式文档下载.docx
《四位十进制频率计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《四位十进制频率计Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
PIO31-PIO16)显示测频输出;
待测频率输入FIN由clock0输入,频率
可选4Hz、256HZ...或更高;
1HZ测频控制信号F1HZ可由clock2输入(用电路帽选选1Hz)。
2.3、总体框图
三、选择器件
1.装有QuartusII软件的微型计算机。
计算机的硬件尽可能高,至少可以实现QuartusII软件的使用。
2.硬件实现的芯片为PFGA/CPLD,芯片管脚的数量要保证足够设计的程序所要使用的数量,并且使其所有管脚都有可分配的管脚,可以实现QuartusII上综合、适配的程序下载后可以顺利实现。
四、功能模块
(1)、十六进制计数
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT4BIS
PORT(CLK:
INSTD_LOGIC;
RST:
ENA:
OUTY:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
COUT:
OUTSTD_LOGIC);
ENDCNT4B;
ARCHITECTUREbehavOFCNT4BIS
SIGNALCQI:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
P_REG:
PROCESS(CLK,RST,ENA)
BEGIN
IFRST='
1'
THENCQI<
="
0000"
;
ELSIFCLK'
EVENTANDCLK='
THEN
IFENA='
=CQI+1;
ENDIF;
OUTY<
=CQI;
ENDPROCESSP_REG;
--进位输出
COUT<
=CQI(0)ANDCQI
(1)ANDCQI
(2)ANDCQI(3);
ENDbehav;
仿真图
(2)扫描仪模块
--seltime
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entityseltimeis
port(
clk1,reset:
instd_logic;
D1,D2,D3,D4:
instd_logic_vector(3downto0);
daout:
outstd_logic_vector(3downto0);
sel:
outstd_logic_vector(2downto0));
endseltime;
architecturefunofseltimeis
signalcount:
std_logic_vector(2downto0);
begin
sel<
=count;
process(clk1,reset)
begin
if(reset='
0'
)then
count<
="
000"
elsif(clk1'
eventandclk1='
if(count>
011"
count<
else
=count+1;
endif;
endif;
casecountis
when"
=>
daout<
=D1;
001"
=D2;
010"
=D3;
=D4;
whenothers=>
NULL;
endcase;
endprocess;
endfun;
(3)、四位锁存
entityreg4bis
port(load:
instd_logic;
din:
instd_logic_vector(3downto0);
dout:
outstd_logic_vector(3downto0));
endreg4b;
architecturebehavofreg4bis
process(load,din)
ifload'
eventandload='
thendout<
=din;
endif;
endprocess;
endbehav;
(4)、测频控制器
-
entitytestctlis
port(clkk:
cnt_en,rst_cnt,load:
outstd_logic);
endtestctl;
architecturebehavoftestctlis
signaldiv2clk:
std_logic;
process(clkk)
begin
ifclkk'
eventandclkk='
thendiv2clk<
=notdiv2clk;
process(clkk,div2clk)
ifclkk='
anddiv2clk='
thenrst_cnt<
='
elserst_cnt<
load<
=notdiv2clk;
cnt_en<
=div2clk;
(5)、七段数码显示
--deled模块
entitydeledis
port(num:
led:
outstd_logic_vector(6downto0));
enddeled;
architecturefunofdeledis
led<
1111110"
whennum="
else
"
0110000"
0001"
1101101"
0010"
1111001"
0011"
0110011"
0100"
1011011"
0101"
1011111"
0110"
1110000"
0111"
1111111"
1000"
1111011"
1001"
1110111"
1010"
0011111"
1011"
1001110"
1100"
0111101"
1101"
1001111"
1110"
1000111"
1111"
endfun;
(6)、3_8译码器模块
--decode3-8
entitydecode3_8is
port(sel:
instd_logic_vector(2downto0);
q:
outstd_logic_vector(7downto0)
);
enddecode3_8;
architectureaofdecode3_8is
q<
11111110"
whensel=0else
"
11111101"
whensel=1else
11111011"
whensel=2else
11110111"
whensel=3else
--"
11101111"
whensel=4else
--"
11011111"
whensel=5else
11111111"
enda;
(7)、分频器模块
--div_clk1
entitydiv_clk1is
port(clk_in:
div_out:
outstd_logic;
div_clk2:
outstd_logic
enddiv_clk1;
architectureaofdiv_clk1is
signalfre_n:
integerrange0to100000;
signalclk_tmp:
std_logic;
signalfre_n1:
integerrange0to125;
signalclk_tmp1:
div_out<
=clk_tmp;
process(clk_in)
iffalling_edge(clk_in)then
iffre_n>
=99999then
fre_n<
=0;
clk_tmp<
=notclk_tmp;
else
fre_n<
=fre_n+1;
endif;
div_clk2<
=clk_tmp1;
process(clk_tmp)
iffalling_edge(clk_tmp)then
iffre_n1>
=124then
fre_n1<
clk_tmp1<
=notclk_tmp1;
fre_n1<
=fre_n1+1;
enda;
五、总体设计电路图
5.1顶层电路原理图
5.2总体模块仿真图
5.3管脚分配图
六、参考文献
1.曹昕燕,周凤臣,聂春燕。
EDA技术实验和课程设计。
北京:
清华大学出版社,2006。
2.潘松,黄继业。
EDA技术实用教程(第三版)。
科学出版社,2006。
3.谭会生。
EDA技术综合应用实例和分析。
西安:
西安电子科技大学出版社,2004。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十进制 频率计