问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...测频范围为0.1Hz~60 MHz,通过使用VHDL语言设计,利用CPLD/FPGA...

发布网友 发布时间:2024-01-18 21:13

我来回答

1个回答

热心网友 时间:2024-08-11 17:24

--功能:频率计。具有4位显示,能自动根据7位十进制计数的结果,自动选择有效数据的

--高4位进行动态显示。小数点表示是千位,即KHz。

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity plj is

port ( start:in std_logic; --复位信号

clk :in std_logic; --系统时钟

clk1:in std_logic; --被测信号

yy1:out std_logic_vector(7 downto 0); --八段码

w1 :out std_logic_vector(3 downto 0)); --数码管位选信号

end plj;

architecture behav of PLj is

signal b1,b2,b3,b4,b5,b6,b7:std_logic_vector(3 downto 0); --十进制计数器

signal bcd:std_logic_vector(3 downto 0); --BCD码寄存器

signal q :integer range 0 to 49999999; --秒分频系数

signal qq : integer range 0 to 499999; --动态扫描分频系数

signal en,bclk:std_logic; --使能信号,有效被测信号

signal sss : std_logic_vector(3 downto 0); --小数点

signal bcd0,bcd1,bcd2,bcd3 : std_logic_vector(3 downto 0);

--寄存7位十位计数器中有效的高4位数据

begin

second:process(clk) --此进程产生一个持续时间为一秒的的闸门信号

begin

if start='1' then q<=0;

elsif clk'event and clk='1' then

if q<49999999 then q<=q+1;

else q<=49999999;

end if;

end if;

if q<49999999 and start='0' then en<='1';

else en<='0';

end if;

end process;

and2:process(en,clk1) --此进程得到7位十进制计数器的计数脉冲

begin

bclk<=clk1 and en;

end process;

com:process(start,bclk) --此进程完成对被测信号计脉冲数

begin

if start='1' then --复位

b1<="0000";b2<="0000";b3<="0000";b4<="0000";b5<="0000";b6<="0000";b7<="0000";

elsif bclk'event and bclk='1' then
if b1="1001" then b1<="0000"; --此IF语句完成个位十进制计数

if b2="1001" then b2<="0000"; --此IF语句完成百位十进制计数

if b3="1001" then b3<="0000"; --此IF语句完成千位十进制计数

if b4="1001" then b4<="0000"; --此IF语句完成万位十进制计数

if b5="1001" THEN b5<="0000"; --此IF语句完成十万位十进制计数

if b6="1001" then b6<="0000"; --此IF语句完成百万位十进制计数

if b7="1001" then b7<="0000"; --此IF语句完成千万位十进制计数

else b7<=b7+1;

end if;

else b6<=b6+1;

end if;

else b5<=b5+1;

end if;

else b4<=b4+1;

end if;

else b3<=b3+1;

end if;

else b2<=b2+1;

end if;

else b1<=b1+1;

end if;

end if;

end process;

process(clk) --此进程把7位十进制计数器有效的高4位数据送如bcd0~3;并得到小数点信息

begin

if rising_edge(clk) then

if en='0' then

if b7>"0000" then bcd3<=b7; bcd2<=b6; bcd1<=b5; bcd0<=b4; sss<="1110";

elsif b6>"0000" then bcd3<=b6; bcd2<=b5; bcd1<=b4; bcd0<=b3; sss<="1101";

elsif b5>"0000" then bcd3<=b5; bcd2<=b4; bcd1<=b3; bcd0<=b2; sss<="1011";

else bcd3<=b4; bcd2<=b3; bcd1<=b2; bcd0<=b1; sss<="1111";

end if;

end if;

end if;

end process;

weixuan:process(clk) --此进程完成数据的动态显示

begin

if clk'event and clk='1' then

if qq< 99999 then qq<=qq+1;bcd<=bcd3; w1<="0111";

if sss="0111" then yy1(0)<='0';

else yy1(0)<='1';

end if;

elsif qq<199999 then qq<=qq+1;bcd<=bcd2; w1<="1011";

