• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (SuperLED)




關於APP001實驗板的LCD顯示?
#1
新會員
新會員


各位大大您好,
小弟我爬過許多有關此APP001板LCD的文章,
不過還是搞不懂如何顯示,我PO一下我寫的程式,
麻煩大大幫指証一下哪邊錯誤,起始化應該沒有問題
不過顯示就是出不來,使用4-BIT控制。
謝謝各位大大。



;
;***************************************
; Program start
;***************************************
ORG 0x00 ;
NOP ;
GOTO START ;

START:
CALL INIT
CALL DELAY_15mS
CALL INITIAL_LCD

LCD_5:
CALL LINE
MOVLW 0x03 ;顯示5
MOVWF DR_DATA
CALL WRINS_DR
MOVLW 0x05 ;顯示5
MOVWF DR_DATA
CALL WRINS_DR


KO:
GOTO KO



INIT:
CLRF STATUS
BSF STATUS,RP0
CLRF ADCON1
MOVLW b'00000001'
MOVWF TRISA
MOVLW b'00000000'
MOVWF TRISD
BCF STATUS,RP0
MOVLW b'01000001'
MOVWF ADCON0
MOVLW b'00000000'
MOVWF PORTD
CLRF IR_DATA
CLRF DR_DATA
CLRF TEMP
RETURN

;=========================

;=== LCD 模組初始化副程式 ===

;=========================

INITIAL_LCD:
BCF PORTD,4 ;RS
BCF PORTD,5 ;RW
MOVLW 0x03
MOVWF IR_DATA
CALL WRINS_IR ;功能設定
MOVLW 0x03
MOVWF IR_DATA
CALL WRINS_IR ;功能設定
MOVLW 0x03
MOVWF IR_DATA
CALL WRINS_IR ;功能設定
MOVLW 0x02
MOVWF IR_DATA
CALL WRINS_IR ;功能設定(4位元)

MOVLW 0x02
MOVWF IR_DATA
CALL WRINS_IR ;功能設定(4位元)
MOVLW 0x00
MOVWF IR_DATA
CALL WRINS_IR ;功能設定(4位元)

MOVLW 0x00
MOVWF IR_DATA
CALL WRINS_IR
MOVLW 0x08
MOVWF IR_DATA
CALL WRINS_IR ;令顯示器off

MOVLW 0x00
MOVWF IR_DATA
CALL WRINS_IR
MOVLW 0x01
MOVWF IR_DATA
CALL WRINS_IR ;清除顯示

MOVLW 0x00
MOVWF IR_DATA
CALL WRINS_IR
MOVLW 0x06
MOVWF IR_DATA
CALL WRINS_IR ;輸入模式設定

MOVLW 0x00
MOVWF IR_DATA
CALL WRINS_IR
MOVLW 0x0F
MOVWF IR_DATA
CALL WRINS_IR ;令顯示器on
RETURN


WRINS_IR:
BCF PORTD,4 ;RS
BCF PORTD,5 ;RW
BCF PORTA,2 ;EN
NOP
BSF PORTA,2
BSF STATUS,RP0 ;切換至第1頁
MOVLW B'00000000' MOVWF TRISD ;<設定埠D的RB0~RB7為輸出腳>
BCF STATUS,RP0 ;回到第0頁
MOVF IR_DATA,0 MOVWF PORTD NOP
BCF PORTA,2
CALL DELAY_5mS
RETURN

LINE:
MOVLW 0X08
MOVWF IR_DATA
CALL WRINS_IR
MOVLW 0X00
MOVWF IR_DATA
CALL WRINS_IR
RETURN


WRINS_DR:
CALL CHECKBF ;檢查忙碌旗標
BSF PORTD,4 ;RS
BCF PORTD,5 ;RW
BCF PORTA,2 ;EN
NOP
BSF PORTA,2
BSF STATUS,RP0
MOVLW B'00000000' MOVWF TRISD ;<設定埠D的RD0~RD7為輸出腳>
BCF STATUS,RP0
MOVF DR_DATA,0 MOVWF PORTD NOP
BCF PORTA,2
RETURN



;=========================

;== 檢查忙碌旗標BF副程式 ==

;=========================

CHECKBF:
WAIT_BF:
BCF PORTD,4 ;RS
BSF PORTD,5 ;R/W
BSF PORTA,2 ;EN
BSF STATUS,RP0
MOVLW B'11111111' MOVWF TRISD ;<設定埠D的RD0~RD7為輸入腳>
BCF STATUS,RP0 NOP
NOP
MOVF PORTD,0 MOVWF TEMP BCF PORTA,2
BTFSC TEMP,3 ;檢查忙碌旗標,忙碌1執行下一步,閒置0跳過下一步
GOTO WAIT_BF ;忙碌就重新檢查
RETURN

發表於: 2007/3/20 11:36
頂部






:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------