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