当前位置:首页 > 单片机 > 单片机
[导读] 12864接口程序(MCS51模拟口线方式);***************************************************************************;连线图: *LCM---8031* *LCM---8031* *LCM------------8031* *LCM----------8031*;

12864接口程序(MCS51模拟口线方式)
;***************************************************************************
;连线图: *LCM---8031* *LCM---8031* *LCM------------8031* *LCM----------8031*
; *DB0---P1.0* *DB4---P1.4* *RS-------------P3.0* *CS1----------P3.4*

; *DB1---P1.1* *DB5---P1.5* *RW-------------P3.1* *CS2----------P3.5*
; *DB2---P1.2* *DB6---P1.6* *E--------------P3.3
; *DB3---P1.3* *DB7---P1.7* */RST-----------VDD (详见说明书)
;注:8031的晶振频率为12MHz
;
;**************************************************************************
XPOS EQU 20H ;列方向地址指针(用于LCDPOS子程序)
YPOS EQU 21H ;行方向地址指针(用于LCDPOS子程序)
RSPIN EQU P3.0
RWPIN EQU P3.1 ;
EPIN EQU P3.3 ;
CS1PIN EQU P3.4 ;
CS2PIN EQU P3.5 ;
ORG 0000H
JMP START
START: MOV SP,#60H
MAIN:
CALL LCDRESET
MOVA,#55H
CALLLCDFILL
MOVDPTR,#STRING1
CALLPUTSTR
CALLPUTSTR
JMPMAIN
DELAY400MS:
MOV R0,#20 ;延时子程序(400MS)
DL4_PA: MOV R1,#100
DL4_PB: MOV R2,#100
DJNZ R2,$
DJNZ R1,DL4_PB
DJNZ R0,DL4_PA
RET
DELAY:
MOVR6,#2
DLY_PA:MOVR5,#0
DLY_PB:MOVR4,#0
DJNZR4,$
DJNZR5,DLY_PB
DJNZR6,DLY_PA
RET
GETSTRCHAR:
GSC_PA:
CLRA
MOVCA,@A+DPTR
INCDPTR
MOVB,A
INCA
CLRC
JZGSC_LAX
CLRA
MOVCA,@A+DPTR
INCDPTR
SETBC
GSC_LAX:
RET
PUTSTR:
CALLDELAY
CALLGETSTRCHAR
PUSHDPL
PUSHDPH
JNCPSR_LAX
JNBB.7,PSR_LBY
;CHINESE:
CALLHZKPOS
CALLPUTCHARDOT
CALLPUTCHARDOT
JMPPSR_LBX
PSR_LBY:
;ENGLISH:
CALLHZKPOS
CALLPUTCHARDOT
PSR_LBX:
POPDPH
POPDPL
JMPPUTSTR
PSR_LAX:POPDPH
POPDPL
RET
PUTCHARDOT:
MOVR7,#8
PAC_PA:
CLRA
MOVCA,@A+DPTR
CALLLCDWRITE
INCYPOS
INCDPTR
CLRA
MOVCA,@A+DPTR
CALLLCDWRITE
DECYPOS
INCDPTR
CALLCUSORNEXT
MOVA,XPOS
JNZPAC_LAX
INCYPOS
PAC_LAX:
DJNZR7,PAC_PA
RET
HZKPOS:
MOVR2,#5
HTP_PA:
CLRC
RLCA
XCHA,B
RLCA
XCHA,B
DJNZR2,HTP_PA

