LCD1602液晶显示实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LCD1602 LCD1602 液晶显示实验报告 PAGE PAGE 1 LCD1602 液晶显示实验报告 一、实验目的 了解 LCD1602 的基本原理,掌握其基本的工作流程。 学习用 Verilog HDL 语言编写 LCD1602 的控制指令程序,能够在液晶屏上显示出正确的符号。 能够自行改写程序,并实现符号的动态显示。 二、实验设备与器件 Quartus II 软件、EP2C8Q208C8 实验箱 三、实验方案设计 实验可实现的功能 可以实现在 LCD1602 液晶屏第一行左侧第一位的位置循环显示 0~9,并且可以用一个拨码开关 BM8 实现显示的复位功能。 LCD1602 基本知识 LCD1602 LCD1602 液晶能够同时显示 16x02 即 32 个字符,模块内部的字符发生 存储器 (CGROM) 已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符 都有一个固定的代码, 比如大写的英文字母 “A”的代码是(41H ), 显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母 “A”。因为 1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如 “A”。1602 通过 D0~D7 的 8 位数据端传输数据和指令。 3.系统工作原理 系统的状态转换流程图如图 3.1.1 所示。通过状态流程图可以看到, LCD1602 液晶屏的状态是不断更新的,依次完成液晶的初始化和 0~9 的动态显示过程,并且过程可由开关控制。 开始IDLE DISP_SET显示模式 设置DISP_OFF显示关闭 CLR_SCR显示清屏 CUTSOR_SET1显示 光标移动设置 CURSOR_SET2显示 开关及光标设置 ROW1_ADDR写第一行起始地址 ROW1_0字符显示位置不移动 数字0~9依次显示 N 拨码复位? Y 结束 图 3.1.1 状态流程图 程序设计 module LCD1602( input clk, // 50MHz 时钟 input rst_n, //开关信号 output reg [7:0] lcd_data, // 数据总线 output lcd_e, // 使能信号 output reg lcd_rs, // 指令、数据选择 output lcd_rw, // 读、写选择 output SEL0, // LCD1602 读写选择 output SEL1, // LCD1602 读写选择 output SEL2 // LCD1602 读写选择 ); reg [127:120] row1_val; // 第一行字符 reg [23:0] cnt,cnt1; assign SEL0 = 1b0; assign SEL1 = 1b0; assign SEL2 = 1b1; always @ (posedge clk, negedge rst_n) if (!rst_n) cnt = 0; else cnt = cnt + 1b1; wire lcd_clk = cnt[23]; // (2^23 / 50M)=0.168s always@(posedge lcd_clk) if(cnt1=24d2) begin reg lcd_clk1; lcd_clk1=1; cnt1=0; end else begin cnt1=cnt1+1; //cnt1 对 lcd_clk 二分频lcd_clk1=0; end always@(posedge lcd_clk1) begin row1_val=8h30;//设初值 case(row1_val) //数字 0~9 循环显示8h30: row1_val=8h31; 8h31: row1_val=8h32; 8h32: row1_val=8h33; 8h33: row1_val=8h34; 8h34: row1_val=8h35; 8h35: row1_val=8h36; 8h36: row1_val=8h37; 8h37: row1_val=8h38; 8h38: row1_val=8h39; 8h39: row1_val=8h30; default: row1_val=8h30; endcase end parameter IDLE = 8h00; parameter DISP_SET = 8h01; // 显示模式设置parameter DISP_OFF = 8h03; // 显示关闭parameter CLR_SCR = 8h02; // 显示清屏 parameter CURSOR_SET1 = 8h

文档评论(0)

dqy118 + 关注
官方认证
内容提供者

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

认证主体上海海滋实业有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7DL1JF2N

1亿VIP精品文档

相关文档