附录6基于ADuC848开发板的单片机实验和课程设计指导书 - 图文(8)

2019-05-24 10:59

MOVC A,@A+DPTR INC DPTR SETB C GSC_LAX: RET PUTSTR:

CALL DELAY

CALL GETSTRCHAR PUSH DPL PUSH DPH JNC PSR_LAX JNB B.7,PSR_LBY ;CHINESE:

CALL HZKPOS

CALL PUTCHARDOT CALL PUTCHARDOT JMP PSR_LBX PSR_LBY: ;ENGLISH:

CALL HZKPOS

CALL PUTCHARDOT PSR_LBX: POP DPH POP DPL JMP PUTSTR

PSR_LAX:POP DPH POP DPL RET

PUTCHARDOT: MOV R7,#8 PAC_PA: CLR A

MOVC A,@A+DPTR CALL LCDWRITE INC YPOS INC DPTR CLR A

MOVC A,@A+DPTR CALL LCDWRITE DEC YPOS INC DPTR

CALL CUSORNEXT MOV A,XPOS JNZ PAC_LAX

36

INC YPOS PAC_LAX:

DJNZ R7,PAC_PA RET HZKPOS: MOV R2,#5 HTP_PA: CLR C RLC A XCH A,B RLC A XCH A,B

DJNZ R2,HTP_PA

MOV DPTR,#HZKDOT ADD A,DPL MOV DPL,A MOV A,B ADDC A,DPH MOV DPH,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: ANL YPOS,#7 INC XPOS MOV A,XPOS

JNB ACC.7,CNT_LAX MOV XPOS,#0 INC YPOS MOV A,YPOS

37

ANL A,#0F8H JZ CNT_LAX MOV YPOS,#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 ;设显示起始行

38

CALL LCDWC1 CALL LCDWC2 RET

LCDWC1: ;送片1控制字子程序 CALL WAITIDLE1 MOV P0,A

CLR RSPIN ;RS=0 RW=0 CS1=1 E=高脉冲 CLR RWPIN SETB CS1PIN SETB NOP

CLR CLR RET

LCDWC2: CALL MOV CLR CLR SETB SETB NOP

CLR CLR RET

LCDWD1: CALL MOV SETB CLR SETB SETB NOP

CLR CLR RET

LCDWD2: CALL MOV SETB CLR SETB SETB NOP

EPIN EPIN CS1PIN WAITIDLE2 P0,A

RSPIN RWPIN CS2PIN EPIN EPIN CS2PIN WAITIDLE1 P0,A

RSPIN RWPIN CS1PIN EPIN EPIN CS1PIN WAITIDLE2 P0,A ;,

RSPIN RWPIN CS2PIN EPIN ;送片2控制字子程序 ;RS=0 RW=0 CS2=1 E=高脉冲 ;片1写数据子程序 ;RS=1 RW=0 CS1=1 E=高脉冲 ;片2写数据子程序 ;RS=1 RW=0 CS2=1 E=高脉冲 39

CLR EPIN CLR CS2PIN RET

LCDRD1: ;片1读数据子程序 CALL WAITIDLE1 MOV P0,#0FFH

SETB RSPIN ;RS=1 RW=1 CS1=1 E=高电平 SETB RWPIN SETB CS1PIN SETB NOP

MOV CLR CLR RET

LCDRD2: CALL MOV SETB SETB SETB SETB NOP

MOV CLR CLR RET WAITIDLE1:

MOV CLR SETB SETB SETB WT1_PA: NOP

JB CLR CLR RET WAITIDLE2:

CLR SETB SETB SETB WT2_PA: NOP

EPIN A,P1 EPIN CS1PIN WAITIDLE2 P0,#0FFH

RSPIN RWPIN CS2PIN EPIN A,P0 EPIN CS2PIN P0,#0FFH

RSPIN RWPIN CS1PIN EPIN P0.7,WT1_PA EPIN CS1PIN RSPIN RWPIN CS2PIN EPIN ;片2读数据子程序 ;RS=1 RW=1 CS1=2 E=高电平 ;RS=0 RW=1 CS1=1 E=高电平 ;RS=0 RW=1 CS2=1 E=高电平 40


附录6基于ADuC848开发板的单片机实验和课程设计指导书 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电学实验专题训练

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: