Hm
Spojrzałem na schemat portu i poprawcie mnie czy się mylę. Generalnie jesli poda się tris na zero i do portu zapisze się
0 to wyjście zwierane jest do masy, a jeśli 1 do napięcia zasilania. tak to jest ?
Jac
Hm
Spojrzałem na schemat portu i poprawcie mnie czy się mylę. Generalnie jesli poda się tris na zero i do portu zapisze się
Jac
U¿ytkownik "jacek" snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:d180sh$htj$ snipped-for-privacy@nemesis.news.tpi.pl...
nie jest tak. Wpisanie do TRISx.y zera powoduje ze linia y portu x staje sie linia wyjsciowa, a wpisanie jedynki powoduje ze linia staje sie wejsciowa. Rejestr TRIS s³u¿y do okreslania kierunku przesy³u danych : wejscie (1) lub wyjscie (0). Stany na liniach portu zdefiniwanego jako wyjscie okreslaja wartosci wpisane do rejestru PORTx. Trzeba tez pamietac ze np. PORTB ma wyjsca z otwartym drenem i jak wpiszesz 1 to bedzie HI. ( mozna porgramowo dolaczyc rezystory podciagajace) Pzdr T.J.
Tomasz Jabłoński napisał(a):
No tak, tak, generalnie tak myślałem. I jeszcze z tego schematu zastępczego co podali w specyfikacji wygląda na to, że pomimo tego stanu 0 w TRISx.y i tak bit 1 podany do PORTx.y załączał będzie napięcie zasilania z wyjściem portu, bo przed sterowaniem kluczem jest bramka OR.
Aha dzięki... Mam do czynienia z tymi mikrokontrolerami pierwszy raz w życiu. W PIC12C508A jest PORTB? Ja chciałem zaprogramować PIC12C508A i nie chcę popełnić błędu bo go można tylko raz zaprogramować ;)
Zastanawiam się też, czy z różnych przyczyn może zmienić się częstotliwość wewnętrznego zegara.
Spotkałęm się też z różnymi specyfikacjami dla tego układu i różni się tam rejestr OSCCAL i już nie wiem jak ustawić częstotliwość dla niego.
pozdr Jacek
Skąd ta informacja? PORTB ma standardowe wyjścia TP a nie otwarte dreny.
Nawet jak by były to rezystory wewnętrzne pullupy mogą być załączane tylko dla portu skonfigurowanego jako wejście a nie wyjście.
sword
Nie, w małych picach jest tylko jeden port i nazywa się GPIO
Przesiądź się na wersję F, pisząc pierwszy program na pica i to do tego na C masz 99,9% szans na niepowodzenie (chyba ze masz symulator sprzetowy).
Jest to oscylator RC więc może sie wahac np. wraz ze zmiana temperatury.
Korzystaj ze źródła bo jest tylko jedna specyfikacja na stronie Microchipa.
Procesor jest kalibrowany podczas produkcji, a wartość tej kalibracji jest zapisana w ostatniej komorce pamieci (0x1ff) i wystarczy ja stamtad pobrac i zapisac do OSCCAL na poczatku programu
call 0x1ff movwf OSCCAL
sword
Adam Jurkiewicz napisał(a):
1ff to nie jest instrukcja poprzedzająca 0000 jak więc tam zmieści się return hm...Ja zrozumiałem to w ten sposób, że reset ustawia licznik programu na 1FF a tam powinna być instrukacja kalibrująca... czyli tą istrukjcę np movlw H'coś' wpisuje program programujący?
U¿ytkownik "Adam Jurkiewicz" snipped-for-privacy@NIEMATEGOajpic.zonk.pl> napisa³ w wiadomo¶ci news:d19j64$qoq$ snipped-for-privacy@nemesis.news.tpi.pl...
Upss za szybko piszesz, zle piszesz... ¶wieta racja Pzdr T.
Zgadza się, to powyższe było dla procków flashowych i w ostatniej komórce pamieci jest rozkaz 'retlw xx', dla procesorów C program startuje z ostatniej komorki i tam jest instrukcja 'movlw xx' potem licznik się przekręca i wystarczy wpisać ta wartość do OSCCAL, dlatego bedzie bez tego 'call'.
sword
Have something to add? Share your thoughts — no account required.
Ask the community — no account required