1、利用拨码开关控制点阵进行汉字1、课程设计目的 1.学习操作数字电路设计实验开发系统,掌握点阵显示模块的工作原理及应用。2.掌握组合逻辑电路、时序逻辑电路的设计方法。3.学习掌握可编程器件设计全过程。2、课程设计内容和要求:2.1、设计内容 利用拨码开关控制点阵进行汉字显示,包括可调数字信号源、拨码开关控制模块以及点阵显示模块。2.2、设计要求 1.学习掌握拨码开关控制模块、点阵模块的工作原理及应用; 2.熟练掌握VHDL编程语言,编写拨码开关控制模块的控制逻辑; 3.仿真所编写的程序,模拟验证所编写的模块功能; 4.下载程序到芯片中,硬件验证所设置的功能,能够实现汉字的显示; 5.整理设计内容
2、,编写设计说明书。3、设计方案及实现情况3.1、设计思路 根据题目设计要求,本系统拟采用自顶向下设计方法,顶层采用原理图设计方法,将整个系统分为分频模块、拨码开关控制模块、点阵显示三个模块。通过对各模块编写程序实现模块功能,最后将三个模块进行综合实现整个系统的功能,通过拨码开关控制点阵进行汉字显示。3.2、工作原理及框图系统的输入信号有:分频器时钟信号clk,按键控制cn1.0。系统的输出信号有:点阵数据输出q0.15,列选择信号输出sel0.3。系统通过拨码开关高低电位来控制按键cn1.0,外加分频时钟信号clk控制输出sel0.3,控制最终的输出端q0.15。整体设计原理图如图1: 图1
3、系统整体设计原理图3.3、各模块功能描述(1)分频模块,对时钟进行分频,原理图如图2图2 分频模块原理图程序代码如下:library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fenpin isport( clk: in std_logic; clkout: out std_logic);end fenpin; architecture xxx of fenpin is signal a: std_logic;signal n: st
4、d_logic_vector(2 downto 0);begin process(clk) begin if clkevent and clk=1 then if n=100 then n=000; a=not a; else n=n+1; end if; end if; end process; clkout=a; end xxx; (2)功能控制模块模块(cnta): 利用时钟进行十六进制计数,控制列信号从0000-1111变化,原理图如图3图3 cnta模块原理图程序代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_lo
5、gic_unsigned.all;entity cnta isport( clk:in std_logic; q:out std_logic_vector(0 to 3);end cnta;architecture xxx of cnta isbegin process(clk)variable qwe:std_logic_vector(3 downto 0); begin if clkevent and clk =1 then if qwe =1111 then qwe:=0000; else qwe:=qwe+1; end if; end if; q case sel is when000
6、0=qqqqqqqqqqqqqqqqnull; end case; when 01= case sel is when0000=qqqqqqqqqqqqqqqqnull; end case; when 10= case sel is when0000=qqqqqqqqqqqqqqqqnull; end case; when others=null; end case; end process;end xxx;3.4、仿真结果 (1)分频模块仿真图如图5图5 分频模块仿真图(2)功能控制模块(cnta)仿真图如图6图6 功能控制模块仿真图(3)点阵显示模块(cora)仿真图如图7图7 点阵显示模
7、块仿真图(4)整体模块仿真图如图8图8 整体模块仿真图3.5、实验箱验证情况 通过拨码开关cn1.0控制汉字的显示4、课程设计总结通过这学期课程设计,使我对可编程逻辑器件这门课程有了更加深刻的认识,并且对VHDL语言有了进一步的了解。学习了如何利用拨码开关控制点阵进行汉字显示的输出。最初拿到课程设计说明书时,感觉每个模块在实验时都用过,心想只要把每个模块组合到一起就能实现系统功能,但结果其实不然。在用VHDL语言进行设计时,时序问题需要我们特别关注。否则在实验箱上进行验证时不会输出正确结果。完成此次设计后,不仅能对Quartus开发仿真软件的操作更加熟练,真正做到学以致用;同时掌握了点阵显示的工作原理。通过此次课程设计,感受到平常的学习在注重理论知识掌握的基础上,要特别重视实验环节。只有通过不断的实践,我们才能把知识掌握的更牢固,理解的更透彻。5、参考文献(1)侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计. 西安:西安电子科技大学出版社,1999(2)求是科技.CPLD/FPGA应用开发技术与工程实践. 北京:人民邮电出版社,2005(3)罗苑棠.CPLD/FPGA常用模块与综合系统设计实例精讲. 北京:电子工业出版社,2007(4)任勇峰,庄新敏.VHDL与硬件实现速成.北京:国防工业出版社,2005
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2