PIC10F310 inicializace (asm)

Jaromir Sukuba jarin.hw na gmail.com
Úterý Srpen 6 23:29:34 CEST 2019


K tej zahade okolo PORTA - nemam napad co by to mohlo byt, ale 10F322
a podobne nemamu moznost inverzie stavu v LAT registri, takze by som
skor prepokladal softwarovu chybu, resp. nespravne pozorovanie. Ako
zvycajne, treba vec rozmenit na drobne a da sa na to ist aj takym
drevorubacskym sposobom, ale experiment bude trvat tri minuty. Skuste
po riadku 'movwf   TRISA' (u vas riadok 77) dat este
movlw 0x00
movwf LATA
goto $
a napalit do MCU - tim sa docieli, ze na port sa nastavi hodnota, ta
tam zostane a MCU bude dalej preslapovat na mieste. Oba piny (A0 a A1)
by mali byt v nule. Skuste hodnotu za movlw zmenit postupne na 0x01,
0x02, 0x03 a pozorujte co je na vystupe. Ak to prinesie ocakavane
vysledky, skuste este dalsie styri kombinacie
bcf LED1
bcf LED2
goto $
a namiesto dvoch bcf skuste este kombinacie bcf/bsf, bsf/bcf a bsf/bsf
a dajte vediet.
Predpokladam, ze LED budu svietit tak ako predpokladame, ale to Vas
aspon nasmeruje kde hladat problem, resp. kde ho nehladat. Stav
PIE/PIR a GIE by na to nemal mat vyplyv.

Pokial je MCLRE v nule a zaroven LVP je v nule (tieto dva bity su v
konfiguracnom slove), tak je RA3 vstupny pin; pull-up nie je zapnuty
automaticky. To ci ma pull-up alebo nie rozhoduje WPUA3 bit vo WPUA
registri; pricom ak treba globalne povolit pull-upy, treba mat aj
WPUEN vynulovany v OPTION_REG.

J.


ut 6. 8. 2019 o 21:26 <cizek.milan na seznam.cz> napísal(a):
>
> Ahoj,
> mám tu ještě jednu záhadu, které nerozumím.
> Blikání LEDky1 na RA0 funguje, vstupní pin funguje, přerušení též.
> Když ale mám druhý výstupní pin s LED2 (RA1), chová se mi, jak bych tak řekl "opačně".
> Tj. bcf LED2 rozsvítí a bsf zhasne. Polarita obou led je stejná.
> Přijde mi to, že na pinu je nějaká funkce, kterou jsem zapomněl v CONFIG vypnout?
> Zjednodušeno: https://pastebin.com/UDVHsnGH
>
> Může v tom mít nějaký vliv registr PIE1/PIR1 když GIE=0?
>
> Ještě bych měl dotaz k MCLR... pokud nastavím a LVP mám off.
> ; _MCLRE_ON = MCLR/VPP pin function is MCLR; Weak pull-up enabled (If LVP is off).
> chápu to tak, že neumím dávat rezistor mezi MCLR pin a napájení, protože je tam weak pullup a je to tedy zbytečné?
>
> Díky.
> M.
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list