PDA

Επιστροφή στο Forum : pic16f88 και internal osc



Nemmesis
05-01-08, 22:42
παδια θελω να κανω τον f88 να δουλευει με τον εσωτερικο του κρυσταλλο αλλα για καποιον λογο δεν μπορω... :evil: :evil: :evil:
μετα απο διαβασμα του datasheet κατι βρηκα αλλα δεν μπορεσα να το δουλεψω...
σαν ρυθμισεις εχω

_CONFIG: 0x3F18
_CONFIG_2: 0x3FFC

και φυσικα στο προγραμμα δηλωσα
OSCCON = $7c

καμια βοηθεια?

DT200
05-01-08, 23:55
δεν καταλαβαίνω αν το κάνεις με εντολές η με
το πινακάκι στην MikroBasic

πρόσεχε το MCLR
με κρύσταλλο έχει δουλέψει ?

μπορεί να μην του αρέσει να έχει ταυτόχρονα εσωτερικό κρύσταλλο και MCLR OFF

Nemmesis
06-01-08, 01:43
δεν καταλαβαίνω αν το κάνεις με εντολές η με
το πινακάκι στην MikroBasic

πρόσεχε το MCLR
με κρύσταλλο έχει δουλέψει ?

μπορεί να μην του αρέσει να έχει ταυτόχρονα εσωτερικό κρύσταλλο και MCLR OFF

προγραμματακι που θελω να κανω ειναι παρα πολυ απλο... να κανει την portb εξοδο και να την εχει σε high level...
οποτε με κρυσταλο δουλευει 1000%...

το κανω με το πινακάκι στην MikroBasic
αλλα χρειαζετε και η εντολη OSCCON για να πω σε πια ταχητυτα να τρεχει ο πικ...
το δοκιμασα και ετσι ακριβως οπως το διχνεις στις εικονες σου αλλα τπτ...
σημερα δεν βγηκα μονο και μονο για αυτον τον λογο... εσκασα απο το μεσημερι αλλα μαλλον τελικα εφαγα ηττα για σημερα...

DT200
06-01-08, 12:56
αν δεν έχεις δοκιμάσει με κρύσταλλο , δοκίμασε το.
δοκίμασε χωρείς την εντολή OSCCON .

αν θέλεις δημοσίευσε το να του ρίξω μία ματιά (που δεν νομίζω να έχει πρόβλημα)

Nemmesis
06-01-08, 13:54
αν δεν έχεις δοκιμάσει με κρύσταλλο , δοκίμασε το.
δοκίμασε χωρείς την εντολή OSCCON .

αν θέλεις δημοσίευσε το να του ρίξω μία ματιά (που δεν νομίζω να έχει πρόβλημα)


program dred


main:

INTCON = 0
ANSEL = 0
TRISB = 0

loopa:
portb = %11111111
delay_ms(1000)
portb = %00000000
delay_ms(1000)
goto loopa


end.


