PDA

Επιστροφή στο Forum : Απολογισμος πρωτης βδομαδας ενασχολισης με PIC(Σεντονι - απορια)



cloud_constructor
23-10-09, 11:13
Και με τα πολλα ασχολιθηκα κ εγω με Pic..Αχτι το ειχα εδω και χρονια , απο την εποχη που παρατησα τα ηλεκτρονικα γιατι δε μπορουσα να βρω εξαρτηματα που χρειαζοταν ολη την ωρα , ε internet δεν υπηρχε κ ετσι επανηλθα σουπερ προσφατα(1 βδομαδα να μαζεψω εργαλεια και 1 ασχολια με pic.

Εχουμε κ λεμε..Σαββατο , βροχερη μερα ξεκιναω χωρις να ξερω καν που βρησκετε το μαγαζι που ειχα σταμπαρει απο το νετ για να παρω Pic και programmer.Πηρα programmer γιατι ηταν usb και βολευει και για τον laptop.

Την ιδια μερα ξεκηναω να φτιαχνω μια απλη πλακετα με την κλασσικη συνδεσμολογια Pic - Xtal - και τα I/O για χρηση.Ε κατι ψ ψ ψωνια εκει , τουμπανο.

μετα τις επομενες μερες εψαχνα ποια τι γλωσσες free παιζουν αλλα τελικα καταλαβα οτι μαλλον η C ειναι μονοδρομος.Ωραια γλωσσα..Μου φανηκε ποιο κατανοητη..Εστω..μετα απο μερικες δοκιμες με ledaki να αναβοσβηνει σε ολο το Port μετα να αναβει ενα ledaki απο καθε port ερχομαστε και στα leds τνα αναβουν με τη σειρα ενα ενα.. γαμω.

Ομως υπαρχουν απορειες. Και εχουμε κ λεμε.

pic 16f84a

1.Εξ αρχης δε μπορω να ενεργοποιησω το RA4 οπως και τα RB6 -7 -8(νομιζω..ηταν και 3 το βραδυ).

Συμπερασμα δικο μου.Νομιζω οτι το RA4 εχει διπλη λειτουργεια οποτε με καποιο τροπο καθοριζω οτι δε θελω την αλλη λειτουργεια που προφανως αυτη την στιγμη κανει.Σωστα?Πως αλλαζει?

2.Και παλι στην χθεσινη δοκιμη αρχικα δεν δουλευε christ αλλα διαβαζοντας το manual της hitec ειδα οτι εκανε #include <htc.h>.Οταν δεν το ειχα καποιες εντολες δεν παιζανε κ οταν το εβαζα .. παιζανε(αντε..)

Συμπερασμα δικο μου: Νομιζω οτι το htc.h φορτωνει καποιο σετ εντολων οπου βολευει σε απιστευτο βαθμο.Σωστα?Η δε ξερω τι μου γινετε?

Αυτοαααααα.. Και για το τυπικο ακολουθουν ο κωδικας και φωτογραφιες απο το σκουπιδακι που εφτιαξα..

#include <pic.h>
#include <htc.h>

#ifndef _XTAL_FREQ
// Unless already defined assume 4MHz system frequency
// This definition is required to calibrate __delay_us() and __delay_ms()
#define _XTAL_FREQ 4000000
#endif

void main(void){
TRISA = 0xff0;
TRISB = 0xff0;
PORTA = 0;
PORTB = 0;
while(1){
NOP();
RA0 = 1;
__delay_ms(100);
CLRWDT();
RA0 = 0;
RA1 = 1;
__delay_ms(100);
CLRWDT();
RA1 = 0;
RA2 = 1;
__delay_ms(100);
CLRWDT();
RA2 = 0;
RA3 = 1;
__delay_ms(100);
CLRWDT();
RA3 = 0;
RA4 = 1;
__delay_ms(100);
CLRWDT();
RA4 = 0;
RB0 = 1;
__delay_ms(100);
CLRWDT();
RB0 = 0;
RB1 = 1;
__delay_ms(100);
CLRWDT();
RB1 = 0;
RB2 = 1;
__delay_ms(100);
CLRWDT();
RB2 = 0;
RB3 = 1;
__delay_ms(100);
CLRWDT();
RB3 = 0;
RB4 = 1;
__delay_ms(100);
CLRWDT();
RB4 = 0;
RB5 = 1;
__delay_ms(100);
CLRWDT();
RB5 = 0;
RB6 = 1;
__delay_ms(100);
CLRWDT();
RB6 = 0;
RB7 = 1;
__delay_ms(100);
CLRWDT();
RB7 = 0;
}
}

Παρακατω οι εικονες.Νταξει ειναι λιγο χυμαντζιδικη η κατασκευη με φαγωμενη απο τα ποντικια πλακετα.Ακολουθει το σχεδιαγραμα κατα γραμμα που και αυτο ηταν χυμα εντελως(αν κ αυτο το εφτιαξα μετα αφου το τελειωσα γιατι στην αρχη ειχα κανει ενα μπλοκ διαγραμμα.

167vasgio
23-10-09, 15:04
αυτό που σου χρειάζετε για να ανάβουν τα led στην σειρά είναι η ολίσθηση.,δεξιά ή αριστερά ότι θές,.πχ εγώ με τον 16f628 4MHz κρύσταλο κάνω το εξής

#include <16f628.h>
#use_delay(clock=4000000)
#byte PORTB = 0x06

void main(){
int i=0b00000001;

set_tris_b(0x00);
do{
PORTB = i;
i = i << 1;
delay_ms(1000);
}while(i!=0b00000000);
}

cloud_constructor
23-10-09, 15:23
ουπς.. ποιο απλο.Καλα εννοειται. Συνεχιζω την μελετη.thnx

167vasgio
23-10-09, 15:33
.,...:001_smile:

Nemmesis
23-10-09, 15:56
το καλητερο που εχει να κανεις ειναι να κατεβασεις και διαβασεις ΚΑΛΑ το datasheet του πικ σου... ειναι καλογραμενο και κυριολεκτικα εχουν ΤΑ ΠΑΝΤΑ για τον πικ που θελεις... κατεβασετω και διαβασε γιατι δεν σου δουλευει η RA4

lastid
23-10-09, 16:18
Από το σχήμα της σελίδας 15 στο datasheet του PIC16F84A (http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf), βλέπουμε ότι η RA4 έχει έξοδο ανοιχτού συλλέκτη, σε αντίθεση με όλες τις άλλες εξόδους.
Όσο για την κατασκευή , μ' αρέσουν οι βίδες-πόδια. Δείχνουν χαρακτήρα :001_smile:

gsmaster
23-10-09, 16:54
Αυτο που σου χρειάζεται σίγουρα είναι να σβήσει το κολλητήρι και να πάρεις αυτό

http://images.google.gr/images?q=breadboard

cloud_constructor
23-10-09, 17:13
μπα εχω και ψωμοσανιδα(breadboard) απλα ηθελα λιγο ποιο συμπαγες μαραφετι.Καλα οι βιδες ειναι κατι παραπανω απο ποδια..Εινια... Δε ξερω τι ειναι..Απλα ενιωσα οτι επρεπε να τις κανω γιατι θα το μετανοιωνα αργοτερα αν δε τις ειχα κανει(πχ μπορει σιγα σιγα να γεμισει εξαρτηματα κ να πω οκ.. σφυριλατω την πλακετα μεσα σε μια κατασκευη που βαριεμαι να ξαναφτιαξω απο την αρχη οποτε ..τσααακ τι βιδωνεις και αντε γεια)

πω φιλε δεν ειχα μελετισει το datasheet ολοκληρωμενα , με εφαγε η βιασυνη.Ευτυχως(ας πουμε) που ΣΚ θα βρεχει οποτε θα αναγκαστω να μεινω σπιτι και να ασχολιθω με μια σειρα.

Τελικα αυτο με το #include <htc.h> που ελεγα παραπανω υσχιει?

Α και μια extra ερωτηση: Γιατι void main() {} ?Το "void" ειναι declaration σε φαση "function" οπως στην php πχ (που ξερω μονο)

ultra-super-duper-mega-thanx εννοειται ε..

ΥΓ.Θα προσπαθησω να μη γινω πριξας..

jimk
23-10-09, 17:49
http://dm.ncl.ac.uk/peterevans/blog/wp-content/uploads/2009/05/dolby_sr_breadboard.jpg

χαμος στο ισωμα

cloud_constructor
23-10-09, 18:03
PeEeEeEeEnG!Ολα τα λεφτα ειναι τα μικρα πλακετακια που εχει γυρω γυρω..

JOUN
24-10-09, 21:36
Εγω βλεπω οτι εχει και καλωδια RG316.Δηλαδη ειναι και RF?