引用 | 編輯
長春
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 |