《利用按键开关控制液晶显示器进行十六进制数字显示说明书.doc》由会员分享,可在线阅读,更多相关《利用按键开关控制液晶显示器进行十六进制数字显示说明书.doc(20页珍藏版)》请在三一文库上搜索。
1、中北大学中北大学 课课 程程 设设 计计 说说 明明 书书 学生姓名学生姓名:张又木 学学 号:号: 0906044112 学学 院院: 电子与计算机科学技术学院 专专 业业:电子科学与技术 题题 目目:利用按键开关控制液晶显示器进行十六进制数字显示 指导教师:指导教师: 焦新泉焦新泉 职称职称: 讲师讲师 2012 年 6 月 20 日 - 1 - 目 录 1 1、课程设计目的、课程设计目的22 2 2、课程设计内容和要求、课程设计内容和要求22 2.12.1、设计内容设计内容22 2.22.2、设计要求设计要求22 3 3、 设计方案及实现情况设计方案及实现情况22 3.13.1、设计思路
2、设计思路22 3.23.2、工作原理及框图工作原理及框图22 3.33.3、各模块功能描述各模块功能描述44 3.43.4、仿真结果仿真结果1515 3.53.5、实验箱验证情况实验箱验证情况1717 4 4、课程设计总、课程设计总 结结1818 5 5、参考文、参考文 献献1818 - 2 - 1 1、课程设计目的、课程设计目的 1.学习操作数字电路设计实验开发系统,掌握液晶显示模块的工作原理及应用。 2.掌握组合逻辑电路、时序逻辑电路的设计方法。 3.学习掌握可编程器件设计的全过程 2 2、课程设计内容和要求、课程设计内容和要求 2.12.1、设计内容、设计内容 1学习掌握按键开关控制模块
3、、液晶显示模块的工作原理及应用; 2. 熟练掌握 VHDL 编程语言,编写按键开关控制模块的控制逻辑; 3. 仿真所编写的程序,模拟验证所编写的模块功能; 4. 下载程序到芯片中,硬件验证所设置的功能,能够实现十六进制数字的显示; 5. 整理设计内容,编写设计说明书。 2.22.2、设计要求、设计要求 1本课程设计说明书。 2VHDL 源程序及内部原理图。 3该设计可以在实验箱上正常工作并演示。 3 3、设计、设计方案和实现情况方案和实现情况 3.13.1、设计思路、设计思路 对于这个题目,首先对试验箱上的时钟频率进行降频,因为试验箱上的时钟频率很高, 而液晶系统并不需要很高的时钟频率,并且低
4、频时钟更加有利于消抖功能的实现,其次对所 使用的按键进行消抖处理,然后将消抖处理后的按键信号直接送入按键计数模块进行计数, 再将按键计数模块的计数结果送往译码显示模块,严格按照液晶 OCMJ 的显示时序将要显示 的数据的行坐标,列坐标和数据对应的在 BUSY 信号不为高的情况下,通过数据线送出,然 后在 REQ 信号线上送出一个高脉冲,将数据显示在液晶 OCMJ 上。 3.23.2、工作原理及框图、工作原理及框图 总体工作原理:在经过分频的时钟信号的驱动下,利用按键计数模块对进行了消抖处理 - 3 - 后的按键信号进行计数,然后将计数数据送给译码液晶显示模块,进而驱动液晶屏幕进行数 据的显示。
5、系统总体原理图如图 1 所示。 图 1 系统总体原理图 液晶显示器工作原理: OCMJ 中文模块系列液晶显示器内含 GB 2312 16*16 点阵国标一 级简体汉字和 ASCII8*8(半高)及 8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。OCMJ 中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形 和变化曲线的同屏显示,并可通过字节点阵图形方式造字。 由于显示的是十六进制数字,故只须掌握接口协议和其中一条用户命令。接口协议为请 求/应答(REQ/BUSY)握手方式。应答 BUSY 高电平(BUSY =1) 表示 OCMJ 忙于内部处理, 不能接
6、收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命 令到 OCMJ 可在 BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着 发高电平 REQ 信号(REQ =1)通知 OCMJ 请求处理当前数据线上的命令或数据。OCMJ 模块在 收到外部的 REQ 高电平信号后立即读取数据线上的命令或数据,同时将应答线 BUSY 变为高 电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已 经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应 答线 BUSY 是否为低(BUSY =0?)
7、 ,如果 BUSY =0,表明模块对用户的写操作已经执行完毕。 可以再送下一个数据。 液晶显示器显示 8X8ASCII 字符命令: 格式:F1 XX YY AS 该命令为 4 字节命令(最大执行时间为 0.8 毫秒,Ts2=0.8mS) ,其中 XX:为以 ASCII 码 为单位的屏幕行坐标值,取值范围 00 到 0F、04 到 13、00 到 - 4 - 13; YY:为以 ASCII 码为单 位的屏幕列坐标值,取值范围 00 到 1F、00 到 3F、00 到 4F; AS:坐标位置上要显示的 ASCII 字符码。 OCMJ 液晶控制时序图如图 2 所示: 3.33.3、各模块功能描述各模
8、块功能描述 说明书要求: 图 2 OCMJ 液晶控制时序图 3.33.3、各模块功能描述、各模块功能描述 总原理图如图 3 所示: 图 3 总原理图 模块一:分频模块 - 5 - 图 4 分频模块符号 利用 VHDL 语言生成的分频符号如图 4 所示,clk 和 rst 分别是输入的时钟信号引脚和复 位引脚,clkout 是分频后的时钟输出引脚。本模块使用 13 位计数常量分频,可以将试验箱 上 1.25MHZ 的时钟频率降到 150HZ 左右,这足以驱动液晶工作。代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_log
9、ic_unsigned.all; use ieee.std_logic_arith.all; entity fenpin is port( clk,rst:in std_logic; clkout:out std_logic ); end fenpin; architecture fenpin_behave of fenpin is signal inclk: std_logic_vector(12 downto 0); signal inner: std_logic; begin process(clk,rst) begin if rst = 0 then inclk dout -状态 s1
10、 到 s6 同上 - 8 - dout dout dout dout dout dout dout dout -req 输出一个高脉冲 req req if busy = 0 then dout req - 13 - req-写列坐标 if busy=1 then state req req-写行坐标 if busy=1 then state req req if busy=1 then state dout dout dout dout dout dout dout dout dout dout dout dout - 15 - dout dout dout dout dout req re
11、q state=st0; end case; end if; end process; end disply_arch; 3.43.4、仿真结果、仿真结果 1.分频器仿真如图 8 所示: - 16 - 图 8 分频器功能仿真波形图 2.消抖模块仿真如图 9 所示: 图 9 消抖模块功能仿真波形图 说明:通过仿真可以看出,当按键时间适当的时候,dout 端出现了一个低脉冲,而当按 键时间过短的时候,此时 din 输入的低脉冲被当作毛刺,而持续按键的时候,dout 会出现连 续规律的低脉冲。这种消抖方式比较符合实际需要。 3.计数模块仿真如图 10 所示: 图 10 计数模块功能仿真波形图 4.译
12、码及显示模块仿真如图 11 所示: - 17 - 图 11 译码及显示模块功能仿真波形图 说明:通过仿真波形图可以看出,如果假设 busy 一直为低,那么当 din 输入 0010 即 2 的时候,输出端依次输出 F1(ASCII 码命令字) 、0F(行坐标) 、01(列坐标) 、和 32(2 的 ASCII 码) ,同时在每次输出的时候还在 req 给出一个高脉冲。因此,此程序是可行的。 5.总体仿真如图 12 所示: 图 12 总体仿真波形图 3.53.5、实验箱验证情况实验箱验证情况 试验箱验证情况如图 13 所示: - 18 - 图 13 试验箱验证图 4 4、课程设计总结课程设计总结
13、 通过本次课程设计,我熟练的掌握了使用 QuartusII 软件进行可编程逻辑器件的开发流 程,我巩固了对 VHDL 语法和基本语句的掌握,并且真正学会了分析任务,发现问题,分析 - 19 - 问题,解决问题的能力。此外,我还意识到和同学相互交流的重要性,只有通过不断的和别 人的交流,才能逐渐的发现别人的某些想法的先进性,为己所用。 然而,通过这次课程设计我也发现的不少问题,对于自身而言,在调试程序的过程中在 遇到难以解决的问题时,总是缺乏耐心,容易急躁;对于基础的东西,总是不屑于去学,最 后也总是在这方面栽跟头;另外一点要提出的是实验室里的试验箱大部分液晶不可用,而且 缺少说明书,这导致大家在课设过程中遇到很大的问题。 5 5、参考文献参考文献 (1)侯伯亨,顾新.VHDL 硬件描述语言与数字逻辑电路设计. 西安:西安电子科技大学 出版社,1999 (2)求是科技.CPLD/FPGA 应用开发技术与工程实践. 北京:人民邮电出版社,2005 (3)罗苑棠.CPLD/FPGA 常用模块与综合系统设计实例精讲. 北京:电子工业出版社, 2007 (4)任勇峰,庄新敏.VHDL 与硬件实现速成.北京:国防工业出版社,2005
链接地址:https://www.31doc.com/p-2505691.html