[PIC16F876] PIC na wodę (fotomontaż), wiedźmy CzaryMary z układami Microchip 16F
: czwartek 02 sty 2020, 21:52
♬ ☘ Moja muzyka do majstrowania ♬ ♬ ♬ ☘
♫ ♩ ♪ Avantasia ☘ Candice night (z albumu Moonglow) ♪ ♩ ♫
https://youtu.be/Mk0FTHqmO9o
Tu możesz pisać o swoich problemach z pisaniem programów w assembler dla PIC
Hmmm, póki co jedyny problem w tym wszystkim to ja sama i jak się okazało bagaż przyzwyczajeń i nawyków związanych z innymi rodzajami mikrokontrolerów i składnią assemblera czy dziwacznymi mnemonikami, ale wszystko idzie zwalczyć. Testowy układzik na PIC16F876 ruszył przed noworoczną północą, albo to znak od duchów albo za dużo grzańca, nie wiem i nieważne. Istotne, że udało mi się w miarę gładko pokonać jak to się mawia - próg wejścia, "coś tam" sklecić i to coś - zadziałało, a fakt ten uskrzydla i motywuje do dalszych prac. Nie chcę tu pisać jakichś sążnistych tutoriali i tłumaczyć firmowej (btw. w moim przekonaniu naprawdę dobrej dokumentacji). Chce podzielić się drobnymi prawie projektami, które niejako z marszu można sobie wczytać do swojego MPLABX i skleciwszy układzik na płytce stykowej - mieć punkt startu do własnych eksperymentów i przeróbek. Ten i kolejne posty to czytanie na przemian pdf do kostek 16F oraz googlowanie za detalami w sieci, to jakoś wystarczyło. To lecimy...
piaskownica
PICKIT3 z Chinowa oczywiście i cokolwiek by nie mówić o ichniejszych "realizacjach" - programator ruszył bez problemu, skomunikował się z kostką, finalnie - zaprogramował ją tym prościtkim wsadem. Układ na płytce stykowej, garstka drucików oraz kwarc póki co 8MHz, robiłam z tego co poniewierało się po biurku. Ledy vintage, próbnik logiczny też, a garstka zdjęć w załączniku. Aha, no i oprogramowanie - najnowszy dostępny MPLAB-X (dograne XC8 oraz XC16, wersje free, to na potem) oraz konfigurator MCC, fajna sprawa, też na potem. Oczywiście Linux Mint Tina na średnich lotów maszynie. W rolach głównych wspomniany w tagu PIC16F876, jak samplusie od Microchipów nadjadą - będą i inne okazy.
migaj sobie ledzie
Sztandarowy przykład migadełka na dwóch diodach LED - elementy na wyjściach kontrolera RB.0 oraz RB.1 przez rezystory 200R do masy, aktywują się stanem logicznym H. Programator PICKIT3 zapięty klasycznie, zasilanie całości z Meratronik P303 @ 5V/50mA (klauzula minimalnego zaufania)
W projekcie cudów nie ma - pętla główna zmieniająca stan diodek:
Oraz zrobiona na kolanie procedurka opóźniająca, eksploatuje dwa programowe licznik wrzucone gdzieś na początek banku 0.
Cały projekcik jak ktoś ma ochotę się pobawić jest tu: https://github.com/bienata/picnawode/tr ... le-led-1.X
na koniec tradycyjne filmiki - migające lampki oraz sesja z MPLAB-X na żywo, włącznie z zamulaniem IDE, ono bazuje na NetBeans, a te mają swoje problemy....
https://youtu.be/SI2n34PCyAo
https://youtu.be/FgwP2q2RWx0
ps.
projekcik da się odpalić pod symulatorem, ładnie widać zmieniające się bity portu B podczas pracy krokowej.
ps do ps.
możliwe, że gdzieś przez niedopatrzenie me czy z niewiedzy zwyczajnej są niedoróbki, jak się znajdą - poprawię, dla mnie to zupełnie nowy teren...
#slowanawiatr
#picnawode
♫ ♩ ♪ Avantasia ☘ Candice night (z albumu Moonglow) ♪ ♩ ♫
https://youtu.be/Mk0FTHqmO9o
Tu możesz pisać o swoich problemach z pisaniem programów w assembler dla PIC
Hmmm, póki co jedyny problem w tym wszystkim to ja sama i jak się okazało bagaż przyzwyczajeń i nawyków związanych z innymi rodzajami mikrokontrolerów i składnią assemblera czy dziwacznymi mnemonikami, ale wszystko idzie zwalczyć. Testowy układzik na PIC16F876 ruszył przed noworoczną północą, albo to znak od duchów albo za dużo grzańca, nie wiem i nieważne. Istotne, że udało mi się w miarę gładko pokonać jak to się mawia - próg wejścia, "coś tam" sklecić i to coś - zadziałało, a fakt ten uskrzydla i motywuje do dalszych prac. Nie chcę tu pisać jakichś sążnistych tutoriali i tłumaczyć firmowej (btw. w moim przekonaniu naprawdę dobrej dokumentacji). Chce podzielić się drobnymi prawie projektami, które niejako z marszu można sobie wczytać do swojego MPLABX i skleciwszy układzik na płytce stykowej - mieć punkt startu do własnych eksperymentów i przeróbek. Ten i kolejne posty to czytanie na przemian pdf do kostek 16F oraz googlowanie za detalami w sieci, to jakoś wystarczyło. To lecimy...
piaskownica
PICKIT3 z Chinowa oczywiście i cokolwiek by nie mówić o ichniejszych "realizacjach" - programator ruszył bez problemu, skomunikował się z kostką, finalnie - zaprogramował ją tym prościtkim wsadem. Układ na płytce stykowej, garstka drucików oraz kwarc póki co 8MHz, robiłam z tego co poniewierało się po biurku. Ledy vintage, próbnik logiczny też, a garstka zdjęć w załączniku. Aha, no i oprogramowanie - najnowszy dostępny MPLAB-X (dograne XC8 oraz XC16, wersje free, to na potem) oraz konfigurator MCC, fajna sprawa, też na potem. Oczywiście Linux Mint Tina na średnich lotów maszynie. W rolach głównych wspomniany w tagu PIC16F876, jak samplusie od Microchipów nadjadą - będą i inne okazy.
migaj sobie ledzie
Sztandarowy przykład migadełka na dwóch diodach LED - elementy na wyjściach kontrolera RB.0 oraz RB.1 przez rezystory 200R do masy, aktywują się stanem logicznym H. Programator PICKIT3 zapięty klasycznie, zasilanie całości z Meratronik P303 @ 5V/50mA (klauzula minimalnego zaufania)
W projekcie cudów nie ma - pętla główna zmieniająca stan diodek:
/asm-simple-led-1.X/main.asm pisze:Kod: Zaznacz cały
main:
; init rupieci
; STATUS jest mapowany na wszystkie banki!!
bsf STATUS, RP0 ; bank 1, bo tam konfig portu B TRISB
bcf TRISB, LED_1 ; port leda 1 na wyjscie
bcf TRISB, LED_2 ; port leda 2
bcf STATUS, RP0 ; bank 0
; stan poczatkowy led
bcf PORTB, LED_1 ; led off
bcf PORTB, LED_2 ; led off
mainLoop:
bsf PORTB, LED_1 ; swieci, nie swieci
bcf PORTB, LED_2
call delay ; daj popatrzec
bcf PORTB, LED_1 ; nie swieci, swieci
bsf PORTB, LED_2
call delay ; daj popatrzec
goto mainLoop
Oraz zrobiona na kolanie procedurka opóźniająca, eksploatuje dwa programowe licznik wrzucone gdzieś na początek banku 0.
/asm-simple-led-1.X/main.asm pisze:Kod: Zaznacz cały
; blok danych w bank 0, wolne mamy od 0x20
cblock 0x020
delCntr1 : 1 ; programowy licznik
delCntr2 : 1 ; i kolejny
endc
;
delay:
movlw 0xFF
movwf delCntr1
delay_1: ; petelka zewnetrzna (dekrementuje cntr1)
movlw 0xFF
movwf delCntr2
delay_2: ; petelka wewnetrzna (dec na cntr2)
nop
decfsz delCntr2,f ; delCntr2--
goto delay_2 ; while (delCntr2 != 0)
decfsz delCntr1,f ; delCntr1--
goto delay_1 ; while (delCntr1 != 0)
return
Cały projekcik jak ktoś ma ochotę się pobawić jest tu: https://github.com/bienata/picnawode/tr ... le-led-1.X
na koniec tradycyjne filmiki - migające lampki oraz sesja z MPLAB-X na żywo, włącznie z zamulaniem IDE, ono bazuje na NetBeans, a te mają swoje problemy....
https://youtu.be/SI2n34PCyAo
https://youtu.be/FgwP2q2RWx0
ps.
projekcik da się odpalić pod symulatorem, ładnie widać zmieniające się bity portu B podczas pracy krokowej.
ps do ps.
możliwe, że gdzieś przez niedopatrzenie me czy z niewiedzy zwyczajnej są niedoróbki, jak się znajdą - poprawię, dla mnie to zupełnie nowy teren...
#slowanawiatr
#picnawode