用VHDL语言设计555压控振荡器测频率 - 图文
更新时间:2023-10-16 12:23:01 阅读量: 综合文库 文档下载
- 用VHDL语言设计半加器推荐度:
- 相关推荐
实验五利用压控振荡器测量电压
一、实验目的
(1)以555定时器为基础设计压控振荡器 (2)设计一个具有如下功能的简易频率计。
1. 可以测量压控振荡器产生的频率,用4位数码管显示 2.测量结果直接用十进制数值显示
3. 被测信号是压控振荡器产生的方波脉冲信号,根据设计的压控振荡器确定电压值 4. 具有超量程警告(可以用 LED 灯显示) 二、实验设备与器材
(1)计算机:Quartus Ⅱ 16.0软件;
(2)硬件:Cyclone DE0-CV FPGA开发平台、555定时器、电阻、电容、可变电阻 三、利用Multisim搭建仿真电路
四、实验程序 library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; -- 计数器
entity cnt10 is
port (rst,fx,ena:in std_logic; cout: out std_logic;
outy :out std_logic_vector(3 downto 0)); end cnt10;
architecture behv of cnt10 is begin
process (rst,ena,fx) -- 定义变量
-- <=是对信号赋值;而:=是对变量进行赋值 variable cqi :std_logic_vector(3 downto 0); begin
-- others =>'0'是对数组cqi所有元素赋值0 if rst='1' then cqi :=(others =>'0'); elsif fx'event and fx='1' then if ena ='1' then if cqi < 9 then
cqi:=cqi+1;cout<='0'; elsif cqi=9 then
cqi :=(others =>'0'); cout<='1'; end if;
elsif ena='0' then cqi:=(others =>'0'); end if; end if; outy <=cqi; end process; end behv;
-- 4位10进计数器 library ieee;
use ieee.std_logic_1164.all; entity cnt10_4 is
port(fx,rst,ena,clk:in std_logic;
d:out std_logic_vector(15 downto 0); led_a:out std_logic); end entity;
architecture one of cnt10_4 is component cnt10
port (rst,fx,ena:in std_logic; cout: out std_logic;
outy :out std_logic_vector(3 downto 0)); end component;
component led_hehe port(
ena,clk:in std_logic; q:out std_logic); end component;
signal e:std_logic_vector(3 downto 0); begin
-- 整体使用相同的rst和ena,fx作为进位使用。
u1:cnt10 port map(fx=>fx,rst=>rst,ena=>ena,cout=>e(0),outy=>d(3 downto 0)); u2:cnt10 port map(fx=>e(0),rst=>rst,ena=>ena,cout=>e(1),outy=>d(7 downto 4)); u3:cnt10 port map(fx=>e(1),rst=>rst,ena=>ena,cout=>e(2),outy=>d(11 downto 8)); u4:cnt10 port map(fx=>e(2),rst=>rst,ena=>ena,cout=>e(3),outy=>d(15 downto 12)); u5:led_hehe port map(ena=>e(3),clk=>clk,q=>led_a); end architecture one;
-- 16位锁存器 latch=闩 library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity latch4 is
port(d:in std_logic_vector(15 downto 0); ena,clk:in std_logic;
q:out std_logic_vector(15 downto 0)); end latch4;
architecture one of latch4 is
begin
process(clk,ena,d)
variable cqi:std_logic_vector(15 downto 0); begin
if ena='0' then cqi:=cqi;--- ena=0 锁存上次的数据
elsif clk'event and clk='1' then cqi:=d;---clk=1&&ena=1 计入新数据 end if; q<=cqi; end process;
end one;
-- 报警led hehe library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all; entity led_hehe is port(
ena,clk:in std_logic; q:out std_logic); end led_hehe;
architecture one of led_hehe is begin
process(clk,ena)
variable cqi:std_logic; begin
if ena='0' then cqi:=cqi;--- ena=0 锁存上次的数据
elsif clk'event and clk='1' then cqi:= not cqi;---clk=1&&ena=1 计入新数据 end if; q<=cqi; end process; end one;
-- LED控制模块(数码管controller) library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity led_controller is
port(d:in std_logic_vector(3 downto 0); a:out std_logic_vector(6 downto 0)); end led_controller;
architecture one of led_controller is begin
process(d) begin case d is
when \ when \ when \ when \ when \ when \ when \ when \ when others=> null; end case;
end process; end;
-- 控制模块(每隔一次clk,就翻转ena和rst) library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity control is
port (clk:in std_logic;
rst,ena: out std_logic); end control;
architecture behv of control is begin
process (clk)
variable cqi :std_logic_vector(2 downto 0); begin
if clk'event and clk='1' then
if cqi <1 then cqi:=cqi+1;ena<='1';rst<='0'; elsif cqi=1 then
cqi :=(others =>'0'); ena<='0';rst<='1'; end if; end if; end process; end behv;
-- 时钟(1hz)发生器 library ieee;
use ieee.std_logic_1164.all;
entity freq_div is
port (clk:in std_logic;
clk_out:out std_logic); end freq_div;
architecture fwm of freq_div is constant m: integer:= 25000; signal tmp:std_logic; begin
process(clk,tmp)
variable cout:integer:=0; begin
if clk'event and clk='1' then
正在阅读:
用VHDL语言设计555压控振荡器测频率 - 图文10-16
猕猴桃作文400字06-24
华东师范大学网络教育学院-社会调查研究与方法模拟考试-ABCD卷题04-04
第一学期北师大版六年级数学期末试卷411-30
高考生物考点精讲精析:第五讲 遗传、变异和进化:高考考点4 基03-14
中小学德育教育改革研究现状、趋势与对策07-11
越南成语(汉语对照)09-21
PLC机械手动作的模拟11-09
中小企业管理(第一次作业答案)06-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 振荡器
- 频率
- 语言
- 图文
- 设计
- VHDL
- 555
- 必过宝2015年一建法规教材精编:第六章 建设工程安全生产法律制度
- 在软件无线电调制解调器功能中使用硬件加速单元
- 前置性作业 四年级数学
- 当官不为民做主 不如回家卖红薯 - —读《一位农民工的辛酸讨薪路》有感
- 关于做好旅游宣传促销工作的思考
- 《电工基础》测试卷
- 第一章金属切削加工的基本知识
- 东师《幼儿园社会教育活动及设计》17春在线作业1
- 缬沙坦联合氨氯地平和氢氯噻嗪对高血压的效果比较研究
- 行风监督员座谈会记录
- 三年级上册语文第六单元教案(1)
- 成都市现代农业发展投资指南实施细则
- 采购内部控制细则
- 1.1-Safety Key - 图文
- AutoForm.Plus.R6支持用户在整全数字化钣金的工艺链
- 热力学与统计物理答案第三章
- 单双脚跳教学设计
- 施工组织方案(断桥铝)
- 吉林大学网络教育学院思想道德修养答案
- 2014-2015学年辽宁省大连市高新区八年级(下)期末物理试卷