Σελίδα 1 από 4 1 2 3 ... ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 1 έως 10 από 32

Θέμα: Μάθημα στην MikroBasic No3 (σύγκριση)

  1. #1
    Μέλος Το avatar του χρήστη DT200
    Όνομα
    Ιωάννης
    Εγγραφή
    Nov 2005
    Περιοχή
    ΜΕΓΑΡΑ
    Μηνύματα
    1.245

    Προεπιλογή Μάθημα στην MikroBasic No3 (σύγκριση)

    η νέα άσκηση θα είναι ένα πρόγραμμα το
    οποίο θα έχει για αρχή, μία LCD , ένα Led και ένα μπουτόν.

    κάθε φορά που θα πιέζετε το μπουτόν, ένας καταχωρητής (Π.Χ. CNT)
    θα αυξάνετε κατά ένα (+1) και όταν φτάσει τον αριθμό 5 θα ανάβει
    ένα Led, στην συνέχεια όταν ο CNT φτάσει το 10, τότε θα σβήνει το Led.

    αυτό για αρχή ...

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη billtech
    Όνομα
    Βασιλης
    Εγγραφή
    Mar 2006
    Περιοχή
    Χανια και Κυπρο
    Μηνύματα
    2.221

    Προεπιλογή

    ξερω οτι θα μου πεις δεν μπορω να σου απαντησω σε αυτη την ερωτηση..αλλα θα στη κανω γιατι κολλησα.ειναι το πρωτο που κολλησα..εχουμε ακομα κολληματα...δοξα σι ο Θεος.
    λοιπον..πως εκτυπωνω στη οθονη το περιεχομενο ενος καταχωρητη?
    δεν μπορω να το βρω.αμα μου το πεις αυτο θα ανεβασω τον κωδικα που εκανα για να μου πεις που εχω λαθη.

    0 Not allowed! Not allowed!
    Η γυναίκα και τα ηλεκτρονικά θέλουν γείωση!!!

  3. #3
    Μέλος Το avatar του χρήστη DT200
    Όνομα
    Ιωάννης
    Εγγραφή
    Nov 2005
    Περιοχή
    ΜΕΓΑΡΑ
    Μηνύματα
    1.245

    Προεπιλογή

    σε αυτό θα σε βοηθήσω.
    δες ένα παράδειγμα, βέβαια υπάρχουν και άλλες
    εντολές για την εμφάνιση των δεδομένων.
    ρίξε μία ματιά στο help , Conversions Library, String Library, LCD Library.

    Κώδικας:
    program TEST_STRING
    DIM TXT AS STRING[7]
    DIM JOHN AS BYTE
    dim TEMP as word
    
    main:
    
    Lcd_Config(PORTB, 3, 2, 1, 0, PORTB, 4, 6, 5)
    Lcd_Cmd(LCD_CLEAR)
    Lcd_Cmd(LCD_CURSOR_OFF)
    
    JOHN=14
    TEMP=560
    
    START:
    WORDTOSTR (TEMP,TXT)
    LCD_OUT (1,1,TXT)
    
    BYTETOSTR (JOHN,TXT)
    LCD_OUT (2,1,TXT)
    
    END.

    0 Not allowed! Not allowed!

  4. #4
    Μέλος Το avatar του χρήστη billtech
    Όνομα
    Βασιλης
    Εγγραφή
    Mar 2006
    Περιοχή
    Χανια και Κυπρο
    Μηνύματα
    2.221

    Προεπιλογή

    λοιπον φιλε μου!!!το εκανα...ξερω τι θα μου πεις ομως

    program LedLCD

    dim CNT,BUTT,outy as byte
    dim txt as string[7]
    main:
    TRISB=%00000000
    TRISA=255
    Lcd_Config(PORTB, 3, 2, 1, 0, PORTB, 4, 6, 5)
    Lcd_Cmd(LCD_CLEAR)
    Lcd_Cmd(LCD_CURSOR_OFF)
    lcd_out(2,5,"billtech")
    CNT=0
    PORTB.7=1
    START:
    BUTT=PORTA
    DELAY_MS(150)
    IF BUTT.0=0 THEN GOTO CHECK1
    ELSE
    GOTO START
    END IF


    CHECK1: Lcd_Cmd(LCD_CLEAR)
    CNT=CNT+1
    BYTETOSTR (CNT,TXT)
    lcd_out(1,1,TXT)
    GOTO CHECK2

    CHECK2:
    IF CNT=5 THEN
    PORTB.7=0
    ELSE GOTO CHECK3
    END IF
    CHECK3: IF CNT=10 THEN
    PORTB.7=1
    ELSE GOTO START
    END IF

    END.

    να το ξαναδω γιατι περνει βελτιωσεις?
    δεν ξερω πως να το βελτιωσω αλλο

    0 Not allowed! Not allowed!
    Η γυναίκα και τα ηλεκτρονικά θέλουν γείωση!!!

  5. #5
    Μέλος Το avatar του χρήστη DT200
    Όνομα
    Ιωάννης
    Εγγραφή
    Nov 2005
    Περιοχή
    ΜΕΓΑΡΑ
    Μηνύματα
    1.245

    Προεπιλογή

    μπράβο !!! πολύ καλό... Αλλά ...

    δεν χρειάζεσαι τον καταχωρητή outy.
    το πρόγραμμα κολλάει μετά τον αριθμό 10.
    δεν έχει προστασία μπουτόν.
    μερικά goto δεν χρειάζονται.
    όταν θέλεις να γράψεις στην οθόνη δεν χρειάζεται
    να την σβήνεις , μπορείς να γράψεις από "πάνω" του.

    θα σε βοηθείσω λέγοντάς σου ότι αντί για CNT=CNT+1
    μπορείς να γράψεις INC(CNT).

    αυτά, αλλά πραγματικά έχεις προχωρήσει πολύ.

    Υ.Γ. ξέρεις τι λένε ... ο εχθρός του καλού, είναι το καλύτερο.

    0 Not allowed! Not allowed!

  6. #6
    Μέλος Το avatar του χρήστη billtech
    Όνομα
    Βασιλης
    Εγγραφή
    Mar 2006
    Περιοχή
    Χανια και Κυπρο
    Μηνύματα
    2.221

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από DT200 Εμφάνιση μηνυμάτων

    δεν χρειάζεσαι τον καταχωρητή outy.
    το πρόγραμμα κολλάει μετά τον αριθμό 10.
    δεν έχει προστασία μπουτόν.
    μερικά goto δεν χρειάζονται.
    όταν θέλεις να γράψεις στην οθόνη δεν χρειάζεται
    να την σβήνεις , μπορείς να γράψεις από "πάνω" του.

    θα σε βοηθείσω λέγοντάς σου ότι αντί για CNT=CNT+1
    μπορείς να γράψεις INC(CNT).

    αυτά, αλλά πραγματικά έχεις προχωρήσει πολύ.

    Υ.Γ. ξέρεις τι λένε ... ο εχθρός του καλού, είναι το καλύτερο.
    ο outy καταλαθος ειναι εκει.τι προστασια να εχουν τα button?και εσυ τωρα τι ψαχνεις? επειδη ειναι +1 και οχι INC.

    τωρα πως σου φενεται

    program LedLCD

    dim CNT,BUTT as byte
    dim txt as string[7]
    main:
    TRISB=%00000000
    TRISA=255
    Lcd_Config(PORTB, 3, 2, 1, 0, PORTB, 4, 6, 5)
    Lcd_Cmd(LCD_CLEAR)
    Lcd_Cmd(LCD_CURSOR_OFF)
    lcd_out(2,5,"billtech")
    CNT=0
    PORTB.7=1
    START:
    BUTT=PORTA
    DELAY_MS(150)
    IF BUTT.0=0 THEN GOTO CHECK1
    ELSE
    GOTO START
    END IF

    CHECK1:
    INC(CNT)
    BYTETOSTR (CNT,TXT)
    lcd_out(1,1,TXT)

    IF CNT=5 THEN
    PORTB.7=0
    END IF

    IF CNT=10 THEN
    PORTB.7=1
    ELSE GOTO START
    END IF

    END.

    αυτο με το γιατι κολλαει στο 10 δεν ξερω.

    0 Not allowed! Not allowed!
    Η γυναίκα και τα ηλεκτρονικά θέλουν γείωση!!!

  7. #7
    Μέλος Το avatar του χρήστη DT200
    Όνομα
    Ιωάννης
    Εγγραφή
    Nov 2005
    Περιοχή
    ΜΕΓΑΡΑ
    Μηνύματα
    1.245

    Προεπιλογή

    κολλάει στο 10 διότι δεν του λες τι να κάνει μετά το...
    Κώδικας:
    IF CNT=10 THEN
              PORTB.7=1
              ELSE GOTO START
              END IF
    
           END.
    και πάει στο END. που σημαίνει ότι κολλάει εκεί, είναι αδιέξοδο.

    Υ.Γ. δεν έχω σκοπώ να στο παίζω έξυπνος , αλλά να σε μάθω
    να γράφεις καλά προγράμματα.

    0 Not allowed! Not allowed!

  8. #8
    Μέλος Το avatar του χρήστη billtech
    Όνομα
    Βασιλης
    Εγγραφή
    Mar 2006
    Περιοχή
    Χανια και Κυπρο
    Μηνύματα
    2.221

    Προεπιλογή

    δεν εχω κανενα παραπονο φιλε μου.και σε αυτο το θεμα δεν το παιζεις εξυπνος.εισαι εξυπνος.και εγω τωρα μαθαινω.
    και εχεις δικιο οτι εκει ειναι που κολλαει.μας πειραζι αυτο που κολλαει?πρεπει να μην κολλαει?αφου μετα δεν θα μας νοιαζει τι θα κανει.η led θα εχει αναψει και θα εχει σβησει.

    0 Not allowed! Not allowed!
    Η γυναίκα και τα ηλεκτρονικά θέλουν γείωση!!!

  9. #9
    Μέλος
    Όνομα
    Δημήτρης
    Εγγραφή
    Feb 2007
    Περιοχή
    Κύπρος
    Μηνύματα
    124

    Προεπιλογή

    DT200 μου αρέσει πολύ ο τρόπος που δουλεύεις... nice job!
    θα σε βοηθείσω λέγοντάς σου ότι αντί για CNT=CNT+1
    μπορείς να γράψεις INC(CNT).
    Αυτό γιατί το λες; Δεν θα το κάνει το ίδιο ο compiler?

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη electroman : 20-10-08 στις 01:33

  10. #10
    Μέλος
    Όνομα
    Δημήτρης
    Εγγραφή
    Feb 2007
    Περιοχή
    Κύπρος
    Μηνύματα
    124

    Προεπιλογή

    Α και ακόμα κάτι. Για τι προστασία κουμπιών μιλάς; Για την ταλάντωση μεταξύ 0 και 1;

    Ευχαριστώ.

    0 Not allowed! Not allowed!

Σελίδα 1 από 4 1 2 3 ... ΤελευταίαΤελευταία

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

  1. Μάθημα στην MikroBasic No1
    By DT200 in forum Μικροελεγκτές
    Απαντήσεις: 126
    Τελευταίο Μήνυμα: 29-04-13, 21:47
  2. Μάθημα στην MikroBasic No4 (επικοινωνία I²C)
    By DT200 in forum Μικροελεγκτές
    Απαντήσεις: 167
    Τελευταίο Μήνυμα: 31-05-09, 00:06
  3. ερώτηση για μάθημα στο ΤΕΙ ηλεκτρονικής στην Αθήνα
    By Κρεμμύδας Δημήτρης in forum Γενική Συζήτηση
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 21-11-08, 19:23
  4. Απαντήσεις: 16
    Τελευταίο Μήνυμα: 20-11-08, 18:53
  5. Μάθημα στην MikroBasic No2 (module)
    By DT200 in forum Μικροελεγκτές
    Απαντήσεις: 27
    Τελευταίο Μήνυμα: 19-10-08, 16:13

Tags for this Thread

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

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