MOVDPTR,#HZKDOT
ADDA,DPL
MOVDPL,A
MOVA,B
ADDCA,DPH
MOVDPH,A
RET
LCDFILL: ;LCD整屏显示A的内容
MOV R7,A
MOV YPOS,#0
LFL_PB: MOV XPOS,#0
LFL_PA: MOV A,R7
CALL LCDWRITE ;定位并写数据
CALL CUSORNEXT
MOV A,XPOS
JNZ LFL_PA ;XPOS<128则循环(128列)
MOV A,YPOS
JNZ LFL_PB ;YPOS<8则循环(8页)
RET
LCDWRITE: ;定位并写数据子程序
CALL LCDPOS ;内部写数指针定位
CALL LCDWD ;写数据
RET
CUSORNEXT:
ANLYPOS,#7
INCXPOS
MOVA,XPOS
JNBACC.7,CNT_LAX
MOVXPOS,#0
INCYPOS
MOVA,YPOS
ANLA,#0F8H
JZCNT_LAX
MOVYPOS,#0
CNT_LAX:
RET
LCDPOS: ;内部写数指针定位子程序
PUSH ACC
MOV A,XPOS
JB ACC.6,LPS_LAY
MOV A,YPOS ;XPOS列方向小于64则对CS1操作
ANL A,#07H
ADD A,#0B8H
CALL LCDWC1 ;设页码
MOV A,XPOS
ANL A,#3FH
ORL A,#40H
CALL LCDWC1 ;设列码
JMP LPS_LAX
LPS_LAY:MOV A,YPOS ;XPOS列方向大于等于64则对CS2操作
ANL A,#07H
ADD A,#0B8H
CALL LCDWC2 ;设页码
MOV A,XPOS
ANL A,#3FH
ORL A,#40H
CALL LCDWC2 ;设列码
LPS_LAX:POP ACC
RET
LCDWD: ;送数据子程序
MOV B,A
MOV A,XPOS
JB ACC.6,LWD_LAY
MOV A,B ;XPOS列方向小于64则对CS1操作
CALL LCDWD1
JMP LWD_LAX
LWD_LAY:MOV A,B ;XPOS列方向大于等于64则对CS2操作
CALL LCDWD2
LWD_LAX:
RET
LCDRESET: ;LCD控制器复位
MOV A,#3FH ;打开LCD显示
CALL LCDWC1
CALL LCDWC2
MOV A,#0C0H ;设显示起始行
CALL LCDWC1
CALL LCDWC2
RET
LCDWC1: ;送片1控制字子程序
CALL WAITIDLE1
MOV P1,A
CLR RSPIN ;RS=0 RW=0 CS1=1 E=高脉冲
CLR RWPIN
SETB CS1PIN
SETB EPIN
NOP
CLR EPIN
CLR CS1PIN
RET
LCDWC2: ;送片2控制字子程序
CALL WAITIDLE2
MOV P1,A
CLR RSPIN ;RS=0 RW=0 CS2=1 E=高脉冲
CLR RWPIN
SETB CS2PIN
SETB EPIN
NOP
CLR EPIN
CLR CS2PIN
RET
LCDWD1: ;片1写数据子程序
CALL WAITIDLE1
MOV P1,A
SETB RSPIN ;RS=1 RW=0 CS1=1 E=高脉冲
CLR RWPIN
SETB CS1PIN
SETB EPIN
NOP
CLR EPIN
CLR CS1PIN
RET
LCDWD2: ;片2写数据子程序
CALL WAITIDLE2
MOV P1,A
SETB RSPIN ;RS=1 RW=0 CS2=1 E=高脉冲
CLR RWPIN
SETB CS2PIN
SETB EPIN
NOP
CLR EPIN
CLR CS2PIN
RET
LCDRD1: ;片1读数据子程序
CALL WAITIDLE1
MOV P1,#0FFH
SETB RSPIN ;RS=1 RW=1 CS1=1 E=高电平
SETB RWPIN
SETB CS1PIN
SETB EPIN
NOP
MOV A,P1
CLR EPIN
CLR CS1PIN
RET
LCDRD2: ;片2读数据子程序
CALL WAITIDLE2
MOV P1,#0FFH
SETB RSPIN ;RS=1 RW=1 CS1=2 E=高电平
SETB RWPIN
SETB CS2PIN
SETB EPIN
NOP
MOV A,P1
CLR EPIN
CLR CS2PIN
RET
WAITIDLE1:
MOV P1,#0FFH
CLR RSPIN ;RS=0 RW=1 CS1=1 E=高电平
SETB RWPIN
SETB CS1PIN
SETB EPIN
WT1_PA: NOP
JB P1.7,WT1_PA
CLR EPIN
CLR CS1PIN
RET
WAITIDLE2:
CLR RSPIN ;RS=0 RW=1 CS2=1 E=高电平
SETB RWPIN
SETB CS2PIN
SETB EPIN
WT2_PA: NOP
JB P1.7,WT2_PA
CLR EPIN
CLR CS2PIN
RET
HZKDOT:
;(d3d0H)(有)(8000)
DB 04H, 04H, 04H, 02H, 04H, 01H, 84H, 00H
DB0e4H,0ffH, 3cH, 09H, 27H, 09H, 24H, 09H
DB 24H, 09H, 24H, 49H, 24H, 89H,0f4H, 7fH
DB 24H, 00H, 06H, 00H, 04H, 00H, 00H, 00H
;(cfdeH)(限)(8001)
DB 00H, 00H,0feH,0ffH, 02H, 08H, 22H, 10H
DB0daH, 08H, 06H, 07H, 00H, 00H,0feH,0ffH
DB 92H, 42H, 92H, 24H, 92H, 08H, 92H, 14H
DB0ffH, 22H, 02H, 61H, 00H, 20H, 00H, 00H
;(b9abH)(公)(8002)
DB 00H, 01H, 00H, 01H, 80H, 00H, 40H, 30H
DB 30H, 28H, 0cH, 24H, 00H, 23H,0c0H, 20H
DB 06H, 20H, 18H, 28H, 20H, 30H, 40H, 60H
DB 80H, 00H, 80H, 01H, 80H, 00H, 00H, 00H
;(cbbeH)(司)(8003)
DB 10H, 00H, 10H, 00H, 92H, 3fH, 92H, 10H
DB 92H, 10H, 92H, 10H, 92H, 10H, 92H, 10H
DB0d2H, 3fH, 9aH, 00H, 12H, 40H, 02H, 80H
DB0ffH, 7fH, 02H, 00H, 00H, 00H, 00H, 00H
STRING1:DB 80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,0ffH
STRING2:DB 80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,0ffH
END

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