Εμφάνιση αποτελεσμάτων : 1 έως 2 από 2

Θέμα: Πρόβλημα με αρχικοποίηση LCD

  1. #1
    Μέλος Το avatar του χρήστη georgz
    Όνομα
    Γιώργος
    Εγγραφή
    Oct 2009
    Περιοχή
    outer space
    Μηνύματα
    665

    Προεπιλογή Πρόβλημα με αρχικοποίηση LCD

    Καλησπέρα, προσπαθώ να αρχικοποιήσω μια lcd χρησιμοποιώντας ένα pic.
    O κώδικας που έχω γράψει υποτίθεται πως πρέπει να αρχικοποιήσει την lcd,
    βασικά την αρχικοποιεί και έπειτα να φέρει τoν κερσορα στην πρώτη γραμμή.
    Εκεί αρχίζει το πρόβλημα καθώς μετά την αρχικοποίηση μου εμφανίζει όλα τα κουτάκια άσπρα(η οθόνη είναι μπλε φόντο-άσπρα γράμματα). Το περίεργο είναι
    πως αν την σβήσω και την ανάψω μου δείχνει τον κερσορα κανονικά.

    Στον παρακάτω κώδικα έχω γράψει μία μόνο καθυστέρηση των 5ms που είναι
    αρκετό για οποιαδήποτε καθυστέρηση υπάρχει, RC0 είναι το RS και RC1 είναι
    το pin Enable.

    Κώδικας:
    include <p16f887.inc> 
    temp1 equ h'20' 
    temp2 equ h'21' 
    temp3 equ h'22' 
    
     org h'0000' 
     nop 
    
     bsf STATUS,RP0 
     bcf TRISD,0 
     bcf STATUS,RP0 
     bcf PORTD,0 ;stelnei 0 
    
     bsf STATUS,RP0 
     bcf TRISD,1  
     bcf STATUS,RP0 
     bcf PORTD,1 
    
     bsf STATUS,RP0 
     bcf TRISD,2 
     bcf STATUS,RP0 
     bcf PORTD,2 
    
     bsf STATUS,RP0 
     bcf TRISD,3 
     bcf STATUS,RP0 
     bcf PORTD,3 
    
     bsf STATUS,RP0 
     bcf TRISD,4 
     bcf STATUS,RP0 
     bcf PORTD,4 
    
     bsf STATUS,RP0 
     bcf TRISD,5 
     bcf STATUS,RP0 
     bcf PORTD,5 
    
     bsf STATUS,RP0 
     bcf TRISD,6 
     bcf STATUS,RP0 
     bcf PORTD,6 
    
     bsf STATUS,RP0 
     bcf TRISD,7 
     bcf STATUS,RP0 
     bcf PORTD,7 
    
     bsf STATUS,RP0 
     bcf TRISC,0 
     bcf STATUS,RP0 
     bcf PORTC,0 
    
     bsf STATUS,RP0 
     bcf TRISC,1 
     bcf STATUS,RP0 
     bcf PORTC,1 
    
     ;delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_4 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_4 
     decfsz temp3,f 
     goto LABEL_4 
    
    ;Delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_6 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_6 
     decfsz temp3,f 
     goto LABEL_6 
     nop 
    
     ;Delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_1 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_1 
     decfsz temp3,f 
     goto LABEL_1 
     nop 
    
    ;********************Initializing************************ 
     bcf PORTD,0 
     bcf PORTD,1 
     bsf PORTD,2 
     bsf PORTD,3 
     bsf PORTD,4 
     bsf PORTD,5 
     bcf PORTD,6 
     bcf PORTD,7 
    
     ;delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_2 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_2 
     decfsz temp3,f 
     goto LABEL_2 
     nop 
    
     bsf PORTC,1 
     ;delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_3 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_3 
     decfsz temp3,f 
     goto LABEL_3 
     nop 
      
     bcf PORTC,1 
     ;delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_5 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_5 
     decfsz temp3,f 
     goto LABEL_5 
     nop 
    
    
     ;********************Set cursor************************* 
     bsf PORTD,0 
     bsf PORTD,1 
     bsf PORTD,2 
     bsf PORTD,3 
     bcf PORTD,4 
     bcf PORTD,5 
     bcf PORTD,6 
     bcf PORTD,7 
      
     ;delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_7 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_7 
     decfsz temp3,f 
     goto LABEL_7 
     nop 
    
     bsf PORTC,1 
     ;delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_8 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_8 
     decfsz temp3,f 
     goto LABEL_8 
     nop 
      
     bcf PORTC,1 
     ;delay(5ms) 
     movlw d'5' 
     movwf temp2 
     movlw d'15' 
     movwf temp3 
    LABEL_9 
     movlw d'1' 
     movwf temp1 
     decfsz temp1,f 
     goto $-1 
     decfsz temp2,f 
     goto LABEL_9 
     decfsz temp3,f 
     goto LABEL_9 
     nop 
    
     end

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη georgz
    Όνομα
    Γιώργος
    Εγγραφή
    Oct 2009
    Περιοχή
    outer space
    Μηνύματα
    665

    Προεπιλογή

    Τελικά ο κώδικας ήταν σωστός, όταν δεν έχω συνδεδεμένα στον μικροελεγκτή
    τα πινς του MCLR,ICSPDAT και ICSPCLK του pickit δουλεύει κανονικά.

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. Πρόβλημα με οθόνη LCD
    By makatas in forum Hardware Η/Υ
    Απαντήσεις: 7
    Τελευταίο Μήνυμα: 17-11-12, 14:06
  2. Backlight πρόβλημα σε LCD μέσω παράλληλης (LCD smartie, HD44780)
    By Stergios_[.gr] in forum Κυκλώματα για Η/Υ
    Απαντήσεις: 14
    Τελευταίο Μήνυμα: 23-10-09, 19:39
  3. πρόβλημα με εμφάνιση μηνύματος σε lcd
    By 167vasgio in forum Μικροελεγκτές
    Απαντήσεις: 19
    Τελευταίο Μήνυμα: 12-10-09, 20:51
  4. Πρόβλημα με LCD και atmega32
    By georgemailo in forum Μικροελεγκτές
    Απαντήσεις: 17
    Τελευταίο Μήνυμα: 12-03-09, 13:31

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας