Επιστροφή στο Forum : MikroBasic
Κύριοι έχω μια απορία γράφω σε MikroBasic και συνάντησα το εξής πρόβλημα ,
Έχω ορίσει ένα καταχωρητή σαν μετρητή και μετράει πόσες φορές συνέβη ένα γεγονός
Και θέλω με κάποιον τρόπο να το εμφανίσω στη LCD.
Έχει κάποιος καμία ιδέα?
Microbasic;
τι ειναι αυτη;
Είναι μια γλώσσα προγραμματισμού ανώτερη από την assembly που μπορείς και γράφεις κώδικα πολύ εύκολα π.χ. για να αναβοσβήσεις ένα LED χρειάζεσαι μόνο 6
γραμμές κώδικα μαζί με την αρχικοποίηση του μ/ε
http://www.mikroe.com/en/compilers/
Η assembly δεν είναι πιο ανώτερη απο την microbasic ή κανω λάθος :?: :? :? :-k
Η microbasic εμενα μου φάνικε πολύ εύκολη, ενώ η assembly πολύ μπερδεμένα τα λέει. :?
H assembly είναι κατώτερη απο την Basic και την C.
H assembly είναι γλώσσα μηχανής, χαμηλού επιπέδου.
Οι άλλες γλώσσες (basic, C, κτλ) θεωρούνται γλώσσες υψηλού επιπέδου, πιο κατανοητές στον άνθρωπο. Δεν έχει να κάνει με το πόσο εύκολα μαθαίνεις μια γλώσσα.
μηπωσ μπορεις να μου υποδειξεις
κατι παραπανω .
πχ. ποσο κανει ,τι υποστιριζει.
Μπορείς να το κατεβάσεις δωρεάν από την παραπάνω διεύθυνση
με μόνο περιορισμό ότι δεν μπορείς να γράψει πρόγραμμα μεγαλύτερο των 2Κ (είναι αρκετό).
Και υποστηρίζει pic και avr αναλόγως ποιο θα καταβάσεις .
Θα πάθει πλάκα με τι ευκολία γράφεις σε lcd
Έχει πολλά παραδείγματα.
Αν θες και ένα προγραμματάκι δες αυτό
'************************************************* *****************************
' microcontroller : P16F84A
'
' Project: Led_blinking
' This project is designed to work with PIC 16F84A
' with minor adjustments, it should work with any other PIC MCU.
'
' This code demonstrates blinking of diodes connected on portb.
' Diodes go on and off each second.
'************************************************* *****************************
program Led_blinking
main:
TRISB = 0 ' configure pins of portb as output
PORTB = %11111111 ' turn ON diodes on portb
delay_ms(1000) ' wait for 1 second
PORTB = %00000000 ' turn OFF diodes on portb
delay_ms(1000) ' wait for 1 second
goto main ' endless loop
end.
Mε το AVR Studio 4.0 πώς κάνουμε hex την assembly
Το ριλόι του Επιστήμων με την lcd και τον AT90S1200 απ' ότι κατάλαβα
είναι γραμμένο σε assembly, γίνετε να το κάνουμε σε microbasic.
Ασχολείται κάποιος άλλος με MikroBasic ? διότι δεν βλέπω να ρωτάει κανένας τίποτε
Με αποτέλεσμα να μην υπάρχει τίποτα για να διαβάσω και να ενημερωθώ
Και είμαι στην δύσκολη θέση να ρωτήσω, πώς μπορεί να γείνει η μετατροπή ενός
Αριθμού σε γράμμα π.χ. ο αριθμός 65 ο οποίος σε ASCII είναι το ‘Α’
Αν κάποιος δεν ξέρει αλλά ασχολείται με MikroBasic τότε απλά να το πιει για να μην νιώθω μόνος.
Και με μεγάλη μου χαρά απαντώ … :D
Αν είναι κάποιος αριθμός και θέλουμε να δούμε ποιος χαρακτήρας είναι τότε
προσθέτουμε τον αριθμό 48 και το άθροισμα είναι ο χαρακτήρας ascii που ψάχνουμε.
Ενώ αν είναι ήδη χαρακτήρας αλλά τον βλέπουμε σαν αριθμό τότε τον στείλουμε στην LCD
με την εντολή LCD_CHR(2,10,john)
Το (2) σημαίνει ότι θα εμφανιστεί στην δεύτερη γραμμή της LCD .
To (10) σημαίνει ότι θα εμφανιστεί στην δέκατη θέση της δεύτερης γραμμής
Η λέξη (john) είναι το όνομα του καταχωρητή που βρίσκετε ο χαρακτήρας.
Δεν βλέπω κινητικότητα ,για αυτό το λόγο θα αναφέρω μερικά ενδιαφέρων πράγματα
1ον δεν έχει της ιδιοτροπίες της C π.χ. παράξενα σύμβολα , διαγώνιες γραμμές κ.α. που είναι πολύ κουραστικά.
2ον γράφεις σαν να μιλάς σε άνθρωπο
3ον μεγάλες βιβλιοθήκες με τουλάχιστον ένα παράδειγμα στο τέλος
4ον παρά πολλές έτοιμες ρουτίνες π.χ. εγράφη σε LCD , USART κ.α.
5ον ο compiler έχει πολλά εργαλεία για διευκόλυνση π.χ. μετατροπέα σε όλα τα αριθμητικά συστήματα , τερματικό USART , οδηγό σχεδιάσεις γραφικών για οθόνες LCD ή κινητών
6ον επεξεργασία μεγάλων αριθμών, όλων των πράξεων μέχρι και (32bit), ακόμα και με κινητή υποδιαστολή
7ον το βρίσκετε δωρεάν http://www.mikroe.com/en/compilers/mikrobasic/pic/download.htm
το προτείνω ανεπιφύλακτα (καλό είναι να υπάρχει μια εμπειρία με assembly
περιμένω σχόλια
ξερεις ενα τροπο
για να κανεις μια rs-232
σε i2c ;
Αυτο θα μου ελυνε τα χερια.
Φιλικα Γιωργος.
Αν μου πεις περισσότερα πράγματα ίσος να βρούμε μία λύση
Π.χ. θέλεις να στέλνεις δεδομένα από RS232 σε I2C
θα ηθελα να κατασκευασω ενα μετατροπεα
Απο rs-232 σε i2c αυτο το θελω ανφιδρομο.
με αυτο τον τροπο θα μπορεσω να ελενξω πολλα
Αξιολογα CHIP ηχου ,φωτισμου,μνημες,ακομα και
Καποια γραφικα με το αναλογο chip.
φιλικα Γιωργος.
Τι ενέργειες θα έκανες ?
Σε ρωτάω ώστε να μπω στο πνεύμα , πες μου μερικά πράγματα
Πες μου όσα περισσότερα μπορείς .
Θέλω πραγματικά να σε βοηθήσω !
κοιτα αυτο που θελω ειναι το εξις:
θελω οθσιαστικα μια i2c στον υπολογιστη
μου. Γιατι;
μα φυσικα για πειραματισμους ωστε να φτασω
στο σημειο να ελενχω διαφορα chip με αυτο
τον διαυλο και ετσι να κανω διαφορες κατασκευες
π.χ. Ενα μικτη ηχου με ενα chip με διαυλο i2c
που στην ουσια το κυκλωμα θα ειναι:
το chip,το τροφοδοτικο, τα βυσματα για τον ηχο και το ενδιαμεσο
δεν ειναι αυτο κατι καλο;
ενα μικτη εικονας ,Ενα φωτιστικο με τον i2c ολα
ειναι στη φαντασια του καθενος
Ο λογος τωρα που επιλεξα τη rs-232 ειναι γιατι
ολοι οι υπολογιστες εχουν και ειναι κατι απλο
στον προγραματισμο(ολες οι γλωσσες εχουν βιβλιοθηκη)
Το λογισμικο τωρα για να σου περιγραψω πως θα ηθελα
να δουλευει αυτο το ενδιαμεσο θα εχει καταρχην ανφιδρομη
λειτουργεια με τον υπολογιστη . RX, TX
και θα δουλευει με τον εξις τροπο:
ο υπολογιστης θα στελνει τα εξις
1)1 byte εντολης1
2)χ byte εντολης2
3)1 byte εκινισης i2c
και θα περιμενει τα εξις
1)3 byte ολοκληρωσης
2)1-2 byte επιστροφης αν αυτο ερωτηθηκε απο τον υπολογιστη
Υποσημειωση για το 1 byte εντολης1
LOW NIBLE
DCBA
| | | |
| | | \__________
| | \___________ θα περιεχει πληροφοριες
| \____________ για τον αριθμο των χ byte εντολης2
\_____________ που θα εισαχθει στο CHIP (συνηθωσ μεχρι 4) DCBA = 0100
HIGH NIBLE
HGFE
| | | |
| | | \__ NULL
| | \___ NULL
| \____ 0 ΓΙΑ BYTE, 1 ΓΙΑ INTEGER
\_____ 1 ΓΙΑ ΕΝΓΡΑΦΗ ,0 ΓΙΑ ΕΡΩΤΗΣΗ ΕΠΙΣΤΡΟΦΗΣ TIMHΣ ΤΥΠΟΥ INTEGER Η BYTE
Υποσημειωση για το 1 byte εκινησης
HGFEDCBA = 00110000
*κανει Start το i2c
*στελνει τα χ byte εντολης2
* / Η byte εντολης1= 1 κανει Stop το i2c
* |
* αν -+
* |
* \ Η byte εντολης1=0 περιμενει απαντηση απο το chip μηκους 1 η 2 byte(integer)
* κανει Stop το i2c
*
*
*στελνει στον υπολογιστη τα 3 byte ολοκληρωσης
Υποσημειωση για τα 3 byte ολοκληρωσης
1) 00000001 \
2) 00000011 | σωστο
3) 00000111 /
1) 11100000 \
2) 11000000 | λαθος
3) 10000000 /
Υποσημειωση για τα 1-2 byte επιστροφης αν αυτο ερωτηθηκε απο τον υπολογιστη
αν το H του byte εντολης1 ειναι 0 τοτε ο υπολογιστης περιμενει μια επιστροφη τυπου
byte η integer αναλογα με το G του byte εντολης1.
*σε περιπτωση που το H του byte εντολης1 ειναι 1 τοτε δεν υπολογιζεται η τιμη του G
της εντολης1.
Ελπιζω να καταλαβες οτι αυτο που θελω ειναι κατι σχετικα ευκολο
απο πλευρας προγραματισμου(σε basic θα το εκανα αν ειχα τις σχετικες εντολες για τον i2c)
εγραψα και ενα ελεγχο για τα 3 byte ολοκληρωσης.
Φιλικα Γιωργος
Αν το φτιάξεις αυτό , οι συσκευές σου έχουν υποδοχή για I2C ή θα βάλεις κάποιο
κύκλωμα και σε κάθε συσκευή ? π.χ. κάποιο PIC.
σου έχω καλή μία λύση εδώ http://www.nxp.com/products/interface_control/i2c/
να ρωτησω κατι... τι προγραματιστη εχεις για την mikrobasic DT200???
Έχω πάρει από το μία αντιγραφή του PicStartPlus από το eBay , πολλή καλό διότι προγραμματίζω με το MPlab
(Γράφω σε MikroBasic το πρόγραμμα που θέλω , το κάνω hex και μετά με το MPlab προγραμματίζω.)
οκ σε ευχαριστω... εγω νομιζα οτι υπαρχει προγραματιστρια κατευθειαν απο την MikroBasic σε pic. μετα ειδαι οτι το προγραμμα παραγει αρχεια hex.
Υπάρχει βάση προγραμματισμού που συνεργάζεται άμεσα με MikroBasic και είναι και πολύ καλή.
Αν κατάλαβα καλά ξεκίνησες να μαθαίνεις MikroBasic , αυτό είναι πολύ καλό .
Ότι απορία και να έχεις μην ντραπείς να ρωτήσεις .
Καλή επιτυχία .
Αγαπητέ φίλε DT-200 μπορείς σε παρακαλώ να μου πείς πως φορ΄τωνεις με το MPLAB το Hex της microbasic στον κοντρόλερ ?
Κάτι κάνω λάθος και δεν μου βγαίνει...
Όταν γράφω assebly μέσα από το MPLAB κάνει compile & programming κανονικά ο MpASMWIN.
Ευχαριστώ....
OK παιδιά !!! το βρήκα.... σόρρυ για την αναστάτωση !!
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.