北理工可编程逻辑器件实验报告

2019-01-05 11:30

本科实验报告

实验名称: 可编程逻辑器件实验报告

课程名称: 可编程逻辑器件 任课教师: 实验教师: 学生姓名: 学号/班级: 学 院: 专 业: 实验时间: 实验地点: □ 原理验证 实验类型: ■ 综合设计 □ 自主创新 组 号: 同组搭档: 成 绩:

9999计数器

一、实验目的

编程实现一个含清零功能9999计数器,并用7段数码管显示。

二、实验器材

EPM7128STC100-15,计算机

三、实验过程

(1)原理分析

a、分频

要实现一个0-9999计数器,并且肉眼可观,但是EPM7128STC100-15系统只有一个6M的时钟,频率太高,肉眼不可见,因此得用一个分频器将系统时钟降下来。本实验用了6个74LS190 BCD计数器级联,可实现1000000分频,从而将系统时钟变为6HZ。

b、计数

系统分频之后,接下来实现计数,仍然用74LS190 BCD计数器4个级联实现0~9999的计数功能,将每个计数器的管脚输出。

c、扫描

实验要求用4个7段数码管输出,计数输出是4个二进制数,因此本步骤的功能是将每个二进制数对应于一个7段数码管,再把单片机系统的时钟(6M Hz)作为扫描的时钟,从而实现4个7段数码管同步显示。

d、译码

计数输出的是0000~1001二进制形式的数,而7段数码管是a~b~c~d~e~f~g七段数码管,要实现这两个的连接,需要一个译码器,来将这四个数同步的显示在七段数码管上。

(2)程序及图形设计

a、分频和计数

图形设计如下:

画好上面的图以后编译后再将上面的设计为一整个芯片,如下图所示:

b、扫描

代码:

--******************************************** LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

--******************************************** ENTITY Scaner is PORT(

rst : in std_logic; -- System RST clk : in std_logic; -- System Clock a,b,c,d : in std_logic_vector(3 downto 0); o_data : out std_logic_vector(3 downto 0);

o_comm : out std_logic_vector(3 downto 0) -- disp bit ctrl );

END Scaner;

--********************************************* architecture action of Scaner is

type s_type is (LED0,LED1,LED2,LED3);

signal s_LED : s_type; begin

process(clk,rst) begin if rst = '0' then o_comm <= \ o_data <= \ s_LED <= LED0; elsif clk'Event and clk = '1' then case s_LED is when it begin when LED0 => o_comm <= \ o_data <= d; s_LED <= LED1; when LED1 => o_comm <= \ o_data <= c; s_LED <= LED2; when LED2 => o_comm <= \ o_data <= b; s_LED <= LED3; when LED3 => o_comm <= \ o_data <= a; s_LED <= LED0; when others => s_LED <= LED0; o_comm <= \ end case; end if; end process;

--///////////////////////////////////////////// end action;

-- State Signal Declare

-- enter the state of LED

同理,画好上面的图以后编译后再将上面的设计为一整个芯片,如下图所示:

c、译码

源代码:

--******************************************** LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

--******************************************** ENTITY encoder is PORT( i_data : in std_logic_vector(3 downto 0); -- System Data Bus(in) i_rst : in std_logic; -- System RST o_code : out std_logic_vector(7 downto 0) -- LED SEGCODE );

END encoder;

--********************************************* architecture behavior of encoder is begin

process (i_rst,i_data) begin if i_rst = '0' then --Reset State o_code <= \ else case i_data is when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when \ => o_code <= \ when others => o_code <= \ end case; end if; end process; end behavior;

同理,画好上面的图以后编译后再将上面的设计为一整个芯片,如下图所示:


北理工可编程逻辑器件实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2018人教版小学二年级上册音乐教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: