EDA课程设计字符发生器向大自然学习doc.doc
文本预览下载声明
太原科技大学:名字起个什么
电子技术课程设计
16X16字符发生器
学 院 :
专 业 :
班 级 :
姓 名 :
学 号 :
指导教师 :
2009年12月
16X16字符发生器
一.设计任务及要求
1.设计任务:利用实验箱上16X16点阵,设计字符发生器,可以循环显
示预置字符:向大自然学习
2.设计要求:(1)利用VHDL编写字符扫描驱动电路;
(2)设计一个可以自动循环显示8个字符的电路;
(3)编写预置字符的rom程序生成模块接入电路。
二.总体框图
(1)设计思路:
此电路由八进制计数器,分频器,ROM128 x16和地址计数器这三部分构成。
地址计数器的作用是在时钟脉冲源的作用下将从ROM存储器中读出的“向大自然学习”写在16×16的点阵上。选中16X16LED点阵的对应列,随着地址计数器值得增加,从左往右依次选中点阵的各列则决定输出是在高位还是在低位。分频器用来控制扫描速度的快慢
八进制计数器是在地址计数器输出0-7的循环计数,由此输出与地址计数器的输出共同作为ROM的输入地址,以此决定地址计数器的输出,此八进制计数器是由74LS161十六进制计数器转换得来的,输出由原来十六进制的0-15循环输出变为八进制的0-7循环输出。
Rom是一个用来存储数据的具有读写功能的的存储器,在此电路中的作用是存储“向大自然学习”六个字.在地址计数器输入相应的地址时读取ROM中的相应的数据,然后在输出端输出。
在时钟脉冲的作用下,地址计数器计数,ROM相对应的地址单元中的代码输出,以驱动列选通线产生电路。地址计数器同时又为行选通线产生电路。地址随着地址计数器计数值的变化,发光二极管显示屏逐行扫描,显示屏上显示出字符或图案。
(2)各模块功能:
1) ROM是只读存储器存放字符的代码, 它是字符显示器的核心部件。
2)16×16的点阵用来显示字符或图案,它是由若干发光二极管组成的点阵式显示屏。
3) 地址计数器的作用是在时钟脉冲源的作用下将从ROM128×16中读出的信号对应正确的写在16×16的点阵上。
4) 分频器用来控制扫描速度的快慢
三.选择器件与功能模块
1.用来构成输出八进制的74LS161十六进制计数器
(1).74LS161器件图
B.C.D 为输入端; LDN为置数端;ENT与ENP为使能控制端;CLRN为置零端;
RCO为进位输出端; QA.QB.QC.QD为输出端;CLK为脉冲信号输入端
(2). 74161内部结构图
(3).74160功能表
CP
CLRN(RD非)
LDN(LD非)
EP ET
工作状态
X
0
X
X X
置零
↑
1
0
X X
预置数
X
1
1
0 1
保持
X
1
1
X 0
保持
↑
1
1
1 1
计数
(4).八进制计数器真值表
CP
Q3
Q2
Q1
Q0
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
(5)用74160构成的8进制计数器原理图
2.ADDRESS1模块设计文件ADDRESS1.VHD
说明: CLK为时钟输入端口;
RESER为置零端;
DIN[7..0]为接受ROM数据信号端口;
AD[3..0]为片选地址输出;
QOUT[15..0]为字的输出.
Address1设计程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity address1 is
port(clk,reset: IN std_logic;
din: IN std_logic_vector(15 downto 0);
ad: OUT std_logic_vector(3 downto 0);
qout: OUT std_logic_vector(15 downto 0));
end address1;
architecture a of address1 is
begin
process(clk,din,reset)
variable q1: std_logic_vector(3 downto 0):=0
显示全部