利用拨码开关控制液晶显示器进行ASIC字符显示

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

中北大学

课程设计说明书

学生姓名:甘世伟学号:04

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

专业: 微电子学

题目: 利用拨码开关控制液晶显示器进行ASIC字符显示

指导教师:王红亮职称: 讲师

2010 年 6 月 25 日

目录

表—1:OCMJ2X8(128X32)引脚说明....................- 12 -硬件接口 ..................................................................................................................................................................... - 13 -四、电性能参数 ......................................................................................................................................................... - 13 -1)表—1模块时间参数表.........................- 13 -2)表—2模块主要电气参数表.......................- 14 -用户命令 ..................................................................................................................................................................... - 14 -外型尺寸图(图11) .............................................................................................................................................. - 15 -6.附录:液晶显示器简介 (13)

1、课程设计目的

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

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

(3)学习掌握可编程器件设计的全过程。

2、课程设计内容和要求:

、设计内容

用VHDL语言编写程序,利用拔码开头控制液晶显示器进行ASIC字符显示。

、设计要求

(1)学习掌握拔码开头控制模块、液晶显示模块的工作原理及应用;

(2)熟练掌握VHDL编程语言,编写键盘控制模块的控制逻辑;

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

(4)下载程序到芯片中,硬件验证所设置的功能,能够实现ASIC字符的显示;

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

3、设计方案及实现情况

、设计思路

运用VHDL语言进行各个模块的程序编写,该设计共有四个模块分别为:拨码模块;消抖模块;译码模块;显示模块.整个、模块共有四个单元电路组成为:图1

图1 原理图

、工作原理及框图

图2 系统电路原理图

、各模块功能描述

(1)拨码模块程序代码为:

library ieee;

use bm1 is

port(

rst:in std_logic;

译码

消抖液晶显示

拨码控制

xd: in std_logic;

clk: in std_logic;

xdout: out std_logic );

end bm1;

architecture a of bm1 is

signal count:integer range 0 to 100; begin

process(clk,rst,xd)

begin

if(rst='0')then

count<=0;

xdout<='0';

elsif(clk'event and clk='1')then

if(count=5)then

count<=0;

xdout<=not xd;

else

count<=count+1;

end if;

end if;

end process;

end a;

(2)消抖模块程序代码为:

Library ieee;

use xd is

port(

aj:in std_logic;

rst:in std_logic;

ajout:out std_logic_vector(4 downto 0)

end xd;

architecture ajwork of xd is

signal q: std_logic;

signal count : std_logic_vector(4 downto 0); begin

q<=aj when rst='1'else '0';

process(q,rst)

begin

if(rst='0')then

count<="00000";

elsif q'event and q='1' then

if count="11111" then

count<="00000";

else

count<=count+1;

end if;

end if;

ajout<=count;

end process;

end ajwork;

(3)译码模块程序代码为:

library ieee;

use ym1 is

port(ym:in std_logic_vector(4 downto 0);

Y:out std_logic_vector(7 downto 0));

end ym1;

architecture yima_arch of ym1 is

signal a:std_logic_vector(4 downto 0);

begin

相关文档
最新文档