if sss="1011" then yy1(0)<='0';

else yy1(0)<='1';

end if;

elsif qq<299999 then qq<=qq+1;bcd<=bcd1; w1<="1101";

if sss="1101" then yy1(0)<='0';

else yy1(0)<='1';

end if;

elsif qq<399999 then qq<=qq+1;bcd<=bcd0; w1<="1110";

if sss="1110" then yy1(0)<='0';

else yy1(0)<='1';

end if;

else qq<=0;

end if;

end if;

end process;

m0: process (bcd) --译码

begin

case bcd is

when "0000"=>yy1(7 downto 1)<="0000001";

when "0001"=>yy1(7 downto 1)<="1001111";

when "0010"=>yy1(7 downto 1)<="0010010";

when "0011"=>yy1(7 downto 1)<="0000110";

when "0100"=>yy1(7 downto 1)<="1001100";

when "0101"=>yy1(7 downto 1)<="0100100";

when "0110"=>yy1(7 downto 1)<="1100000";

when "0111"=>yy1(7 downto 1)<="0001111";

when "1000"=>yy1(7 downto 1)<="0000000";

when "1001"=>yy1(7 downto 1)<="0001100";

when others=>yy1(7 downto 1)<="1111111";

end case;

end process;

end behav;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谷歌浏览器怎么设置成中文_谷歌浏览器设置中文语言 【谷歌浏览器技巧】谷歌浏览器如何更改语言? 史上最全ETF全解 证券ETF是深市的吗 怎样把莲藕肉丸子做的好吃? 高三语文小说赏析小说形象分析与答题技巧 人物形象题答题技巧 借助什么分析小说的人物形象 脖子旁边疼是什么原因 在群里不是好友怎么把群里人建另一个群 梦见们见儿子修脸的预兆 有的在脸上修的小动物,那是什么功能修的照片 ...一天要刮四五十次脸,脸上却仍有胡子。这是什么原因? 我的公主裙穿搭分享 我16岁,没读书了,男生,感觉自己的未来好迷茫,没有希望,看见爸妈越来... 这条白色连衣裙,是小公主的生日裙了! 初中辍学已经2年了一片迷茫不知道要做什么 &#x26A1;&#xFE0F;今日美炸天的公主风裙裙穿搭分享! 超凡蜘蛛侠游戏下载的种子安卓系统这个可不可以 德基广场vip会员级别 鞋底硬化如何变软 盘锦湖滨公园距离速8酒店有多远? 有限责任公司股东间私下未公证的协议是否有效? 没有公证的借款协议是否有法律效力 AI怎么删除部分内容? AI怎样才能删除画面里的一条线段呢? win10怎样设置smb扫描? 要有多勇敢 才能念念不忘出自哪里 角速度和角转速怎么求? 《弃妃轻狂:反派嫡女翻身手册》txt下载在线阅读全文,谁能分享下百度网盘... ...抗日战争的最后胜利和新民主主义革命在全国的胜利,奠定了思想基础的... 权御三国(攻城略地)代金券哪里领? 购车发票丢了能买保险吗 子宫大小检查两次结果不一样 保险 购车发票丢失怎么办 蛋糕店售出月饼一个小时可以退换吗 刚买的月饼是变质的怎么办? 新买的月饼太甜,不想要,有什么理由退货? 元祖雪月饼因为日期问题可以退换吗?才买的,回家发现还有一个月到期,可... 对于互联网这种东西,你有什么想说的? 有谁去过成都凯宾斯基饭店应聘做过服务员么,是晚上七点上班到十一点,服... 成都向阳凯宾斯基饭店的位置?都有哪些公交车能到那个位置?非常感谢_百度... 使用画笔橡皮擦等都可以对图层蒙版的黑白程度进行改变吗 2022最恐怖十部电影推荐? classin有放大镜吗 classin在安卓平板上怎么放大头像 广通轮胎店怎么样 佳通轮胎厂员工待遇 教师资格证成绩复核流程是什么? 从石家庄水上公园到建华大街局居然之家坐几路公交车?