Πίνακας περιεχομένων:
- Βήμα 1: Γραφή προγράμματος και μεταγλώττιση του αρχείου Hex, χρησιμοποιώντας το Atmel Studio
- Βήμα 2: Αλλαγή της Προεπιλεγμένης Διαμόρφωσης των Μπιτ Ασφαλείας Μικρού Ελεγκτή
- Βήμα 3: Κάψιμο του προγράμματος στη μνήμη του μικροελεγκτή ATMega328P
- Βήμα 4: Ελέγξτε ότι ο μικροελεγκτής λειτουργεί σύμφωνα με τις οδηγίες του προγράμματός μας
- Βήμα 5: Συμπέρασμα
Βίντεο: AVR Μικροελεγκτή Fuse Bits Διαμόρφωση. Δημιουργία και μεταφόρτωση στη μνήμη flash του μικροελεγκτή του προγράμματος αναβοσβήνει LED .: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Σε αυτήν την περίπτωση θα δημιουργήσουμε απλό πρόγραμμα σε κώδικα C και θα το γράψουμε στη μνήμη του μικροελεγκτή. Θα γράψουμε το δικό μας πρόγραμμα και θα μεταγλωττίσουμε το εξάγωνο αρχείο, χρησιμοποιώντας το Atmel Studio ως ολοκληρωμένη πλατφόρμα ανάπτυξης. Θα διαμορφώσουμε bit ασφάλειας και θα ανεβάσουμε εξάγωνο αρχείο στη μνήμη του μικροελεγκτή AVR ATMega328P, χρησιμοποιώντας τον δικό μας προγραμματιστή και λογισμικό AVRDUDE.
AVRDUDE - είναι ένα πρόγραμμα για τη λήψη και τη μεταφόρτωση των αναμνήσεων στα τσιπ των μικροελεγκτών AVR της Atmel. Μπορεί να προγραμματίσει το Flash και το EEPROM, και όπου υποστηρίζεται από το πρωτόκολλο σειριακού προγραμματισμού, μπορεί να προγραμματίσει bits ασφάλειας και κλειδώματος.
Βήμα 1: Γραφή προγράμματος και μεταγλώττιση του αρχείου Hex, χρησιμοποιώντας το Atmel Studio
Εάν δεν έχετε Atmel Studio, πρέπει να το κατεβάσετε και να το εγκαταστήσετε:
Αυτό το έργο θα χρησιμοποιήσει το C, οπότε επιλέξτε την επιλογή GCC C Executable Project από τη λίστα προτύπων για να δημιουργήσετε ένα εκτελέσιμο έργο γυμνού οστού.
Στη συνέχεια, είναι απαραίτητο να καθορίσετε για ποια συσκευή θα αναπτυχθεί το έργο. Αυτό το έργο θα αναπτυχθεί για τον μικροελεγκτή AVR ATMega328P.
Πληκτρολογήστε τον κώδικα του προγράμματος στην περιοχή Επεξεργαστής κύριας πηγής του Atmel Studio. Ο κύριος επεξεργαστής πηγής - Αυτό το παράθυρο είναι ο κύριος επεξεργαστής για τα αρχεία προέλευσης στο τρέχον έργο. Ο επεξεργαστής διαθέτει ορθογραφικό έλεγχο και αυτόματη πλήρη λειτουργία.
1. Πρέπει να πούμε στον μεταγλωττιστή με ποια ταχύτητα λειτουργεί το τσιπ μας ότι μπορεί να υπολογίσει σωστά τις καθυστερήσεις.
#ifndef F_CPU
#define F_CPU 16000000UL // ειδοποίηση κρυστάλλινης συχνότητας ελεγκτή (16 MHz AVR ATMega328P) #endif
2. Συμπεριλαμβάνουμε το προοίμιο, όπου τοποθετούμε τις πληροφορίες συμπερίληψης από άλλα αρχεία, που ορίζουν καθολικές μεταβλητές και συναρτήσεις.
#include // header για να ενεργοποιήσετε τον έλεγχο ροής δεδομένων στις ακίδες. Ορίζει ακίδες, θύρες κ.λπ.
#include // header για να ενεργοποιήσετε τη λειτουργία καθυστέρησης στο πρόγραμμα
3. Μετά το προοίμιο έρχεται η κύρια () συνάρτηση.
int main (άκυρο) {
Η κύρια () συνάρτηση είναι μοναδική και ξεχωρίζει από όλες τις άλλες συναρτήσεις. Κάθε πρόγραμμα C πρέπει να έχει ακριβώς μία κύρια () συνάρτηση. Το Main () είναι το σημείο όπου το AVR ξεκινά την εκτέλεση του κώδικα σας όταν αρχίσει να τροφοδοτείται για πρώτη φορά, οπότε είναι το σημείο εισόδου του προγράμματος.
4. Ορίστε τον ακροδέκτη 0 του PORTB ως έξοδο.
DDRB = 0b00000001; // Ορίστε το PORTB1 ως έξοδο
Το κάνουμε αυτό γράφοντας έναν δυαδικό αριθμό στον Μητρώο Κατεύθυνσης Δεδομένων Β. Ο Μητρώος Κατεύθυνσης Δεδομένων Β μας επιτρέπει να κάνουμε τα δυαδικά ψηφία του καταχωρητή Β εισόδου ή εξόδου. Γράφοντας ένα 1 τα βγάζει, ενώ ένα 0 τα κάνει εισαγωγή. Δεδομένου ότι συνδέουμε ένα LED για να λειτουργήσει ως έξοδος, γράφουμε έναν δυαδικό αριθμό, κάνοντας τον πείρο 0 του PORT B ως έξοδο.
5. Βρόχος.
ενώ (1) {
Αυτή η δήλωση είναι ένας βρόχος, που συχνά αναφέρεται ως κύριος βρόχος ή βρόχος συμβάντος. Αυτός ο κωδικός ισχύει πάντα. Συνεπώς, εκτελείται ξανά και ξανά σε έναν άπειρο βρόχο. Δεν παύει ποτέ. Επομένως, η λυχνία LED θα αναβοσβήνει στο άπειρο, εκτός εάν η τροφοδοσία απενεργοποιηθεί από τον μικροελεγκτή ή ο κωδικός διαγραφεί από τη μνήμη του προγράμματος.
6. Ενεργοποιήστε το LED που είναι προσαρτημένο στη θύρα PB0
PORTB = 0b00000001; // ανάβει το LED που είναι συνδεδεμένο στη θύρα PB0
Αυτή η γραμμή, δίνει ένα 1 στο PB0 του PortB. Το PORTB είναι ένας καταχωρητής υλικού στο τσιπ AVR που περιέχει 8 ακίδες, PB7-PB0, από αριστερά προς τα δεξιά. Βάζοντας ένα 1 στο τέλος δίνει ένα 1 στο PB0. αυτό θέτει το PB0 υψηλό το οποίο το ενεργοποιεί. Επομένως, η λυχνία LED που είναι προσαρτημένη στον ακροδέκτη PB0 θα ανάψει και θα ανάψει.
7. Καθυστέρηση
_delay_ms (1000); // δημιουργεί καθυστέρηση 1 δευτερολέπτου
Αυτή η δήλωση δημιουργεί καθυστέρηση 1 δευτερολέπτου, έτσι ώστε η λυχνία LED να ανάβει και να παραμένει αναμμένη για ακριβώς 1 δευτερόλεπτο.
8. Απενεργοποιήστε όλες τις ακίδες Β, συμπεριλαμβανομένου του PB0
PORTB = 0b00000000; // Απενεργοποιεί όλες τις ακίδες Β, συμπεριλαμβανομένου του PB0
Αυτή η γραμμή απενεργοποιεί και τους 8 ακροδέκτες της θύρας B, έτσι ώστε ακόμη και το PB0 να είναι απενεργοποιημένο, οπότε το LED σβήνει.
9. Άλλη καθυστέρηση
_delay_ms (1000); // δημιουργεί άλλη καθυστέρηση 1 δευτερολέπτου
Απενεργοποιείται ακριβώς για 1 δευτερόλεπτο, πριν ξεκινήσει ξανά ο βρόχος και συναντήσει τη γραμμή, η οποία τον ενεργοποιεί ξανά, επαναλαμβάνοντας τη διαδικασία σε όλη την έκταση. Αυτό συμβαίνει απεριόριστα έτσι ώστε η λυχνία LED να αναβοσβήνει συνεχώς και να σβήνει.
10. Δήλωση επιστροφής
}
επιστροφή (0)? // αυτή η γραμμή δεν φτάνει ποτέ στην πραγματικότητα}
Η τελευταία γραμμή του κωδικού μας είναι μια δήλωση επιστροφής (0). Παρόλο που αυτός ο κώδικας δεν εκτελείται ποτέ, επειδή υπάρχει ένας άπειρος βρόχος που δεν τελειώνει ποτέ, για τα προγράμματά μας που εκτελούνται σε επιτραπέζιους υπολογιστές, είναι σημαντικό το λειτουργικό σύστημα να γνωρίζει αν λειτουργούσε σωστά ή όχι. Για το λόγο αυτό, το GCC, ο μεταγλωττιστής μας, θέλει κάθε κύρια () να τελειώνει με έναν κωδικό επιστροφής. Οι κωδικοί επιστροφής είναι περιττοί για τον κώδικα AVR, ο οποίος λειτουργεί ανεξάρτητα από οποιοδήποτε λειτουργικό σύστημα υποστήριξης. Ωστόσο, ο μεταγλωττιστής θα προειδοποιήσει εάν δεν τελειώσετε το κύριο με επιστροφή ().
Το τελευταίο βήμα είναι η κατασκευή του έργου. Σημαίνει μεταγλώττιση και τέλος σύνδεση όλων των αρχείων αντικειμένων για τη δημιουργία του εκτελέσιμου αρχείου (.hex). Αυτό το δεκαεξαδικό αρχείο δημιουργείται μέσα στο φάκελο εντοπισμού σφαλμάτων που βρίσκεται μέσα στο φάκελο Project. Αυτό το εξάγωνο αρχείο είναι έτοιμο για φόρτωση στο τσιπ μικροελεγκτή.
Βήμα 2: Αλλαγή της Προεπιλεγμένης Διαμόρφωσης των Μπιτ Ασφαλείας Μικρού Ελεγκτή
Είναι σημαντικό να θυμόμαστε ότι μερικά από τα κομμάτια ασφάλειας μπορούν να χρησιμοποιηθούν για να κλειδώσουν ορισμένες πτυχές του τσιπ και να το φτιάξουν (να το κάνουν αχρησιμοποίητο)
Υπάρχουν συνολικά 19 bits ασφάλειας που χρησιμοποιούνται στο ATmega328P και χωρίζονται σε τρία διαφορετικά byte ασφάλειας. Τρία από τα κομμάτια ασφάλειας περιέχονται στο "Extended Fuse Byte", οκτώ περιλαμβάνονται στο "Fuse High Byte" και οκτώ άλλα περιέχονται στο "Fuse Low Byte". Υπάρχει επίσης ένα τέταρτο byte που χρησιμοποιείται για τον προγραμματισμό των μπιτ κλειδώματος.
Κάθε byte είναι 8 bit και κάθε bit είναι μια ξεχωριστή ρύθμιση ή σημαία. Όταν μιλάμε για ρύθμιση, όχι ρύθμιση, προγραμματισμένες, μη προγραμματισμένες ασφάλειες, στην πραγματικότητα χρησιμοποιούμε δυαδικό. 1 σημαίνει μη ρυθμισμένο, μη προγραμματισμένο και μηδέν σημαίνει καθορισμένο, προγραμματισμένο. Κατά τον προγραμματισμό των ασφαλειών μπορείτε να χρησιμοποιήσετε δυαδική σημειογραφία ή πιο συχνά δεκαεξαδική σημειογραφία.
Τα τσιπ ATmega 328P έχουν ενσωματωμένο ταλαντωτή RC που έχει συχνότητα 8 MHz. Νέα τσιπ αποστέλλονται με αυτό το σετ ως πηγή ρολογιού και την ασφάλεια CKDIV8 ενεργή, με αποτέλεσμα ένα ρολόι συστήματος 1 MHz. Ο χρόνος εκκίνησης έχει οριστεί στο μέγιστο και η περίοδος λήξης είναι ενεργοποιημένη.
Τα νέα τσιπ ATMega 328P έχουν γενικά τις ακόλουθες ρυθμίσεις ασφάλειας:
Χαμηλή ασφάλεια = 0x62 (0b01100010)
Υψηλή ασφάλεια = 0xD9 (0b11011001)
Εκτεταμένη ασφάλεια = 0xFF (0b11111111)
Θα χρησιμοποιήσουμε τσιπ ATmega 328 με εξωτερικό κρύσταλλο 16MHz. Επομένως, πρέπει να προγραμματίσουμε ανάλογα τα κομμάτια του "Fuse Low Byte".
1. Τα δυαδικά ψηφία 3-0 ελέγχουν την επιλογή ταλαντωτή και η προεπιλεγμένη ρύθμιση του 0010 είναι η χρήση του βαθμονομημένου εσωτερικού ταλαντωτή RC, κάτι που δεν θέλουμε. Θέλουμε τη λειτουργία κρυσταλλικού ταλαντωτή χαμηλής ισχύος από 8,0 έως 16,0 MHz, οπότε τα bits 3-1 (CKSEL [3: 1]) πρέπει να ρυθμιστούν σε 111.
2. Τα bit 5 και 4 ελέγχουν τον χρόνο εκκίνησης και η προεπιλεγμένη ρύθμιση 10 είναι για καθυστέρηση εκκίνησης έξι κύκλων ρολογιού από την απενεργοποίηση και την εξοικονόμηση ενέργειας, συν μια επιπλέον καθυστέρηση εκκίνησης 14 κύκλων ρολογιού συν 65 χιλιοστά του δευτερολέπτου από την επαναφορά.
Για να είμαστε ασφαλείς για έναν ταλαντωτή κρυστάλλου χαμηλής ισχύος, θέλουμε τη μέγιστη δυνατή καθυστέρηση 16.000 κύκλων ρολογιού από την απενεργοποίηση και την εξοικονόμηση ενέργειας, οπότε το SUT [1] πρέπει να ρυθμιστεί σε 1, συν μια επιπλέον καθυστέρηση εκκίνησης από 14 κύκλους ρολογιού συν 65 χιλιοστά του δευτερολέπτου από την επαναφορά, οπότε το SUT [0] πρέπει να ρυθμιστεί στο 1. Επιπλέον, το CKSEL [0] πρέπει να ρυθμιστεί στο 1.
3. Το bit 6 ελέγχει την έξοδο ρολογιού στο PORTB0, κάτι που δεν μας ενδιαφέρει. Έτσι, το bit 6 μπορεί να αφεθεί σε 1.
4. Το bit 7 ελέγχει τη λειτουργία διαίρεσης προς 8 και η προεπιλεγμένη ρύθμιση 0 έχει ενεργοποιημένη τη δυνατότητα, κάτι που δεν θέλουμε. Έτσι, το bit 7 πρέπει να αλλάξει από 0 σε 1.
Επομένως, το νέο Fuse Low Byte θα πρέπει να είναι 11111111 το οποίο, σε δεκαεξαδική συμβολή, είναι 0xFF
Για να προγραμματίσουμε κομμάτια του "Fuse Low Byte" μπορούμε να χρησιμοποιήσουμε τον προγραμματιστή μας (https://www.instructables.com/id/ISP-Programmer-fo…) και το λογισμικό AVRDUDE. Το AVRDUDE είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που χρησιμοποιείται για λήψη και μεταφόρτωση από μικροελεγκτές Atmel.
Λήψη AVRDUDE:
Πρώτον, πρέπει να προσθέσουμε περιγραφή του προγραμματιστή μας στο αρχείο διαμόρφωσης του AVRDUDE. Στα Windows το αρχείο διαμόρφωσης βρίσκεται συνήθως στην ίδια θέση με το εκτελέσιμο αρχείο του AVRDUDE.
Επικολλήστε το κείμενο στο αρχείο διαμόρφωσης avrdude.conf:
# ISPProgv1
προγραμματιστής id = "ISPProgv1"; desc = "σειριακή θύρα χτυπήματος, επαναφορά = dtr sck = rts mosi = txd miso = cts"; type = "serbb"; connection_type = σειριακό; επαναφορά = 4; sck = 7; mosi = 3; miso = 8; ?
Πριν ξεκινήσουμε το AVRDUDE, πρέπει να συνδέσουμε τον μικροελεγκτή στον προγραμματιστή, σύμφωνα με το σχήμα
Ανοίξτε το παράθυρο προτροπής DOS.
1. Για να δείτε τη λίστα προγραμματιστών που υποστηρίζει το avrdude, πληκτρολογήστε εντολή avrdude -c c. Εάν όλα είναι καλά, η λίστα πρέπει να έχει αναγνωριστικό προγραμματιστή "ISPProgv1"
2. Για να δείτε τη λίστα των συσκευών Atmel που υποστηρίζονται από το avrdude, πληκτρολογήστε εντολή avrdude -c ISPProgv1. Η λίστα θα πρέπει να διαθέτει συσκευή m328p για το Atmel ATMega 328P.
Στη συνέχεια, πληκτρολογήστε avrdude -c ISPProgv1 –p m328p, η εντολή πείτε στον avrdude ποιος προγραμματιστής χρησιμοποιείται και τι είναι προσαρτημένος ο μικροελεγκτής Atmel. Παρουσιάζει την υπογραφή ATmega328P με δεκαεξαδική σημειογραφία: 0x1e950f. Παρουσιάζει τον προγραμματισμό μπιτ ασφάλειας που βρίσκεται επί του παρόντος στο ATmega328P επίσης σε δεκαεξαδική σημειογραφία. Σε αυτήν την περίπτωση, τα byte ασφάλειας προγραμματίζονται ανά εργοστασιακή προεπιλογή.
Στη συνέχεια, πληκτρολογήστε avrdude -c ISPProgv1 –p m328p –U lfuse: w: 0xFF: m, Είναι μια εντολή να πείτε στον avrdude ποιος προγραμματιστής χρησιμοποιείται και ποιος είναι ο μικροελεγκτής Atmel και να αλλάξετε το Fuse Low Byte σε 0xFF.
Τώρα το σήμα του ρολογιού θα πρέπει να προέρχεται από κρυσταλλικό ταλαντωτή χαμηλής ισχύος.
Βήμα 3: Κάψιμο του προγράμματος στη μνήμη του μικροελεγκτή ATMega328P
Αρχικά, αντιγράψτε το hex αρχείο του προγράμματος που δημιουργήσαμε στην αρχή της οδηγίας στον κατάλογο AVRDUDE.
Στη συνέχεια, πληκτρολογήστε στο παράθυρο προτροπής DOS την εντολή avrdude –c ISPProgv1 –p m328p –u –U flash: w: [όνομα του δεκαεξαδικού αρχείου σας]
Η εντολή γράφει εξάγωνο αρχείο στη μνήμη του μικροελεγκτή. Τώρα, ο μικροελεγκτής λειτουργεί σύμφωνα με τις οδηγίες του προγράμματός μας. Ας το ελέγξουμε!
Βήμα 4: Ελέγξτε ότι ο μικροελεγκτής λειτουργεί σύμφωνα με τις οδηγίες του προγράμματός μας
Συνδέστε εξαρτήματα σύμφωνα με το σχηματικό διάγραμμα του κυκλώματος LED που αναβοσβήνει AVR
Πρώτον, χρειαζόμαστε ενέργεια, όπως κάνουν όλα τα κυκλώματα AVR. Περίπου 5 βολτ ισχύος είναι αρκετά για τη λειτουργία του τσιπ AVR. Μπορείτε να το πάρετε είτε από μπαταρίες είτε από τροφοδοτικό DC. Συνδέουμε +5V ισχύος στον πείρο 7 και συνδέουμε τον πείρο 8 στη γείωση στο breadboard. Μεταξύ των δύο ακίδων, τοποθετούμε έναν κεραμικό πυκνωτή 0.1μF για να εξομαλύνουμε την ισχύ του τροφοδοτικού, έτσι ώστε το τσιπ AVR να έχει μια ομαλή γραμμή τροφοδοσίας.
Η αντίσταση 10KΩ χρησιμοποιείται για να παρέχει Power On Reset (POR) στη συσκευή. Όταν η τροφοδοσία είναι ενεργοποιημένη, η τάση στον πυκνωτή θα είναι μηδενική, οπότε η συσκευή επανεκκινείται (εφόσον η επαναφορά είναι χαμηλή), τότε ο πυκνωτής φορτίζεται στο VCC και η επαναφορά θα απενεργοποιηθεί.
Συνδέουμε την άνοδο του LED μας στον πείρο AVR PB0. Αυτό είναι το pin 14 του ATMega328P. Δεδομένου ότι είναι LED, θέλουμε να περιορίσουμε το ρεύμα που ρέει στο LED, ώστε να μην καεί. Αυτός είναι ο λόγος για τον οποίο τοποθετούμε μια αντίσταση 330Ω σε σειρά με το LED. Η κάθοδος του LED συνδέεται με τη γείωση.
Ο κρύσταλλος 16 MHz χρησιμοποιείται για την παροχή ρολογιού για τον μικροελεγκτή Atmega328 και οι πυκνωτές 22pF χρησιμοποιούνται για τη σταθεροποίηση της λειτουργίας του κρυστάλλου.
Αυτές είναι όλες οι απαραίτητες συνδέσεις για να ανάψει το LED. Παροχή ηλεκτρικού ρεύματος.
Εντάξει. Η λυχνία LED αναβοσβήνει με καθυστέρηση ενός δευτερολέπτου. Το έργο του μικροελεγκτή αντιστοιχεί στις εργασίες μας
Βήμα 5: Συμπέρασμα
Ομολογουμένως, αυτή ήταν μια μακρά διαδικασία για να αναβοσβήνει ένα LED, αλλά η αλήθεια είναι ότι έχετε ξεπεράσει με επιτυχία τα σημαντικά εμπόδια: τη δημιουργία μιας πλατφόρμας υλικού για τον προγραμματισμό ενός μικροελεγκτή AVR, τη χρήση του Atmel Studio ως την ολοκληρωμένη πλατφόρμα ανάπτυξης, χρησιμοποιώντας το AVRDUDE ως λογισμικό για διαμόρφωση και προγραμματισμός μικροελεγκτή AVR
Αν θέλετε να ενημερώνεστε για τα βασικά μου έργα μικροελεγκτών, εγγραφείτε στο YouTube μου! Η παρακολούθηση και η κοινή χρήση των βίντεό μου είναι ένας τρόπος για να υποστηρίξω αυτό που κάνω
Εγγραφείτε στο κανάλι YouTube FOG
Συνιστάται:
Ο γρήγορος οδηγός για τη δημιουργία βίντεο με το iPhone σας και τη μεταφόρτωσή του στο Facebook ή στο YouTube: 9 βήματα
Ο γρήγορος οδηγός για τη δημιουργία βίντεο με το iPhone σας και τη μεταφόρτωσή του στο Facebook ή στο YouTube: Χρησιμοποιήστε αυτήν την απλή διαδικασία 5 βημάτων (το Instructables το κάνει να μοιάζει με περισσότερα βήματα από ό, τι είναι στην πραγματικότητα) για να δημιουργήσετε και να ανεβάσετε το πρώτο σας βίντεο YouTube ή Facebook - χρησιμοποιώντας μόνο το iPhone σας
Χρονοδιακόπτης NE555 - Διαμόρφωση του χρονοδιακόπτη NE555 σε σταθερή διαμόρφωση: 7 βήματα
Χρονοδιακόπτης NE555 | Διαμόρφωση του χρονοδιακόπτη NE555 σε σταθερή διαμόρφωση: Ο χρονοδιακόπτης NE555 είναι ένα από τα πιο συχνά χρησιμοποιούμενα IC στον κόσμο των ηλεκτρονικών. Έχει τη μορφή DIP 8, που σημαίνει ότι διαθέτει 8 ακίδες
Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: 5 βήματα (με εικόνες)
Χρήση του PSP ως Joystick του υπολογιστή και στη συνέχεια έλεγχος του υπολογιστή σας με το PSP: Μπορείτε να κάνετε πολλά ωραία πράγματα με το PSP homebrew και σε αυτό το εκπαιδευτικό πρόγραμμα θα σας μάθω πώς να χρησιμοποιείτε το PSP σας ως χειριστήριο για παιχνίδια, αλλά υπάρχει επίσης ένα πρόγραμμα που σας επιτρέπει να χρησιμοποιείτε το joystick ως ποντίκι. Εδώ είναι η μητέρα
TI-83 ή 84 Εισαγωγή στη δημιουργία προγράμματος: 5 βήματα
TI-83 ή 84 Εισαγωγή στη δημιουργία προγράμματος: γεια σας, αυτό είναι ένα διδακτικό που εξηγεί τα βασικά του προγραμματισμού στον υπολογιστή σας TI-83 84. Επίσης, θα μπορούσα να κάνω άλλες οδηγίες για πιο συγκεκριμένα πράγματα, ανάλογα με τα σχόλια. Συγγνώμη για τις εικόνες, είμαι κακός με μια κάμερα
Δημιουργία προγράμματος στη Visual Basic: Πρόγραμμα περιήγησης στο Web: 9 βήματα
Δημιουργία προγράμματος στη Visual Basic: Web Browser: Αυτό το Instructable εξηγεί τη διαδικασία δημιουργίας μιας απλής εφαρμογής προγράμματος περιήγησης στο VB.NET. Έχει σχεδιαστεί ως συνέχεια του πρώτου μου VB.NET Instructable: Δημιουργία του πρώτου προγράμματος στην Visual Basic. Συνιστάται να διαβάσετε αυτό το κείμενο