电子课程设计。
六进制字符发生器。
学院。专业、班级。
姓名。学号。
指导教师。2013年12月24日星期二。
字符发生器。
1. 设计任务:利用实验箱上16*16点阵,设计字符发生器,可以循
环显示预置字符 :身要动,心要静。
2. 设计要求:(1)利用vhdl编写字符扫描驱动电路。
2)设计一个可以自动循环显示10个字符的电路。
3)编写预置字符的rom程序生成模块接入电路。
方案一:1、设计思路:
此电路由六进制计数器,rom存储器,address计数器模块这四部分构成。字符要用16*16点阵显示所以涉及到行列的显示,根据字符将16*16点阵中所需点亮的二极管的内容存储到rom存储器中,同时列依次扫描,计数器对16*16点阵显示器的行进行循环计数。
2、各模块的作用。
分频器的作用是将50mhz的信号分为25khz信号,提供给address计数器模块与rom存储器作为所需的时钟信号。
address计数器的作用是在时钟信号作用下,将从rom中读出的信号对应正确的位置上的数值显示在点阵上。reset是复位端,起复位作用,低电平时起作用。输出端qout[15..
0]对应点阵上的l0-l15,为点阵的行驱动信号输出,addr[3..0]的增加依次对列扫描。
六进制计数器的输出与address计数器的输出共同作用在rom的输入,由此决定qout[15..0]的输出,使得输出字符循环显示。实现六进制计数器有三种方法,具体将在下面部分做详细介绍。
rom是一个rom128*16的存储数据的具有读写功能的存储器,设计中存储着“身要动,心要静”六个字,在addr[6..0]输入相应地址时读取rom128*16中相应的数据然后经q[15..0]输出。
主要是存储数据。
方案二:1、 原理图。
图一。2、 生成该原理图的程序。
library ieee;
use use
entity zfc is
port(clk,enable: in std_logic;
sel: out std_logic_vector(3 downto 0);
h0,h8: out std_logic_vector(7 downto 0));
end entity;
architecture beh** of zfc is
signal lie: std_logic_vector(3 downto 0);
signal next1: std_logic_vector(2 downto 0);
begin
a1: process(clk,enable)
begin
if clk'event and clk='1' then
if(enable='1' )then
if lie>"0000" then
lie<=lie-"0001";
else lie<="0101";
end if;
end if;
end if;
sel<=lie;
end process;
a2: process(clk,enable)
begin
if(clk'event and clk='1')then
if enable='1' then
case next1 is
when "000" =
case lie is
when "0000"=>h0<="00000000";h8<="00000000";
when "0001"=>h0<="00001000";h8<="00000000";
when "0010"=>h0<="00011111";h8<="11100000";
when "0011"=>h0<="00010000";h8<="00100000";
when "0100"=>h0<="00011111";h8<="11100000";
when "0101"=>h0<="00010000";h8<="00100000";
when "0110"=>h0<="00011111";h8<="11100000";
when "0111"=>h0<="00010000";h8<="00100000";
when "1000"=>h0<="00011111";h8<="11100000";
when "1001"=>h0<="00000010";h8<="01100000";
when "1010"=>h0<="00000000";h8<="10100000";
when "1011"=>h0<="00000001";h8<="00100000";
when "1100"=>h0<="00000010";h8<="00100000";
when "1101"=>h0<="00000100";h8<="10100000";
when "1110"=>h0<="00001000";h8<="01100000";
when "1111"=>h0<="00000000";h8<="00000000";
end case;
when "001" =
case lie is
when "0000"=>h0<="00000000";h8<="00000000";
when "0001"=>h0<="00011111";h8<="11111100";
when "0010"=>h0<="00000010";h8<="01001000";
when "0011"=>h0<="00001111";h8<="11111000";
when "0100"=>h0<="00001010";h8<="01001000";
when "0101"=>h0<="00001010";h8<="01001000";
when "0110"=>h0<="00001010";h8<="01001000";
when "0111"=>h0<="00001111";h8<="11111000";
when "1000"=>h0<="00000001";h8<="00000000";
when "1001"=>h0<="00111111";h8<="11111100";
when "1010"=>h0<="00000100";h8<="00100000";
when "1011"=>h0<="00000011";h8<="01000000";
when "1100"=>h0<="00000000";h8<="10000000";
when "1101"=>h0<="00000001";h8<="01000000";
when "1110"=>h0<="00000110";h8<="00100000";
when "1111"=>h0<="00000000";h8<="00000000";
end case;
when "010" =
case lie is
when "0000"=>h0<="00000000";h8<="00000000";
when "0001"=>h0<="00000000";h8<="00000000";
when "0010"=>h0<="00000000";h8<="00010000";
when "0011"=>h0<="00001111";h8<="11111000";
when "0100"=>h0<="00000000";h8<="00010000";
when "0101"=>h0<="00000000";h8<="11111110";
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...