12864绘图清屏程序 5
有哪位大哥可以给写个12864的绘图清屏程序啊最好是用汇编写我写的清屏程序老清补干净剩下很多点清不掉这是我的程序LCD_ENBITP2.7LCD_RSBITP2.6LCD...
有哪位大哥可以给写个12864的绘图清屏程序啊 最好是用汇编写
我写的清屏程序 老清补干净 剩下很多点清不掉
这是我的程序
LCD_EN BIT P2.7
LCD_RS BIT P2.6
LCD_RW BIT P2.5
COM EQU 5BH
DAT EQU 5AH
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: LCALL CLRYJ
ACALL CLS
WIT: AJMP WIT
CLRYJ: MOV COM,#30H
ACALL WRI
MOV COM,#01H
ACALL WRI
MOV COM,#0EH
ACALL WRI
RET
CLS: MOV COM,#34H
LCALL WRI
MOV R4,#20H
MOV COM,#80H
ACALL WRI
ACALL WRI
MOV DAT,#00H
D3: MOV R3,#10H
D2: ACALL WRD
ACALL WRD
DJNZ R3,D2
INC COM
ACALL WRI
DJNZ R4,D3
MOV COM,#36H
LCALL WRI
RET
WRI: PUSH ACC
CLR LCD_RS
SETB LCD_RW
WRI1: MOV P0,#0FFH
SETB LCD_EN
MOV A,P0
CLR LCD_EN
JB ACC.7,WRI1
CLR LCD_RW
MOV P0,COM
SETB LCD_EN
CLR LCD_EN
POP ACC
RET
WRD: PUSH ACC
CLR LCD_RS
SETB LCD_RW
WRD1: MOV P0,#0FFH
SETB LCD_EN
MOV A,P0
JB ACC.7,WRD1
CLR LCD_EN
SETB LCD_RS
CLR LCD_RW
MOV P0,DAT
SETB LCD_EN
CLR LCD_EN
POP ACC
RET
D1: MOV R7,#0FH
DEM: MOV R6,#0FH
DEN: DJNZ R6,DEN
DJNZ R7,DEM
RET
END 展开
我写的清屏程序 老清补干净 剩下很多点清不掉
这是我的程序
LCD_EN BIT P2.7
LCD_RS BIT P2.6
LCD_RW BIT P2.5
COM EQU 5BH
DAT EQU 5AH
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: LCALL CLRYJ
ACALL CLS
WIT: AJMP WIT
CLRYJ: MOV COM,#30H
ACALL WRI
MOV COM,#01H
ACALL WRI
MOV COM,#0EH
ACALL WRI
RET
CLS: MOV COM,#34H
LCALL WRI
MOV R4,#20H
MOV COM,#80H
ACALL WRI
ACALL WRI
MOV DAT,#00H
D3: MOV R3,#10H
D2: ACALL WRD
ACALL WRD
DJNZ R3,D2
INC COM
ACALL WRI
DJNZ R4,D3
MOV COM,#36H
LCALL WRI
RET
WRI: PUSH ACC
CLR LCD_RS
SETB LCD_RW
WRI1: MOV P0,#0FFH
SETB LCD_EN
MOV A,P0
CLR LCD_EN
JB ACC.7,WRI1
CLR LCD_RW
MOV P0,COM
SETB LCD_EN
CLR LCD_EN
POP ACC
RET
WRD: PUSH ACC
CLR LCD_RS
SETB LCD_RW
WRD1: MOV P0,#0FFH
SETB LCD_EN
MOV A,P0
JB ACC.7,WRD1
CLR LCD_EN
SETB LCD_RS
CLR LCD_RW
MOV P0,DAT
SETB LCD_EN
CLR LCD_EN
POP ACC
RET
D1: MOV R7,#0FH
DEM: MOV R6,#0FH
DEN: DJNZ R6,DEN
DJNZ R7,DEM
RET
END 展开
1个回答
展开全部
/*****************************************************************************
功能:准备绘制图形的准备工作,包括清除GDRAM数据、转入扩充指令集
适用范围:头文件已并入;已完成初始化
参数:无
返回值:0:成功
*****************************************************************************/
int lcdGraphBegin(void)
{
uint8_t x, y;
lcdWriteCom(0x34);
lcdWriteCom(0x36);
for(y=0; y<64; y++)
{
for(x=0; x<16; x++)
{
lcdWriteCom(0x80 + y);
lcdWriteCom(0x80 + x);
lcdWriteData(0x00);
lcdWriteData(0x00);
}
}
return 0;
}
估计题主也已经弄完了,今天碰巧遇到这个问题,贡献一个自己的程序。
虽然不是用汇编的~ orτ
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询