- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字课程设计01.
数字系统课程设计
报告
(汉字点阵的动态显示与数字时钟显示)
学院: 电气与信息工程
班级: 电子科学082
姓名: 邹 家 文
学号: 07401500207
指导老师刘俊萍 石伟
汉字点阵的动态显示
一、系统设计要求:
汉字显示在很多场合都有应用,本设计要求掌握汉字的点阵显示原理、字模软件的使用和汉字动态显示的编程方法。具体要求:
(1)采用EDA实验箱上的16*16点阵模块显示,“测控081班13号黄昌剑”用单次脉冲开关进行切换,即按一次单次脉冲开关显示一个汉字或数字。
二、系统硬件:
点阵显示硬件电路连接示意图(不使用AT28C64,以及使用4线16线译码器,实现16*16点阵)
三、EP1K30引脚对应关系表:(编写VHDL源程序,编译仿真通过后,按照下表的管脚分布进行芯片的管脚映射并下载到硬件中进行验证。下载前将实验箱设置为“汉字点阵显示”。)
名称 引脚号 功能 SEL0 68 点阵模块列扫描线 SEL1 69 点阵模块列扫描线 SEL2 70 点阵模块列扫描线 SEL3 72 点阵模块列扫描线 D0 12 点阵数据线 D1 18 点阵数据线 D2 17 点阵数据线 D3 20 点阵数据线 D4 19 点阵数据线 D5 22 点阵数据线 D6 21 点阵数据线 D7 26 点阵数据线 D8 101 点阵数据线 D9 100 点阵数据线 D10 99 点阵数据线 D11 98 点阵数据线 D12 97 点阵数据线 D13 96 点阵数据线 D14 95 点阵数据线 D15 92 点阵数据线 CLOCK2 55 扫描脉冲(1KHZ) PULSE 56 单次脉冲(可用作切换开关) 四、VHDL程序
---下面是引用库
library ieee; --库函数
use ieee.std_logic_1164.all;
--定义了std_logic数据类型及相应运算
use ieee.std_logic_arith.all;
--定义了signed和unsigned数据类型、相应运算和相关类型转--换函数
use ieee.std_logic_unsigned.all;
--定义了一些函数,可以使std_logic_vector类
--型被当作符号数或无符号数一样进行运算
entity hzxs is -- hzxs为实体名
port( clk : in std_logic; --时钟输入
keyc : out std_logic_vector(3 downto 0); --点阵列控制
keyr : out std_logic_vector(15 downto 0) --点阵行显示
);
end hzxs;--结束实体
architecture behave of hzxs is --behave为结构体名
signal cdount : std_logic_vector(3 downto 0);--信号量表示列扫描频率
signal S : std_logic_vector(2 downto 0);--单个汉字的扫描周期
begin
process(clk) --显示时序控制 进程1
begin --以begin为标志开始结构体的描述
if clkevent and clk=1 then --上升沿
if S=110 then
S=000;
else
S=S+1;
end if;
end if;
end process; --结束进程1
process(cdount,s)--进程2 汉字扫描
begin
if s=000 then --汉字“测”扫描时间
case cdount is
when 0000=keyr=0100000000000010; --显示测
when 0001=ke
文档评论(0)