
Programování PIC16F84A v programu MPLAB IDE v8.92
Dobrý den, mám za úkol naprogramovat pic16f84a v programu MPLAB IDE v8.92, kde ho mám naprogramovat tak, aby po stisknutí tlačítka se didoda 5x rozsvítila. Nevím si s tím rady už dobrých 5 hodin. Našela by se nějaká dobrá duše, která by mi s tímto problémem pomohla? :)
A s cim konkretne si nevis rady?
V cykle testuj pin s tlacitkom, ked sa zmeni tak urob cyklus od 10 po 0 pricom pri kazdom priebehu invertujes pin s LED a pockas urcitu dobu bud cyklom alebo porovnavanim hodnoty nejakeho citaca. Pripadne ak mas k dispozicii nejaku kniznicu tak tam je urcite nejaka delay alebo sleep funckia.
Kemo a mohl bys to v rychlosti naprogramovat ^^ ?? mám omezený čas a náhodou mám uplně stajný prblém
Nemohol. Mas sa to naucit ty, aby si nezostal blby.
Si moje poslední naděje moj šefko mňa vyhodí...
tak to aby jsi šel hledat novou práci když si tak blbý
Ked nevies naprogramovat ani blikajucu LED, tak neviem co chces na danej pozicii robit?
Mas uz hotove co? Datasheet daneho uC a schemu HW si si uz pozrel? Co na tom nevies? PIC sa da programovat aj v C, mal by si mat tam prekladac (neviem zhlavy ci je priamo v tom MPLAB baliku).
Uz si niekedy nieco robil s PIC alebo nejakym uC?
dělám v tom poprvé, vůbec netuším
A v com si uz robil? Preco nezacnes nejakym tutorialom?
P.S. Do skoly si chodil kam? to myslis ze teraz sa naucis za 3hodiny to co sa v skole uci minimalne 1 cely smester plus X rokov v praxi?
No jestli takovyhle lidi pisou firmware do zarizeni s mikrokontrolerama, tak je nase civilizace v haji :)
upřímně si myslím že někdo jako vy nemá tušení co je to bcfsc... tak bych do téhle diskuze nezasahoval
v takomto pripade je to irelevantne, tu ide o princip. Tiez neviem co je to bcfsc ale ked dakto nevie ani naprogramovat blikanie LED co je banalita, tak sa nema co ondit do normalnej prace, pretoze tam uz taketo banality ma vediet.
Tuseni mam, ale PICy jsem opustil pred mnoha lety, a v assembleru jsem je prestal programovat jeste driv, takze presne nevim (moje PIC ASM obdobi saha nekam do let 1998-2002). Podle data zdrojaku jsem s nima skoncil nekdy v roce 2004, i kdyz jsem ted nedavno delal jednu malou upravu na zarizeni s nejakym 18F2xxx. Ale mam povedomi o tom, co je cmpxchg - to se pocita?
My tu vsetci tuseni mame, jediny kto tu nema tuseni si asi ty. Uz si si nastudoval aspon tie 3 instrukcie co som pisal nizsie?
k naprogramování diody tak aby jednou blikla používam kód tenhle:
STATUS EQU 0x03 ;adresa reg. Status
TRISA EQU 0x05
PORTA EQU 0x05
TRISB EQU 0x06
PORTB EQU 0x06
;************************************************* *
#define RPO STATUS,5
;************************************************* *
ORG 0x00 ;začátek programu
bsf RPO ;nastavení na 1 registr STATUS ( adr.3), bit 5
movlw B'11100' ;do Work nastavím vstup a výstup
movwf TRISA ;adresa určuje TRISA
movlw B'11111111' ;do Work PortB vstup
movwf TRISB
;************************************************* **
bcf RPO ;nastavení na 0 registr STATUS ( adr.3), bit 5
;************************************************* **
opakuj movf PORTB,0 ;z PortuB W
movwf PORTA ;konstanta načtena na port R
goto opakuj
end
Jak to mam udělat, aby dioda blikla 5x? Když jednou stisknu tlačítko.
http://www.mikroe.com/chapters/view/10/chapter-9-i nstruction-set/
Test tlacitka viz napr. BTFSC alebo BTFSS
Pocitanie slucky viz DECFSZ
Ten tvoj kod je nezmysel
opakuj movf PORTB,0 ;z PortuB W
movwf PORTA ;konstanta načtena na port R
goto opakuj
???
No nevim, asi by to chtelo debouncing.. i kdyz v tomhle pripade je to asi jedno, pokud ty bliknuti budou vyrazne delsi nez zakmity tlacitka.
Zdravím,
já bych to hodil z okna
Jenže tady jde o životy
já bych radši řešil to že krepo je levý a měl by dostat bench
Budu hodný - narychlo sem napíšu pseudokód v C (není to nejelegantnější možnost, ale je na ní možné snadno vidět jednotlivé části algoritmu), přepsat to do assembleru už musíš zvládnout sám, jinak je další debata bezpředmětná. S PICama jsem dělal naposledy před 2 roky, názvy registrů si pamatuju matně, můžou tam být chyby. Ale tím lépe pro tebe, alespoň si budeš muset o problematice něco nastudovat a opravíš si to. Jenom mám pocit, že to není pracovní úkol, ale domácí úkol do školy...
Víš, ono se tohle nedá dělat tak, že dostaneš něco, o čem nevíš ni, pět hodin na to budeš koukat a čekat na zázrak. Seznámit se se základy trvá minimálně půl roku, spíše celý rok.
Jasne, ze je to ukol do skoly - ty si dokazes predstavit zamestnavatele, kterej da svymu zamestnanci za ukol napsat blikani ledkou? :)
Predpokladam, ze dalsi otazky budou "Jak prepsat kod z C do ASM na PIC" a "Kde mam najit co dela DelayMs???"