唐 山 学 院 毕 业 设 计
表3-2续 8051单片机复位后特殊功能寄存器的初始状态[1]
特殊功能寄存器
PSW SP DPL DPH P0~P3 IP IE
初始状态
00H 07H 00H 00H FFH ***00000B 0**00000B
特殊功能寄存器
TH0 TL0 TH1 TL1 SBUF SCON PCON
初始状态
00H 00H 00H 00H 不定 00H 0*******B
注:表中的符号*为随机状态
需要指出的是,记住一些特殊功能寄存器复位后的状态,对于熟悉单片机操作,减短应用程序中的初始化部分是十分必要的。
3.3 AT89C51液晶显示模块的连接
3.3.1液晶显示器LCD1602简介
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本系统使用是是LCD1602液晶显示器,它可以显示两行,每行16个字符,采用单+5V电源电,外围电路配置简单,价格便宜,具有很高的性价比。LCD1602外观如图3-7所示。
图3-7 LCD1602外观
9
唐 山 学 院 毕 业 设 计
LCD1602采用标准的14脚接口,其中VSS为地电源,VDD接5V正电源,VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0~D7为8位双向数据线。LCD1602液晶模块内部的控制器共有11条控制指令,具体的命令见表3-3所示。
表3-3 LCD1602控制指令
1 2 3 4 5 6 7 8 9 10 11
指 令
RS 0 0 0 0 0 0 0 0 0 1 1
R/W 0 0 0 0 0 0 0 0 1 0 1
D7 0 0 0 0 0 0 0 1 BF
D6 0 0 0 0 0 0 1
D5 0 0 0 0 0 1
D4 0 0 0 0 1 DL
D3 0 0 0 1 S/C N
D2 0 0 1 D R/L F
D1 0 1 I/D C * *
D0 1 * S B * *
清屏
光标复位
光标和显示模式设置
显示开关控制 光标或字符移位
置功能
置字符发生存贮器地址 置数据存贮器地址 读忙标志或地址 写入CGRAM/DDRAM 读CGRAM/ DDRAM数
字符发生存贮器地址(AGG) 显示数据存贮器地址(ADD)
计数器地址(AC) 要写的数 读出的数据
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (1)清屏指令 功能:
1) 清除液晶显示器,即将DDRAM的内容全部填入“空白”的ASCII码20H; 2)光标归位,即将光标撤回液晶显示屏的左上方; 3) 将地址计数器(AC)的值设为0; 2. 光标复位指令 功能:
1) 把光标撤回到显示器的左上方; 2)把地址计数器(AC)的值设置为0; 3)保持DDRAM的内容不变;
10
唐 山 学 院 毕 业 设 计
(3) 光标和显示模式设置指令 功能:
设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的情况表3-4所示。
表3-4 显示模式设置指令参数设定
位名 I/D
设置
0=写入新数据后光标左移 1=写入新数据后光标右移
S
0=写入新数据后显示屏不移动 1=写入新数据后屏整体右移1个字符
(4)显示开关控制指令 功能:
控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如表3-5。
表3-5 显示开关控制指令参数设定
位名 D C B
(5)设定显示屏或光标移动方向指令 功能:
设置 0=显示功能关 1=显示功能开 0=无光标 1=有光标 0=光标闪烁 1=光标不闪烁
使光标移位或使整个显示屏幕移位。参数设定的情况如表3-6。
表3-6 设定显示屏或光标移动方向指令参数设定
S/C 0 0 1 1
R/L 0 1 0 1
设定情况
光标左移1格,且AC值减1 光标右移1格,且AC值加1 显示器上字符全部左移一格,但光标不动 显示器上字符全部右移一格,但光标不动
11
唐 山 学 院 毕 业 设 计
(6)功能设定指令 功能:
设定数据总线位数、显示的行数及字型。参数设定的情况如表3-7。
表3-7 功能设定指令参数设定
位名 DL
设置
0=数据总线为4位 1=数据总线为8位
N
0=显示1行 1=显示2行
F
0=5×7点阵/每字符 1=5×10点阵/每字符
(7)设定CGRAM地址指令 功能:
设定下一个要存入数据的CGRAM的地址。 (8)设定DDRAM地址指令 功能:
设定下一个要存入数据的CGRAM的地址。 (9)读取忙信号或AC地址指令 功能:
1) 读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;当BF=0时,液晶显示器可以接收单片机送来的数据或指令;
2)读取地址计数器(AC)的内容。
(10)数据写入DDRAM或CGRAM指令一览 功能:
1) 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符; 2)将使用者自己设计的图形存入CGRAM; (11)从CGRAM或DDRAM读出数据的指令一览 功能:
读取DDRAM或CGRAM中的内容。
12

