MOV MOV INC MOV MOVC MOV MOV SETB INC MOV MOVC MOV
R5,A TH1,A DPTR A,#00H
A,@A+DPTR R6,A TL1,R6
TR1 DPTR A,#00H
A,@A+DPTR R3,#80H R4,#0FFH
R4,LOOP3 R3,LOOP2 R2,LOOP1 R2,A
LOOP1: MOV LOOP2: MOV LOOP3: DJNZ
DJNZ DJNZ INC MOV LJMP PUSH PUSH CPL MOV MOV SETB POP POP POP RETI
DPTR A,#00H
LOP DPL ACC
DPH
INT_0: PUSH
P2.6 TH1,R5 TL1,R6 ACC DPL DPH
TR1
TONE: DB 0FCH,2FH,04H,0FCH,99H,04H,0FCH,0F8H,04H,0FDH,22H,04H
DB 0FDH,073H,04H,0FDH,0BCH,04H,0FDH,0FAH,04H,0FEH,17H,04H
DB 0FEH,17H,04H,0FDH,0FAH,04H,0FDH,0BCH,04H,0FDH,73H,04H,0FDH,22H,04H,DB 0FCH,0F8H,04H,0FCH,99H,04H,0FCH,2FH,04H,00H,00H,00H END
五、思考题
1、改编一首完整的新的歌曲。
31
实验五 128×64 点阵型液晶显示实验
一、实验目的
1、了解点阵型液晶显示器的工作原理。 2、了解点阵型液晶显示器控制方式。 二、实验原理
1、SMG12864D3 液晶显示模块的概述:
SMG12864D3标准图形点阵型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示128X64点阵,点尺寸为0.39X0.55(WXH)mm,内置 KS0108B 接口型液晶显示控制器,可与 MCU 单片机直接连接,广泛应用于各类仪器仪表及电子设备。 2、SMG12864D3 液晶显示模块的主要技术参数:
产品型号 显示模式 工作温度 存储温度 工作电压 工作电流 颜色 电流 SMG12864D3 黄绿模 宽温-20~+60℃ -30~+70℃ 4.8~5.2V 5.0mA,5.0V 黄绿 30mA
3、SMG12864D3 液晶显示模块的接口信号说明: 编号 符号 引脚说明 1 2 3 4 5 6 7 8 9 10
CS2 片选IC2信号 CS1 片选IC1信号 VSS 电源地
编号 符号 引脚说明 11 12 13 14 15
DB2 DB3 DB4 DB5 DB6 DB7
Data I/O Data I/O Data I/O Data I/O Data I/O Data I/O
VDD 电源正极(+5V) V0 RS RW E DB0 DB1
LCD偏压输入
数据/命令选择端(H/L) 16 读写控制信号(H/L) 使能信号 Data I/O Data I/O
17 18 19 20
/RESET 复位端 VEE 负压输出 BLA 背光源正极 BLK 背光源负极
4、控制器接口说明(KS108B 及兼容芯片) 1) 基本操作时序:
1.1 读状态:输入:RS=L,R/W=H,CS1或CS2=H,E=H 输出:D0~D7=状态字 1.2 写指令:输入:RS=L,R/W=L,D0~D7=指令码,CS1或CS2=H,E=高脉冲 输出:无 1.3 读数据:输入:RS=H,R/W=H,CS1或CS2=H,E=H 输出:D0~D7=数据
32
1.4 写数据:输入:RS=H,R/W=L,D0~D7=数据,CS1或CS2=H,E=高脉冲 输出:无 2) 状态字说明
STA7 STA6 STA5 STA4 STA3 STA2 STA1 STA0 D7
D6
D5
D4
D3
D2
D1
D0
STA0-4 未用
STA5 液晶显示状态 1: 关闭 0: 显示 STA6 未用
STA7 读写操作使能 1: 禁止 0: 允许
注:对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0 3) RAM地址映射图
LCD 显示屏由两片控制器控制,每个内部带有8X64位(512字节)的 RAM 缓冲区,对应关系如图所示:
4) 指令说明 4.1 初始化设置 4.1.1 显示开/关设置 指令码 功能 3EH 关显示 3FH 开显示 4.1.2 显示初始行设置 指令码 功能
33
0C0H 设置显示初始行 4.2 数据控制
控制器内部设有一个数据地址页指针和一个数据地址列指针,用户可通过它们来访问内部的全部512字节RAM。 4.2.1 数据指针设置 指令码
功能
0B8H+页码(0~7) 设置数据地址页指针 40H+列码(0~63) 设置数据地址列指针 4.2.2 读数据:见1.3 4.2.3 写数据:见1.4 5 初始化过程
5.1 写指令0C0H: 设置显示初始行。 5.2 写指令3FH:开显示。 三、实验内容和步骤
1、将LCD12864插入电路板的接口4的上排位置。(注意:板上接口4的上排位是LCD12864的接口,下排位是LCD1602的接口,排针和排母左对齐插入!切勿插错!) 2、全速运行程序,显示内容:有限公司(四行二列) 四、程序流程图和程序清单 1、程序流程图
34
2、程序清单
XPOS EQU 20H ;列方向地址指针(用于LCDPOS子程序) YPOS EQU 21H ;行方向地址指针(用于LCDPOS子程序) RSPIN EQU P3.6
RWPIN EQU P3.5 ; EPIN EQU P3.3 ; CS1PIN EQU P3.7 ; CS2PIN EQU P2.4 ; ORG 0000H
JMP START START: MOV SP,#60H
MAIN: CALL LCDRESET MOV A,#55H CALL LCDFILL
MOV DPTR,#STRING1 CALL PUTSTR CALL PUTSTR JMP MAIN DELAY400MS:
MOV R0,#50 DL4_PA: MOV R1,#100 DL4_PB: MOV R2,#100 DJNZ R2,$
DJNZ R1,DL4_PB DJNZ R0,DL4_PA RET DELAY: MOV R6,#2
DLY_PA: MOV R5,#0 DLY_PB: MOV R4,#0 DJNZ R4,$
DJNZ R5,DLY_PB DJNZ R6,DLY_PA RET
GETSTRCHAR: GSC_PA: CLR A
MOVC A,@A+DPTR INC DPTR MOV B,A INC A CLR C
JZ GSC_LAX CLR A
;延时子程序 35