Grafikus LCD probléma!!!HELP!!!
Peter Pavai
Peter.Pavai at temic.com
Fri Sep 2 08:00:32 CEST 2005
Üdv Mindenkinek!
Lenne egy nagy problémám egy Grafikus LCD-vel!
Nem tudom működésre bírni!Már egy hónapja küzdök vele de megse
mukkan!!Bizots én vagyok a béna de nem tudok rájönni!!
Valaki meg tudná mondani mit rontottam el!
Elküldöm a programot és esetleg valaki vetne rá egy pillanatot?
Vagy esetleg küldene valaki egy működő progit nekem!!
Előre is Köszi a segítséget
Üdv Péter
;************************************************************************************************
;128*64 Grafikus LCD vezérlő program!
;Grafikus processzor típusa KS0107/KS0108
;************************************************************************************************
;Vezérlő lábak leírása
;D/I=R/S PORTB0
;R/W PORTB1
;E PORTB2
;D0-Đ7 PORTD0-7
;Reset PORTB3
;CS1 PORTB4
;CS2 PORTB5
;************************************************************************************************
;***********************************************************************************************
;PROCESSZOR TÍPUS
ERRORLEVEL -302
ERRORLEVEL -203
ERRORLEVEL -205
LIST P=16F877
#INCLUDE <P16F877.INC>
;************************************************************************************************
;RESET VECTOR
ORG 0X003
;PORTOK KONFIGURÁLÁSA
BSF STATUS,RP0
;PORTA
MOVLW B'000000'
MOVWF TRISA
;PORTB 7 0
MOVLW B'00000000'
MOVWF TRISB
;PORTC
MOVLW B'00000000'
MOVWF TRISC
;PORTD
MOVLW B'00000000'
MOVWF TRISD
;PORTE
MOVLW B'000'
MOVWF TRISE
MOVLW 0X06
MOVWF ADCON1
BCF STATUS,RP0
;**************************************************************************************************
;R/S R/W
; L L INSTUCTION
; L H STATUS READ (BUSY FLAG)
; H L DATA WRITE
; H H DATA READ
;*************************************************************************************************
; R/S R/W
;DISPLAY ON/OFF L L 0011111?
;Y SET ADDRESS L L 01??????
;X SET PAGE L L 10111???
;DISP START LI L L 11??????
;STATUS READ L H B0ORLLLL
;WRITE DATA H L ????????
;READ DATA H H ????????
;************************************************************************************************
;FELHASZNÁLT REGISZTEREK
LCDTRIS EQU PORTD
LCDTEMP EQU 0X020
DELAY EQU 0X021
XDELAY EQU 0X022
TIMER1 EQU 0X023
TIMER2 EQU 0X024
TIMER3 EQU 0X025
POINTER EQU 0X026
COUNTER EQU 0X037
LCDDATA EQU PORTD
LCDDATATRIS EQU TRISD
#DEFINE RS PORTB,0
#DEFINE RW PORTB,1
#DEFINE EN PORTB,2
#DEFINE RST PORTB,3
#DEFINE CS1 PORTB,4
#DEFINE CS2 PORTB,5
;
START
BSF RST
BSF CS1
BCF CS2
CALL LCDINIT
NOP
FOROG
MOVLW B'01010101' ;sakk tábla lenne!!!!
CALL LCDPUTCHAR
MOVLW B'10101010'
CALL LCDPUTCHAR
NOP
GOTO FOROG
;****************************************************************************************************
LCDINIT
;DISPStartLine
MOVLW 0X0C0
CALL LCDPUTCMD
NOP
;DISPStartAddress
MOVLW 0X040
CALL LCDPUTCMD
NOP
;DISPStartPage
MOVLW 0X0B8
CALL LCDPUTCMD
NOP
;DISPOn/Off
MOVLW 0X03F
CALL LCDPUTCMD
NOP
RETURN
;*************************************************************************************************
;*************************************************************************************************
;VEZÉRLŐ PARANCSOK
;*************************************************************************************************
LCDPUTCHAR
MOVWF LCDTEMP ; A KARAKTERT A W-BE KÜLDJÜK
CALL LCDBUSY ; VÁRAKOZÁS AZ LCD-RE
BCF RW
BSF RS
BSF EN
MOVF LCDTEMP,W
MOVWF LCDDATA ; ADAT KÜLDÉS AZ LCD-RE
BCF EN
RETURN
;**************************************************************************************************
LCDPUTCMD
MOVWF LCDTEMP ; PARANCSOT KÜLDÜNK W-BE
CALL LCDBUSY ; VÁRAKOZÁS AZ LCD-RE
BCF RW
BCF RS
BSF EN
MOVF LCDTEMP,W
MOVWF LCDDATA ; ADAT KÜLDÉS AZ LCD-RE
BCF EN
RETURN
;*************************************************************************************************
LCDBUSY
BSF STATUS,RP0
MOVLW 0X0FF
MOVWF LCDDATATRIS
BCF STATUS,RP0
BCF RS
BSF RW
BSF EN
MOVF LCDDATA,W
BCF EN
ANDLW 0X080
BTFSS STATUS,Z
GOTO LCDBUSY
LCDNOTBUSY
BCF RW
BSF STATUS,RP0
MOVLW 0X000
MOVWF LCDDATATRIS
BCF STATUS,RP0
RETURN
;**************************************************************************************************
;KÉSLELTETŐ RUTIN
KESL100 MOVLW 10 ; TIMER3 X 20 MS
MOVWF TIMER3
DELAY0 CALL DELAY1
DECFSZ TIMER3,1
GOTO DELAY0
RETURN
;****************************************************************************************************
DELAY1 MOVLW 50 ; KB. 20 MS
MOVWF TIMER2
DELAY2 DECFSZ TIMER1,1
GOTO DELAY2
DECFSZ TIMER2,1
GOTO DELAY2
RETURN
END
* * * * Ezt a levelet a ScanMail Vírusírtó automatikusan ellenőrizte ! This
Mail is verified automatically by ScanMail virus scanner ! * * * *
More information about the Elektro
mailing list