利用拨码开关控制点阵进行十进制数字显示.docVIP

  • 4
  • 0
  • 约1.23万字
  • 约 15页
  • 2016-04-12 发布于安徽
  • 举报

利用拨码开关控制点阵进行十进制数字显示.doc

利用拨码开关控制点阵进行十进制数字显示.doc

中北大学 课 程 设 计 说 明 书 ? ? ? 学生姓名: 范林江 学 号: 0706024148? 学 院: 电子与计算机科学技术学院? 专 业: 微电子学? 题 目: 利用拨码开关控制点阵进行十进制数字显示 ? ? ? 指导教师: 王红亮 职称: 讲师 ? ? ? ? 2010 年 6 月 25 日 目 录 1.课程设计目的………………………………………………………………2 2.课程设计内容及要求…………………………………………………2 2.1设计内容…………………………………………………………………2 2.2设计要求…………………………………………………………………2 3.设计方案及实现情况………………………………………………………2 3.1设计思路…………………………………………………………………2 3.2工作原理及框图……………………………………………………………2 3.3各模块功能描述………………………………………………………………3 3.4仿真结果………………………………………………………………………12 3.5试验箱验证情况…………………………………………………………13 4课程设计总结………………………………………………………………13 5.参考文献……………………………………………………………………14 课程设计目的 (1)学习操作数字电路设计实验开发系统,掌握点阵显示的工作原理及应用。 (2)掌握组合逻辑电路、时序逻辑电路的设计方法。 (3)学习掌握可编程器件设计的全过程。 2、设计内容要求 1、2.2、VHDL编程语言,编写点阵显示模块; 3. 仿真所编写的程序,模拟验证所编写的模块功能; 4. 下载程序到芯片中,硬件验证所设置的功能,能够实现十进制数字的显示; 3、?设计方案及实现情况 3.1、设计思路 2、工作原理及图 图1 设计框图 (3)系统图 图2 系统图 图3 列扫描控制模块图 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnta is port(clk:in std_logic; q:out std_logic_vector(3 downto 0)); end cnta; architecture cnt_arc of cnta is begin process(clk) variable tmp:std_logic_vector(3 downto 0); begin if clkevent and clk=1 then if tmp=1111 then tmp:=0000; else tmp:=tmp+1; end if; end if; q=tmp; end process; end cnt_arc; (2)点阵显示模块 在程序中写出十进制数的字型码,根据输入的数字选择出相应的字型马显示,再进行逐列扫描,根据各点设置的0和1显示出相应的数字,由于是十进制对于大于九的数字不显示。 图4 点阵显示模块图 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cora is port(ch:in std_logic_vector(3 downto 0); sel:in std_logic_vector(3 downto 0); q:out std_logic_vector(15 downto 0)); end cora; architecture corn_arc of cora is begin process(ch,sel) begin case ch is when 0000= case sel is when 0000=q=0000000000000000; when 0001=q=0000000000000000; when 0010=q=0000011111100000;

文档评论(0)

1亿VIP精品文档

相关文档