pice

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

Reply to
jacek
Loading thread data ...
Reply to
invalid unparseable

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

Reply to
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

Reply to
Adam Jurkiewicz

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

Reply to
Adam Jurkiewicz

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?

Reply to
Jesus
Reply to
invalid unparseable

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

Reply to
Adam Jurkiewicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.