芯海自帶筆段式LCD
;============================================
; filename: 自帶筆段式lcd.asm
; chip : csu1181b
; author :
; date : 2012-07-27
;============================================
include csu1181b.inc
;============================================
; program start
;============================================
org000h
gotoA1
ORG05H
;*******************************************
;主程序段
;*******************************************
A1:BCFLCDCH,5 ;設(shè)置SEG口位LCD輸出口
; filename: 自帶筆段式lcd.asm
; chip : csu1181b
; author :
; date : 2012-07-27
;============================================
include csu1181b.inc
;============================================
; program start
;============================================
org000h
gotoA1
ORG05H
;*******************************************
;主程序段
;*******************************************
A1:BCFLCDCH,5 ;設(shè)置SEG口位LCD輸出口
MOVLW10110111B ;設(shè)置LCDENR
MOVWFLCDENR
A2:
BSFNETF,0 ;開模擬電源
MOVLWLCD2 ;位
MOVWFFSR0 ;間接尋址地址
MOVLW4 ;位數(shù)
MOVWF90H ; 位數(shù)寄存器
MOVLW0 ;顯示內(nèi)容默認(rèn)值
MOVWF95H ; 顯示內(nèi)容控制寄存器
MOVLW10 ;加1循環(huán)次數(shù)
MOVWF9AH ;加1循環(huán)次數(shù)寄存器
A3:
MOVLWQ1 ;數(shù)據(jù)表地址
ADDWF95H,0 ;顯示內(nèi)容
MOVWFEADRL ;選定后數(shù)據(jù)表地址
MOVP ;查表并將數(shù)據(jù)存到(W)及(EDATH )中
MOVWFLCDENR
A2:
BSFNETF,0 ;開模擬電源
MOVLWLCD2 ;位
MOVWFFSR0 ;間接尋址地址
MOVLW4 ;位數(shù)
MOVWF90H ; 位數(shù)寄存器
MOVLW0 ;顯示內(nèi)容默認(rèn)值
MOVWF95H ; 顯示內(nèi)容控制寄存器
MOVLW10 ;加1循環(huán)次數(shù)
MOVWF9AH ;加1循環(huán)次數(shù)寄存器
A3:
MOVLWQ1 ;數(shù)據(jù)表地址
ADDWF95H,0 ;顯示內(nèi)容
MOVWFEADRL ;選定后數(shù)據(jù)表地址
MOVP ;查表并將數(shù)據(jù)存到(W)及(EDATH )中
MOVWFIND0 ;將W中的數(shù)存到間接尋址內(nèi)的寄存器中
INCFFSR0,1 ;間接尋址地址位加1
MOVFWEDATH ;將EDATH中的數(shù)存w中
MOVWFIND0 ;將W中的數(shù)存到間接尋址內(nèi)的寄存器中
INCFFSR0,1 ;間接尋址地址位加1
DECFSZ90H,1 ;判斷是否顯示完4位
GOTOA3 ;沒顯示完則繼續(xù)顯示
MOVLWLCD2 ;LCD顯示位
MOVWFFSR0 ;間接尋址地址
MOVLW4 ;位數(shù)
MOVWF90H ; 位數(shù)寄存器
INCF95H,1 ;顯示內(nèi)容加1
CALLM001 ;延時(shí)
DECFSZ9AH,1 ;判斷是否將內(nèi)容顯示完
GOTOA3 ;沒顯示完則繼續(xù)顯示
GOTOA1 ;返回反復(fù)執(zhí)行
;*****************************************************
;延時(shí)子程序段
;*****************************************************
M001:MOVLW1
MOVWF80H
M002:MOVLW248
MOVWF81H
M003:MOVLW250
MOVWF82H
M004:DECFSZ82H,1
GOTOM004
DECFSZ81H,1
GOTOM003
DECFSZ80H,1
GOTOM002
RETURN
;*******************************************
;數(shù)據(jù)表
;*******************************************
Q1:
DW070DH ;0
DW0600H ;1
DW030EH ;2
DW070AH ;3
DW0603H ;4
DW050BH ;5
DW050FH ;6
DW0700H ;7
DW070FH ;8
DW070BH ;9
INCFFSR0,1 ;間接尋址地址位加1
MOVFWEDATH ;將EDATH中的數(shù)存w中
MOVWFIND0 ;將W中的數(shù)存到間接尋址內(nèi)的寄存器中
INCFFSR0,1 ;間接尋址地址位加1
DECFSZ90H,1 ;判斷是否顯示完4位
GOTOA3 ;沒顯示完則繼續(xù)顯示
MOVLWLCD2 ;LCD顯示位
MOVWFFSR0 ;間接尋址地址
MOVLW4 ;位數(shù)
MOVWF90H ; 位數(shù)寄存器
INCF95H,1 ;顯示內(nèi)容加1
CALLM001 ;延時(shí)
DECFSZ9AH,1 ;判斷是否將內(nèi)容顯示完
GOTOA3 ;沒顯示完則繼續(xù)顯示
GOTOA1 ;返回反復(fù)執(zhí)行
;*****************************************************
;延時(shí)子程序段
;*****************************************************
M001:MOVLW1
MOVWF80H
M002:MOVLW248
MOVWF81H
M003:MOVLW250
MOVWF82H
M004:DECFSZ82H,1
GOTOM004
DECFSZ81H,1
GOTOM003
DECFSZ80H,1
GOTOM002
RETURN
;*******************************************
;數(shù)據(jù)表
;*******************************************
Q1:
DW070DH ;0
DW0600H ;1
DW030EH ;2
DW070AH ;3
DW0603H ;4
DW050BH ;5
DW050FH ;6
DW0700H ;7
DW070FH ;8
DW070BH ;9
end
LCD顯示屏相關(guān)文章:lcd顯示屏原理
lcd相關(guān)文章:lcd原理
評(píng)論