设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计 |
首 页 | 机械毕业设计 | 电子电气毕业设计 | 计算机毕业设计 | 土木工程毕业设计 | 视觉传达毕业设计 | 理工论文 | 文科论文 | 毕设资料 | 帮助中心 | 设计流程 |
您现在所在的位置:首页 >>理工论文 >> 文章内容 |
对于上述信号中的 MF、CP1、CP2、CP3、LG1-D7~LG1-D0 需要用扁平电缆将 EPM7128 的引脚和TEC-8 实验台上的对应信号进行连接。将扁平电缆的 34 芯端插到插座 J6 上,将扁平电缆的 12 芯端插到插座 J1 上,将扁平电缆的 6 芯端插到插座 J5 上。注意:扁平电缆进行插接或者拔出必须在关电源后进行。另外,做实验时,将 DZ2 左侧短接为连通,右侧短界为短开,以使数码管正极接到+5V 上;实验结束后,将短路子 DZ2 右侧短接,即为断开。 2.异步十进制计数器对被测信号的频率进行计数的计数器必须是十进制的计数器而不能是十六进制的计数器。一个典型的异步十进制计数器具有如下形式: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity counter10A is port (clr: in std_logic; clk: in std_logic; enable: in std_logic; c_out: out std_logic; cnt: buffer std_logic_vector(3 downto 0)); end counter10A; process(clr,clk,cnt,enable) begin if clr = '0' then cnt <= "0000"; c_out <= '0'; elsif clk'event and clk = '1' then if enable = '1' then if cnt = "1001" then cnt <= "0000" ;c_out <= '1'; else cnt <= cnt + '1';c_out <= '0'; end if; end if; end if; end process; end behav; 在上面的程序中,当复位信号 clr 为 0 时,十进制计数器 cnt 复位为“0000”,进位信号 c_out复位为 0。enable 信号是时间闸门,clk 是被测信号。在 enable 信号为 1 时,允许在时钟信号 clk 上升沿计数。当计数到“1001”(十进制 9)时,下一个时钟脉冲 clk 的上升沿重新回到“0000”(十进制 0),周而复始计数。信号 c_out 只有在 cnt10 的值为“0000”的时间段内为 1。在异步计数器中,低位计数器产生的 c_out 作为高位计数器的时钟信号。 3.十进制计数器数码管的驱动十进制计数器的输出除了个位之外,其他十进制位的 4 位二进制输出直接与数码管的驱动电路连接。十进制计数器的个位由于相应的数码管是按每个发光二极管驱动,因此必须进行转换。转换使用 case 语句,例如: library ieee; use ieee.std_logic_1164.all; entity display is port (counter1: in std_logic_vector(3 downto 0); a,b,c,d,e,f,g,h: out std_logic ); end display; architecture behave of display is signal s_out: std_logic_vector(7 downto 0); begin a <= s_out(0); b <= s_out(1); c <= s_out(2); d <= s_out(3); e <= s_out(4); f <= s_out(5); g <= s_out(6); h <= s_out(7); process(counter1) begin case counter1 is when "0000" => --显示数字 0 s_out <= "00111111"; when "0001" => --显示数字 1 s_out <= "00000110"; when "0010" => --显示数字 2 s_out <= "01011011"; when "0011" => --显示数字 3 s_out <= "01001111"; when "0100" => --显示数字 4 s_out <= "01100110"; when "0101" => --显示数字 5 s_out <= "01101101"; when "0110" => --显示数字 6 s_out <= "01111110"; when "0111" => --显示数字 7 s_out <= "00000111"; when "1000" => --显示数字 8 s_out <= "01111111"; when "1001" => --显示数字 9 s_out <= "01101111"; when others => s_out <= "00000000"; end case; end process; end behave; 4.如果只进行演示性实验,则可以直接把频率计文件夹中的.sof 文件下载到 EPM7128 中进行。六、实验完成后,必须要将硬连线控制器重新装入 EPM7128 中。以备以后做其他实验使用。 4.2.2 实验报告,4.2 简易频率计实验 4.2.1 简易频率计实验部分一、实验目的 ⑴ 掌握频率计的基本原理。 ⑵ 通过简易频率计的设计掌握数字逻辑系统的设计方法。 ⑶ 掌握 EDA 软件 Quartus Ⅱ的基本使用方法。 ⑷ 掌握用 VHDL 语言设计复杂数字电路的方法。 二、实验原理 频率计是一种常用的仪器,用于测量一个信号的频率或者周期。与示波器相比,它测量频率更加准确、直观。 一个频率计总体上分为两部分:第一部分以被测信号作为计数时钟进行计数,第二部分将计数结果显示出来。频率的显示方法有两种,一种是用数码管显示,一种是用液晶显示屏显示。本实验采用的是数码管显示方法,用 6 个数码管显示,最多显示 6 位 10 进制数。 LG1 显示个位数,LG2 显示十位数,LG3 显示百位数,LG4 显示千位数,LG5 显示万位数,LG6 显示十万位数。6 个数码管中,对 LG1 采用使用 8 位数据直接驱动各发光二极管的方法,对 LG6~LG2 采用 8-4-2-1 编码的方式驱动。具体驱动方式,参看本书第 4 章 4.9 节。 频率计中,被测信号作为计数时钟进行计数时需要一个时间闸门,只有在这个时间闸门允许的时间段内才能进行计数。例如时间闸门可以是 0.001 秒、0.01 秒、0.1 秒、1 秒、10 秒等等。如果时间闸门选用 1 秒,那么对被测信号计数得到的数就是该信号的实际频率;如果时间闸门选用 0.001 秒,那么以被测信号作为计数时钟进行计数得到的计数器的值是被测信号实际频率的千分之一;如果时间闸门选用 10 秒,那么计数器的值是被测信号实际频率的 10 倍。对于选用 10 秒的时间闸门而言,在显示频率的时候,要将小数点放在最低位之前,这样可以得到 0.1Hz 的分辨率。对于选用 0.001 秒的时间闸门,显示的是 KHz 而不是 Hz,用米字型数码管显示“KHz”也不难。不过 TEC-8 实验台上的数码管不能显示“K”字符。在本实验中,只选用时间闸门为 1 秒,只显示频率的数字, 不显示单位。 时间闸门要求很高的精度,精度至少要在 10-5 以上。因此产生时间闸门信号时一定用到高精度石英晶体振荡器。如果石英晶体振荡器的频率是 1MHz,对其进行 1000 分频,能得到 0.001 秒的时 间闸门,对其进行 1000000 分频,得到 1 秒的时间闸门。 由于人眼不能分辨眼花缭乱的显示,因此需要在计数器停止计数后需要一段较长的时间显示频率。例如可以 1 秒时间计数,1 秒时间显示计数值。还有的做法是计数过程中随时显示,计数结束后用 1 秒时间显示计数结果。需要注意的是在时间闸门中计数前,首先要使计数器复位为 0,以保证计数值准确。这个计数器复位工作通常在按下复位按钮后进行一次,保证第一次计数准确;在显示用的每个时间段的最后通过内部产生的复位信号进行 1 次复位计数器工作,为下次计数做好准备。 影响频率计计数能力的主要是计数器的速度。如果一个计数器的计数速度不高,就无法对高频信号计数,测出的频率是不真实的。本实验中不考虑这个问题。 在测量一个信号的周期时,通常的做法是将信号的周期作为时间闸门,用一个频率精确的信号作为计数时钟脉冲,计算在时间闸门内通过的计数时钟脉冲个数。例如,采用 1MHz 的计数时钟脉冲时,如果在一个信号周期内有 678 个计数时钟脉冲通过,则该信号的周期就是 678 微秒。 三、实验设备
四、实验要求 ⑴ 使用频率为 1MHz 的主时钟产生一个时间为 1 秒的时间闸门,用于对被测信号进行计数,计数时间为 1 秒,静态显示时间为 1 秒。计数过程中对计数器的值进行显示。 ⑵ 对 TEC-8 试验台上的下列频率的信号测试其频率:MF、100KHz、10KHz、1KHz、100Hz、10Hz。 ⑶ 用模式开关 SWB、SWA 选择被测信号,选择标准如下:
⑷ 频率计采用自顶向下或者自底向上的层次方法设计。 ⑸ 在个人计算机 PC 上 Quartus Ⅱ用 VHDL 语言设计出程序,经过编译,然后下载到 EPM7128 器件中,构成一个频率计。 ⑹ 观察实验结果。如果不符合要求,重新修改程序、编译后下载,直到正确为止。 五、实验提示1.EPM7128 引脚信号 本实验中使用下列信号,对应 EPM7128 的引脚如下:
|