LCD1602液晶显示实验报告
LCD1602液晶显示实验报告
一、实验目的
1了解LCD1602的基本原理,掌握其基本的工作流程。2学习用VerilogHDL语言编写LCD1602的控制指令程序,能够在液晶屏上显示出正确的符号。3能够自行改写程序,并实现符号的动态显示。
二、实验设备与器件
QuartusII软件、EP2C8Q208C8实验箱
三、实验方案设计
1实验可实现的功能
可以实现在LCD1602液晶屏第一行左侧第一位的位置循环显示09,并且可以用一个拨码开关BM8实现显示的复位功能。
2LCD1602基本知识
LCD1602液晶能够同时显示16x02即32个字符,模块内部的字符发生存储器CGROM已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如“A”。1602通过D0D7的8位数据端传输数据和指令。
3系统工作原理
系统的状态转换流程图如图311所示。通过状态流程图可以看到,LCD1602液晶屏的状态是不断更新的,依次完成液晶的初始化和09的动态显示过程,并且过程可由开关控制。
1
f4程序设计
LCD1602液晶显示实验报告
开始IDLEDISP_SET显示模式设置DISP_OFF显示关闭
CLR_SCR显示清屏CUTSOR_SET1显示
光标移动设置
CURSOR_SET2显示开关及光标设置
ROW1_ADDR写第一行起始地址
ROW1_0字符显示位置不移动
数字09依次显示N
拨码复位?Y
结束
图311状态流程图
moduleLCD1602
i
put
clk
50MHz时钟
i
put
rst_
开关信号
outputreg70lcd_data
数据总线
output
lcd_e
使能信号
outputreg
lcd_rs
指令、数据选择
output
lcd_rw
读、写选择
output
SEL0
LCD1602读写选择
output
SEL1
LCD1602读写选择
output
SEL2
LCD1602读写选择
reg127120row1_val
第一行字符
reg230c
tc
t1
assig
SEL01b0
assig
SEL11b0
assig
SEL21b1
alwaysposedgeclk
egedgerst_
2
fLCD1602液晶显示实验报告
ifrst_
c
t0
else
c
tc
t1b1
wirelcd_clkc
t23
22350M0168s
alwaysposedgelcd_clk
ifc
t124d2
begi
reglcd_clk1
lcd_clk11
c
t10
e
d
else
begi
c
t1c
t11
c
t1对lcd_clk二分频
lcd_clk10
e
d
alwaysposedgelcd_clk1
begi
row1_val8h30设初值
caserow1_val
数字09循环显示
8h30row1_val8h31
8h31row1_val8h32
8h32row1_val8h33
8h33row1_val8h34
8h34row1_var