引用 | 编辑
长春
2011-11-24 10:41 |
1楼
▲ ▼ |
以下是第一个问题的程式码
E REG P1.2 RW REG P1.1 RS REG P1.0 ;--------------------------------------------------- START: ACALL DELAY5MS ; wait for LCD Power-on Ready MOV A,#0110111B ;采用8位元资料存取/单列字/5*10点矩阵字型 ACALL COMMAND MOV A,#01110B ;显示器ON/游标被显示在位址计数器 ACALL COMMAND MOV A,#1 ;清除全萤幕 ACALL COMMAND ACALL DELAY2MS MOV A,#010000000B ;设定DD RAM位址为0 ACALL COMMAND MOV DPTR,#MES1 LOOP1: CLR A MOVC A,@A+DPTR JZ ENDMES1 ACALL SDATA INC DPTR SJMP LOOP1 ENDMES1: LOOP3: MOV A,#18H ;18H---左移/1CH---右移 ACALL COMMAND LCALL Delay1s SJMP LOOP3 COMMAND: MOV P0,A SETB E CLR RW CLR RS CLR E ACALL DELAY40US RET SDATA: MOV P0,A SETB E CLR RW SETB RS CLR E DELAY40US: MOV R1,#20 DJNZ R1,$ RET DELAY5MS: ACALL DELAY1MS ACALL DELAY2MS ACALL DELAY2MS RET DELAY2MS: ACALL DELAY1MS ACALL DELAY1MS RET include delay.inc MES1: DB "F9999999",0 END 问题出在当我将#18H改成#1CH时候,会先出现一个F再出现多到爆的F,很明显是错误。但我改成1CH时候,就出现F9999999,但是不会进行右旋。 x0 |
引用 | 编辑
iamboss123
2014-01-12 14:36 |
2楼
▲ |
表示不会。。 有点难
x0 |