- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2018212048赵依然
实验 5 双色点阵扫描显示控制器
一、实验要求
1. 用 8×8 点阵显示字符,每次显示一个字符,每秒切换一次,显示内容为“B”、“U”、“P”、
“T”及姓名的第一个字母。如张三显示的内容为“B”、“U”、“P”、“T”、“Z”、“S”。
2.为系统设置一个复位键,复位后重新从“B”开始循环显示。要求使用按键复位。
二、实验设计思路
我们知道点阵的结构,当 row 轮流出 0 的时候,二极管阴极为低电平,这时候我们给到一
个高电平在红灯或者绿灯的阳极的时候,就能驱使灯点亮。这样我们可以基于“视觉暂留”的
现象,快速刷新 row 灯,使得点阵能够快速点亮,这样就能显示一个完整的字,最后再利
用一个模 7 计数器来实现每个字母之间的转换。
我们引入一个 1000hz 的时钟,并对其进行一个 1000 分频变成 1hz 的时钟。之后再利用这
个模 7 计数器来控制 cor_l 和 cor_g 和 row 来控制灯的颜色、每行灯亮时列的亮灯情况。另
外,我们需要一个模 8 计数器,后面再设计一个 3-8 线译码器,这样能够控制 row 的亮灯
情况。最后我们需要注意的是,由于 row 需要快速刷新,故我们需要用 1000hz 的时钟,而
字符之间的转换的计数器要用 1hz 的时钟,来满足亮灯 1s 的条件。
我们还需要设计一个复位键,以便能做到按下按钮重新回到第一个字母的功能,这需要 reset
按下时,模 7 计数器的数字回到 0。这样把带防抖的复位键加进去即可。
最后顶层将这两个模块连接起来即可。
三、VHDL 代码及注释
点阵部分:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
use IEEE.std_logic_arith.all;
entity dianzhen is
port(clk :in std_logic;
col_r :out std_logic_vector(7 downto 0); --红灯的控制显示
col_g :out std_logic_vector(7 downto 0); --绿灯的控制显示
row : out std_logic_vector(7 downto 0);--二极管阴极控制
reset: in std_logic);
end dianzhen;
architecture a of dianzhen is
signal sel7:std_logic_vector(2 downto 0); --模 7 计数器的信号
signal sel8:std_logic_vector(2 downto 0); --模 8 计数器的信号
signal clk_add:std_logic:=0; --分频后的时钟 begin
p1:process(clk) --1000 分频
variable c:integer range 0 to 499:=0;
begin
if (clkevent and clk=1) then
if c=499 then
clk_add=not clk_add;
c:=0;
else
c:=c+1;
end if;
end if;
end process p1;
p2:process (clk)--模 8 计数器
begin
if (clkevent and clk=1) then
sel8=sel8+1;--加满自动重新归零
end if;
end process p2;
p3:process(clk_add,reset)--模 7 计数器
begin
if(reset=1) then--当出现重置的信号为高电平时,计数器重置为 000,这样就能回到字母 B
sel7=000;
elsif (CLK_addEVENT AND CLK_add=1)then
if (sel7=O6) then
sel7=O0;--模满 7 归零
else sel7=sel7+1;
end if;
end if;
end process p3;
p4:process(sel7,sel8)—模 7 和模 8 共同作用,模 8 用来快速刷新 row,模 7 用来控制哪个字
母,每行对应相对的列点亮的情况,显示字母。
begin
case sel7 is
when O0= case sel8 is --字母 B,运用循环嵌套,如 7 是显示 B 的最上面一行,0 是显示
最下面一行左下角灯为(0,0),右上角为(7,7),这样的方式点亮灯显示字符。
when O7 =col_rcol_growwhen O6 =
您可能关注的文档
- 专业人才培养方案制定调查问卷(毕业生)-电力系统自动化技术(1).docx
- 专业人才培养方案制定调查问卷(毕业生)-电力系统自动化技术(1).pdf
- 北邮数电实验双色点阵扫描控制器.pdf
- 人工智能机器人技术发展报告.docx
- 人工智能机器人技术发展报告.pdf
- 金融风险管理计算题.docx
- 小学科学四年级上册《食物的消化》教学实录2.pdf
- 闽教版(2020修订版)信息技术 五年级下册教案.docx
- 陀螺仪”和“加速度计”工作原理.docx
- 2024-2025学年广东省广州七中八年级(上)期中物理试卷(含答案).docx
- 2024-2025学年安徽省卓越县中联盟高一(上)期中联考物理试卷(含答案).pdf
- 2024-2025学年广东省惠州市第一中学高二(上)期中物理试卷(含答案).docx
- 2024-2025学年广东省惠州市第一中学高二(上)期中物理试卷(含答案).pdf
- 2024-2025学年内蒙古鄂尔多斯一中伊金霍洛分校九年级(上)月考物理试卷(10月份)(含答案).docx
- 2023-2024学年山东省淄博市张店六中八年级(下)期中物理试卷(含答案).pdf
- 2024-2025学年河南省安阳市龙安实验中学八年级(上)第一次月考物理试卷(含答案).pdf
- 2024-2025学年河南省安阳市龙安实验中学八年级(上)第一次月考物理试卷(含答案).docx
- 2024-2025学年江苏省常州实验中学九年级(上)期中物理试卷(含答案).docx
- 2024-2025学年湖北省武汉市江岸区八年级(上)期中物理试卷(含答案).docx
- 2024学校食品安全周活动总结(30篇).pdf
文档评论(0)