16X16点阵显示设计
更新时间:2024-05-23 10:40:01 阅读量: 综合文库 文档下载
实 验 报 告
课程名称 EDA技术使用教程
实验名称 16*16点阵显示综合实验
实验类型 验 证 (验证、综合、设计、创新) 学院名称 专 业 年级班级 开出学期
实验四、16*16点阵显示综合实验
一、 实验要求
设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示自己的名字,其中列选信号为16-4编码器编码输出。
二、实验目的
1、 了解点阵字符的产生和显示原理。
2、了解E2PROM和16×16点阵LED的工作机理。 3、 加强对于总线产生,地址定位的CPLD实现的理解。
三、硬件要求
1. 主芯片。 2. 可变时钟源。
3. 带有事先编程好字库/字符的E2PROM 2864。 4. 16×16扫描LED点阵。
四、实验原理
16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。所以其扫描译码地址需4位信号线。要使16点阵上某个点亮,如第10行第4列的LED点亮,只要让列选信号为“0100”,从而选中第4列,再给第10行一个高电平,即可点亮该LED。本实验通过FPGA芯片写入字形,产生扫描信号。为了显示整个汉字,首先分布好汉字的排列,以行给汉字信息;然后以大于24HZ的频率扫描列,即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。
五、VHDL语言程序代码
library ieee;
2
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dots_test is
port ( clk:in std_logic; dotout:out std_logic_vector(15 downto 0); selout:out std_logic_vector(3 downto 0); M :out std_logic_vector(3 downto 0) ); end dots_test;
architecture a of dots_test is
signal sel_tmp:std_logic_vector(3 downto 0); signal dot_tmp:std_logic_vector(15 downto 0);
type dot_type is array (0 to 15) of std_logic_vector(15 downto 0); --定义16个长度为16位的数组,用来存放每一行的显示值 signal dotout_tmp:dot_type;
constant dotout_tmp1:dot_type:= --陶
(x\ x\
constant dotout_tmp2:dot_type:= --军 (x\ x\
constant dotout_tmp3:dot_type:= --喜 (x\
x\
signal scan_sel:std_logic_vector(3 downto 0);
signal clk_value:std_logic_vector(2 downto 0):=(others => '1');
constant clk_value_store:std_logic_vector(2 downto 0):=(others => '1'); signal key_tmp:std_logic_vector(3 downto 0);
begin M <= \功能选择位选择16x16点阵功能
connection:block begin dotout <= dotout_tmp(conv_integer(scan_sel)); selout <= scan_sel; end block connection;
scan_display:block --扫描显示及时钟分频
3
begin
clock_divisor: process(clk) begin if rising_edge(clk) then if (clk_value = clk_value_store) then scan_sel <= scan_sel + 1; end if; clk_value <= clk_value + 1; end if; end process clock_divisor; end block scan_display;
Free_Counter : Block -- 计数器 -- 产生扫描信号 Signal Q : STD_LOGIC_VECTOR(40 DOWNTO 0); Signal S : STD_LOGIC_VECTOR(2 DOWNTO 0); Begin
t1: PROCESS (clk) -- 计数器计数 Begin IF clk'Event AND clk='1' then Q <= Q+1; END IF; S <= Q(28 DOWNTO 26); if ( s=0) then for i in 0 to 15 loop dotout_tmp(i) <= dotout_tmp1(i); end loop; elsif ( s=1) then for i in 0 to 15 loop dotout_tmp(i) <= dotout_tmp2(i); end loop;
elsif ( s=2) then for i in 0 to 15 loop dotout_tmp(i) <= dotout_tmp3(i); end loop; end if;
END PROCESS t1;
End Block Free_Counter; end a;
六、实验结果
4
七、结论和总结
通过这次对16*16点阵字符发生器的设计与实践,让我加深了对VHDL语言的了解。本次设计使我对LED点阵显示原理及电路结构有一定的感性和理性认识,培养和锻炼敢于我们的实际动手做东西的能力。 不过本次设计也存在一些不足,暴露了自己对EDA的掌握还有所欠缺。在设计过程中,对于引脚的选择输入,电压的选择与程序的纠错都不是很熟练。也感谢老师对我设计的指导与帮助。总的来说,这次设计的收获好是很大的。
5
正在阅读:
16X16点阵显示设计05-23
十八大解读之中国民生建设》试卷05-31
关于认真组织学生参加重庆市高职院校“学生说学”活动的通知01-21
电絮凝法处理重金属废水中试研究12-17
3信息光学试卷11-24
中考英语语法专题指示代词07-28
华为 h3c VLAN基本配置10-17
专题:利用平行线构造相似形证线段比12-09
泰山区健康厨房减盐防控高血压知识竞赛05-05
杜绝发胖的一切可能,舞来细效果好不好05-24
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 点阵
- 显示
- 设计
- 16X16
- PEP五年级英语2单元教学设计10-18 - 图文
- 盘式制动器设计说明书
- 9A Unit4 TV programmes 课时练习4(Grammar)
- 物业公司保安部防汛抢险应急预案
- (数学1必修)第一章(中) 函数及其表示B
- 海南版中级工程师考试认证题库
- 杨玉环为何一直只是贵妃而不封为皇后呢?
- 高一物理暑假作业09摩擦力做功的特点通关检测
- 2014 江苏南京中考语文试题及答案解析
- 庙堂新三措一案会议材料(2) - 图文
- 三毛流浪记阅读测试题
- 泵与风机习题
- 图纸会审记录1 2 5 6 9 10
- 2017-2022年中国挂面产业深度调研与发展现状分析报告(目录)
- 东北大学17秋学期《测量学》在线作业1答案
- 六年级奥数教材 - 图文
- 施工图纸会审记录(上部)改
- 商务英语翻译(54-106)
- 变频调速实训实训报告
- 7425+儿童家庭与社区教育(专科)(省)201510试点作业参考答案