(整理)利用按键开关控制液晶显示器进行十六进制数字显示说明书.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中北大学

课程设计说明书

学生姓名:张又木学号: 0906044112

学院: 电子与计算机科学技术学院

专业: 电子科学与技术

题目: 利用按键开关控制液晶显示器进行十六进制数字显示

指导教师:焦新泉职称: 讲师

2012 年 6 月 20 日

目录

1、课程设计目的 (2)

2、课程设计内容和要求 (2)

2.1、设计内容 (2)

2.2、设计要求 (2)

3、设计方案及实现情况 (2)

3.1、设计思路 (2)

3.2、工作原理及框图 (2)

3.3、各模块功能描述 (4)

3.4、仿真结果 (15)

3.5、实验箱验证情况 (17)

4、课程设计总结 (18)

5、参考文献 (18)

1、课程设计目的

1.学习操作数字电路设计实验开发系统,掌握液晶显示模块的工作原理及应用。

2.掌握组合逻辑电路、时序逻辑电路的设计方法。

3.学习掌握可编程器件设计的全过程

2、课程设计内容和要求

2.1、设计内容

1.学习掌握按键开关控制模块、液晶显示模块的工作原理及应用;

2. 熟练掌握VHDL编程语言,编写按键开关控制模块的控制逻辑;

3. 仿真所编写的程序,模拟验证所编写的模块功能;

4. 下载程序到芯片中,硬件验证所设置的功能,能够实现十六进制数字的显示;

5. 整理设计内容,编写设计说明书。

2.2、设计要求

1.本课程设计说明书。

2.VHDL源程序及内部原理图。

3.该设计可以在实验箱上正常工作并演示。

3、设计方案和实现情况

3.1、设计思路

对于这个题目,首先对试验箱上的时钟频率进行降频,因为试验箱上的时钟频率很高,而液晶系统并不需要很高的时钟频率,并且低频时钟更加有利于消抖功能的实现,其次对所使用的按键进行消抖处理,然后将消抖处理后的按键信号直接送入按键计数模块进行计数,再将按键计数模块的计数结果送往译码显示模块,严格按照液晶OCMJ的显示时序将要显示的数据的行坐标,列坐标和数据对应的在BUSY信号不为高的情况下,通过数据线送出,然后在REQ信号线上送出一个高脉冲,将数据显示在液晶OCMJ上。

3.2、工作原理及框图

总体工作原理:在经过分频的时钟信号的驱动下,利用按键计数模块对进行了消抖处理后的按键信号进行计数,然后将计数数据送给译码液晶显示模块,进而驱动液晶屏幕进行数据的显示。系统总体原理图如图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、各模块功能描述

说明书要求:

图2 OCMJ液晶控制时序图

3.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 clk'event and clk = '1' then --每来一个上升沿,inclk加一if inclk = "1111111111111" then

inner <= not inner; --当inclk加满的时候,inner取反

inclk <= inclk + 1;

else

inclk <= inclk + 1;

end if;

end if;

end process;

clkout <= inner;

end fenpin_behave;

相关文档
最新文档