用普通IO驱动LCD的控制方法-松瀚汇编源程序

/***************************************

本例程为IO直接驱动LCD的方法

以下是松瀚MCU汇编源程序

****************************************/

LCD 图形如下:

用普通IO驱动LCD的控制方法-松瀚汇编源程序

LCD真值表如下:用普通IO驱动LCD的控制方法-松瀚汇编源程序

;源程序如下:
;驱动IO定义
P_COM3 EQU P5.4
P_COM2 EQU P5.3
P_COM1 EQU P5.2
PM_COM3 EQU P5M.4
PM_COM2 EQU P5M.3
PM_COM1 EQU P5M.2 P_SEG1 EQU P0.4
P_SEG2 EQU P0.5
P_SEG3 EQU P0.6
P_SEG4 EQU P0.7
P_SEG5 EQU P5.0
P_SEG6 EQU P5.1 ;变量定义
C_FR DS 1 ;液晶扫描状态
R_DSPCOM1 DS 1
R_DSPCOM2 DS 1
R_DSPCOM3 DS 1 R_BITI DS 1 ;中断服务程序 INT_T0: ; T0中断定时1MS 依次扫描八个状态
B0BTS1 FT0IRQ
RETI
B0BCLR FT0IRQ
B0BTS1 FT0IEN
RETI
PUSH ;以下是LCD显示扫描
MOV A,#256-32
B0MOV T0C,A ;以下是LCD显示扫描
INCMS C_FR
NOP
MOV A,C_FR
SUB A,#6
B0BTS0 FC
CLR C_FR B0BCLR PM_COM1
B0BCLR PM_COM2
B0BCLR PM_COM3 MOV A,C_FR
AND A,#0X07
@JMP_A 6
JMP A_COM0
JMP A_COM1
JMP A_COM2
JMP A_COM3
JMP A_COM4
JMP A_COM5
JMP A_COM5
JMP A_COM5 A_COM0:
B0BSET PM_COM1
B0BCLR P_COM1 ;低电平驱 MOV A,R_DSPCOM1 JMP A_SEG
A_COM1:
B0BSET PM_COM2
B0BCLR P_COM2 ;低电平驱 MOV A,R_DSPCOM2 JMP A_SEG
A_COM2:
B0BSET PM_COM3
B0BCLR P_COM3 ;低电平驱 MOV A,R_DSPCOM3 JMP A_SEG A_COM3:
B0BSET PM_COM1
B0BSET P_COM1 ;高电平驱 MOV A,R_DSPCOM1
XOR A,#0XFF JMP A_SEG
A_COM4:
B0BSET PM_COM2
B0BSET P_COM2 ;高电平驱 MOV A,R_DSPCOM2
XOR A,#0XFF JMP A_SEG
A_COM5:
B0BSET PM_COM3
B0BSET P_COM3 ;高电平驱 MOV A,R_DSPCOM3
XOR A,#0XFF JMP A_SEG
A_SEG:
MOV R_BITI,A B0BCLR P_SEG1
BTS0 R_BITI. 0
B0BSET P_SEG1 B0BCLR P_SEG2
BTS0 R_BITI. 1
B0BSET P_SEG2 B0BCLR P_SEG3
BTS0 R_BITI. 2
B0BSET P_SEG3 B0BCLR P_SEG4
BTS0 R_BITI. 3
B0BSET P_SEG4 B0BCLR P_SEG5
BTS0 R_BITI. 4
B0BSET P_SEG5 B0BCLR P_SEG6
BTS0 R_BITI. 5
B0BSET P_SEG6 INT_EX: POP
RETI
上一篇:Python基础学习笔记(一)入门


下一篇:JVM的常用的调优策略和垃圾回收算法及Tomcat的常用调优参数