利用按键开关控制液晶显示器进行十六进制数字显示的说明 书.doc

利用按键开关控制液晶显示器进行十六进制数字显示的说明 书.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用按键开关控制液晶显示器进行十六进制数字显示的说明 书

中北大学 课 程 设 计 说 明 书 ? ? ? 学生姓名: 张又木 学 号: ?0906044112 学 院: ?电子与计算机科学技术学院 专 业: 电子科学与技术? 题 目: 利用按键开关控制液晶显示器进行十六进制数字显示 ? ? ? 指导教师: 焦新泉 职称: 讲师 ? ? ? ? 2012 年 6 月 20 日 目 录 1、、设计内容要求 2.1、2.2、、?设计方案、设计思路2、工作原理及图3.3、4、、、 5、参考文献 1、、设计内容要求 VHDL编程语言,编写按键开关控制模块的控制逻辑; 3. 仿真所编写的程序,模拟验证所编写的模块功能; 4. 下载程序到芯片中,硬件验证所设置的功能,能够实现十六进制数字的显示; 5. 整理设计内容,编写设计说明书。? 2.2、设计要求 1.本课程设计说明书。 2.VHDL源程序及内部原理图。 3.该设计可以在实验箱上正常工作并演示。 3、设计 3.1、设计思路、 图1 系统总体原理图 液晶显示器工作原理: OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和 ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。 由于显示的是十六进制数字,故只须掌握接口协议和其中一条用户命令。接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1) 表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。 液晶显示器显示8X8ASCII字符命令: 格式:F1 XX YY AS 该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),其中 XX:为以ASCII码 为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13; YY:为以ASCII码为单 位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F; AS:坐标位置上要显示的ASCII 字符码。 OCMJ液晶控制时序图如图2所示: 3.3、、 图3 总原理图 模块一:分频模块 图4 分频模块符号 利用VHDL语言生成的分频符号如图4所示,clk和rst分别是输入的时钟信号引脚和复位引脚,clkout是分频后的时钟输出引脚。本模块使用13位计数常量分频,可以将试验箱上1.25MHZ的时钟频率降到150HZ左右,这足以驱动液晶工作。代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_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 = 0000000000000; inner = 0; elsif clkevent and clk = 1 then --每来一个上升沿,inclk加一 if inclk = 1111111111111 then inner = not inner; --当inclk加满的时候,inner取反 inclk = inclk + 1; else inclk = inc

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档