文档详情

EDA课程设计字符发生器向大自然学习doc.doc

发布:2018-10-06约5.98千字共12页下载文档
文本预览下载声明
太原科技大学:名字起个什么 电子技术课程设计 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
显示全部
相似文档