ο κωδικας δουλευει... μπορεσα να το κανω να δουλεψει και με το εσωτερικο osc αλλα μονο στα 32kHz :(
μολις πειραζω την osccon δεν κανει τπτ...
οι ρυθμισεις ειναι

_CONFIG: 0x3F18
_CONFIG_2: 0x3FFC

DT200
06-01-08, 14:22
πώς το ξέρεις ότι δουλεύει στα 32KHz.
αλλά και αν είναι έτσι δεν σε επηρεάζει καθόλου
στην προκειμένη περίπτωση.

εσύ τι ταχύτητα κρυστάλλου δηλώνεις ?

Nemmesis
06-01-08, 14:52
εγω δηλωσα 8MHz αλλα χωρις να δηλωσω πουθενα την osccon οταν ετρεχα το προγραμμα αναβε το λεντακι αλλα δεν εσβινε... οποτε υπεθεσα για να αναβει το λεντακι το προγραμα "τρεχει"... οποτε αφου η default τιμη της osccon ειναι 0 τοτε η ταχυτητα ειναι 31.25KHz... εβαλα στο clock 31.25KHz και το λεντακι αναβει και σβινει καθει 1sec... οποτε το ρολοι ειναι 31.25KHz...

ποτε δεν περημενα να φαω τοσο κολλημα με το internal...

DT200
06-01-08, 15:51
έχω πολύ ώρα τώρα πού διαβάζω την διαδικασία αλλαγής ταχύτητας του
μ/ε και είναι αρκετά περίπλοκο , ειδικά αφού δεν έχω τον μ/ε για να πειραματιστώ

το παράξενο είναι ότι εγώ δεν το έχω αντιμετωπίσει ποτέ αυτό το πρόβλημα
και χρησιμοποιώ συνέχεια του εσωτερικούς ταλαντωτές (όχι σε 16F88)

τι θα έκανα εγώ.
επανεκκίνηση του PC και μετά θα δημιουργούσα ένα καινούριο πρόγραμμα
από την αρχή και θα δήλωνα από το πινακάκι την ταχύτητα που θέλω.
ακούγετε χαζό αλλά εμένα μου έχει πετύχει παλιότερα .

Nemmesis
06-01-08, 16:20
ok.. σε ευχαριστω... αυτο θα κανω... και μαλιστα δεν θα κανω επανεκκίνηση αλλα θα τον κλεισω και θα παω καμια γυρα με τα φιλαρακια γιατι δεν την παλεβω αλλο, το κεφαλι μου εγινε καζανι... αργοτερα το βραδι η ισως και αυριο να ασχολειθω ξανα...

DT200
09-01-08, 09:12
Φίλε Nemmesis , τι έγινε με το ρημάδι, δούλεψε ?

Πέτροs
09-01-08, 09:25
Αν και λιγο καθυστερημενα Χρονια Πολλα!!! Γιαννη

DT200
09-01-08, 09:27
σε ευχαριστώ πολύ φίλε Πέτρο !

Nemmesis
09-01-08, 16:38
φιλε DT200 το ειχα παρατησει... αλλα μιας και ειδα οτι ρωτησες ειπα να το κοιταξω ξανα...
ε και τρελαθηκα... στα fuses δεν αλλαξα τπτ...
_CONFIG: 0x3F18
_CONFIG_2: 0x3FFC

το προγραμα ειναι...


program dred

main:
osccon = %01110000
INTCON = 0
ANSEL = 0
trisb=0 'set PortB to output
PortB=%11111111 ' turm portB on
delay_ms(500) ' wait half a second
PortB=%00000000 ' turn portB off
delay_ms(500) ' wait half a second

goto main ' do it all over again

end.

end.


δουλευει....... δλδ ελεος.... το εκανα αυτο 15 φορες και δεν δουλευει...
το μονο που εκανα διαφορετικα ειναι οτι ξεσυνδεσα τον pic16pro απο την παραλληληξ για χτες για να δοκιμασω εναν παλιο εκτυπωτη που μου φεραν... και οτι αλλαξα την συχνοτητα λειτουργιας του πικ οχι απο το αριστερο παραθυρο στην mikrobasic που δειχνεις και εσυ στην εικονα που εβαλες ποιο πριν αλλα μεσα απο το "edit project" εκει που ελενχεις και τα fuses...

DT200
09-01-08, 18:44
τελικά πέτυχε , ωραίος !

να μου επιτρέψεις να σου επισημάνω ένα λάθος που έχεις
στο πρόγραμμα σου , το λάθος είναι ότι κάθε φορά κάνεις
loop από την αρχή , που σημαίνει ότι ξανά κάνεις αρχικοποίηση
του μ/ε , θα ήταν καλύτερα να βάλεις ένα ακόμα όνομα π.χ. Nemmesis
ανάμεσα στο στο trisb=0 και το PortB=%11111111 και να καλείς αυτό (goto Nemmesis)

επίσης έχεις βάλει δύο end με τελεία στο τέλος (end.) αυτό πάει μόνο μία φορά στο τέλος

Nemmesis
09-01-08, 19:47
αυτα τα λαθη εγινα λογο της copy paste απο ενα αλλο πειραμα που εκανα... τωρα ειναι ολα διορθομενα... αν και ο κωδικας ετσι οπως ειναι δουλεψε... μετα τον συμαζεψα...
ολο αυτο εγινε γιατι ηθελα να δουλεψω ολα τα πιν του φ88 γιατι ηταν ακριβως οσα χρειαζομουν... 12εξοδοι και 4εισοδοι...και λογο μεγεθους(εχω κατι pic16f88 σε SMD) θελω να κανω ενα 4καναλο dimmer φορισμου με digital ποτενσιομετα που εχω απο sample της maxim... (εχω κανει αλλο θεμα σχετικα με την παραγγελια και εχω και εικονα με την πλακετιτσα με τα ποτενσιμετρα... νεωτερα συντομα... απλα τωρα που εγινε και το θεμα με το 14χρονο που πεθανε στην πολη μου ειχαν αλλα πραγματα προτεραιοτητα , το ηξερα το κοριτσακι οταν ηταν ποιο μικρο μετα αλλαξε... τεσπα πηγα οφτοπικ

υγ. και κατι που εμαθα μετα απο αρκετη σπαζοκεφαλια... το πιν RA5 του πικ16φ88 μπορει να ειναι η MCLR η digital... οταν ειναι ρυθμισμενο σαν digital μπορει να ειναι μονο input... οποτε και η "trisa.5 = 0" δεν εχει καμια ισχη αφου το bit αυτο θα ειναι παντα 1 δλδ θα ειναι παντα δηλωμενο σαν εισοδος... αυτα τα βρισκουμε στο datasheet του f88 σελ16 κατω κατω στο note3...

DT200
09-01-08, 19:56
υγ. και κατι που εμαθα μετα απο αρκετη σπαζοκεφαλια... το πιν RA5 του πικ16φ88 μπορει να ειναι η MCLR η digital... οταν ειναι ρυθμισμενο σαν digital μπορει να ειναι μονο input... οποτε και η "trisa.5 = 0" δεν εχει καμια ισχη αφου το bit αυτο θα ειναι παντα 1 δλδ θα ειναι παντα δηλωμενο σαν εισοδος... αυτα τα βρισκουμε στο datasheet του f88 σελ16 κατω κατω στο note3...

πολύ σωστά ! αλλά και σαν είσοδο καλό είναι .