《FPGA 实验报告 LCD12864液晶显示 》.doc

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

液晶显示实验 一 实验要求 所有程序必须由verilog语言编写,同时需要通过按键切换屏幕显示文字,一页全是英文,一页全是中文。我的文字是我的的课程、班级、学号和姓名。 二 实验原理 1.12864简介 12864系列中文图形液晶模块的特性主要由其控制器决定。 同时作为控制器和驱动器,它可提供 33 路 com 输出和 64 路 seg 输出。在驱动器的配合下,最多可以驱动 256×32 点阵液晶。8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。LCD类型为STN与MCU接口为8位或4位并行/3位串行可实现光标显示、画面移位、自定义字符、睡眠模式等多种软件功能。 其原理简图为: 其引脚说明如下图所示: 引脚号 引脚名称 方向 功能说明 1 VSS - 模块的电源地 2 VDD - 模块的电源正端 3 V0 - LCD驱动电压输入端 4 RS(CS) H/L 并行的指令/数据选择信号;串行的片选信号 5 R/W(SID) H/L 并行的读写选择信号;串行的数据口 6 E(CLK) H/L 并行的使能信号;串行的同步时钟 7 DB0 H/L 数据0 8 DB1 H/L 数据1 9 DB2 H/L 数据2 10 DB3 H/L 数据3 11 DB4 H/L 数据4 12 DB5 H/L 数据5 13 DB6 H/L 数据6 14 DB7 H/L 数据7 15 PSB H/L 并/串行接口选择:H-并行;L-串行 16 NC 空脚 17 /RET H/L 复位 低电平有效 18 NC 空脚 19 LED_A - 背光源正极(LED+5V) 20 LED_K - 背光源负极(LED-OV) 2.12864工作时序原理图 8位并行连接时序图,分为MPU写资料到模块与MPU从模块读出资料 MPU写资料到模块 MPU从模块读出资料 串行数据传送共分三个字节完成: 第一字节:串口控制—格式 11111ABC A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令 C固定为0 第二字节:(并行)8位数据的高4位—格式 DDDD0000 第三字节:(并行)8位数据的低4位—格式 0000DDDD 串行接口时序参数:(测试条件:T=25℃ VDD=4.5V) 三 实验流程图及管脚分配 初始化流程: 流程简易图: 管教分配图: 四 实验程序 主要程序: module lcd_test( clk, key,rs,rw,en,psb,reset,sel,dat); input clk; input key; output rs; output rw; output en; output psb; output reset; output [7:0] dat; output [2:0] sel; wire [127:0] row1_val=xx:xxx ; wire [127:0] row2_val=xx:xxxxxxxxxx ; wire [127:0] row3_val= xxxxxx ; wire [127:0] row4_val=xx:xxxxxxxx ; wire [127:0] row5_val=xxxx:xxxxxxxxxxx; wire [127:0] row6_val=NUMB:xxxxxxxxxx; wire [127:0] row7_val= EDA ; wire [127:0] row8_val=CLASS wire [127:0] row1; wire [127:0] row2; wire [127:0] row3; wire [127:0] row4; assign sel=3b110; assign psb = 1; assign reset = 1; assign row1=(key==1b1)?(row1_val):(row5_val); assign row2=(key==1b1)?(row2_val):(row6_val); assign row3=(key==1b1)?(row3_val):(row7_val); assign row4=(key==1b1)?(row

文档评论(0)

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

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

1亿VIP精品文档

相关文档