- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计1616字符发生器
EDA课程设计
-----16X16字符发生器
学 院 : 阜阳师范学院
专 业 : 电子信息科学与技术
班 级 :08级电子一班
姓 名(学 号) : 刘蕊(200840620119)、穆良群(200840620123)
邵敏(200840620125)、邵盛楠(200840610318)
张南南(200840620143)、张雪琳(200840620145)
时间:2010年12月1日
一.设计任务及要求
1.设计任务:利用实验箱上16X16点阵,设计字符发生器,可以循环显
示预置字符:同心协力。
2.设计要求:(1)利用VHDL编写字符扫描驱动电路;
(2)设计一个可以自动循环显示4个字符的电路;
(3)编写预置字符的rom程序生成模块接入电路。
二.总体框图
设计思路:
此电路由八进制计数器,ROM和ADDRESS1这三部分构成。
ADDRESS1的作用是在时钟clk的作用下将从rom中读出的信号对应正确的写在16×16的点阵上。Reset是复位端,起复位作用。输出addr[4..1]选中16X16LED点阵的对应列,随着addr[4..1]值得增加,从左往右依次选中点阵的各列addr0则决定输出是在高位还是在低位。FLEX10的lout0-7和hout0-7分别与LED点阵的低八位L0-7和高八位L8-15相连。
八进制计数器是在addr[7..0]输出0-3的循环计数,由此输出与ADDRESS1的输出addr[4..0]共同作为rom的输入地址,以此决定q[7..0]的输出(即ADDRESS1的DIN[7..0]的输入),此八进制计数器是由74LS160十进制计数器修改得来的,输出由原来十进制的0-9循环输出变为八进制的0-3循环输出。
Rom是一个用来存储数据的具有读写功能的的存储器,在此电路中的作用是存储“同心协力”四个字.在addr[7..0]输入相应的地址时读取rom中的相应的数据,然后在输出端q[7..0]输出。
在时钟脉冲的作用下,地址计数器计数,EPROM相对应的地址单元中的代码输出,以驱动列选通线产生电路。地址计数器同时又为行选通线产生电路。地址随着地址计数器计数值的变化,发光二极管显示屏逐行扫描,显示屏上显示出字符或图案。
各模块功能:
1) ROM是只读存储器存放字符的代码, 他是字符显示器的核心部件。
2)发光二极管显示屏用来显示字符或图案,他是由若干发光二极管组成的点阵式显示屏。
3) ADDRESS1的作用是在时钟clk的作用下将从ROM256*8中读出的信号对应正确的写在16×16的点阵上。
选择器件与功能模块
用来构成输出八进制的74LS160十进制计数器
.74LS160器件图
B.C.D 为输入端; LDN为置数端;ENT与ENP为使能控制端;CLRN为置零端;
RCO为进位输出端; QA.QB.QC.QD为输出端;CLK为脉冲信号输入端.
(2). 74160内部结构图
(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 保持(C=0) ↑ 1 1 1 1 计数
2.ADDRESS1模块设计文件ADDRESS1.VHD
说明: CLK为时钟输入端口;
RESET为置零端;
DIN[7..0]为接受ROM数据信号端口;
AD[4..0]为片选地址输出;
HOUT[7..0],LOUT[7..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;
ad :OUT STD_LOGIC_VECTOR(4 downto 0);
din:in STD_LOGIC_VECTOR(7 DOWNTO 0);
hout,lout:out STD_LOGIC_VECTOR(7 downto 0));
END address1;
ARCHITECTURE a OF address1 IS
BEGIN
process(clk,
文档评论(0)