Stránka 1 z 5

16F887

Napsal: 03 srp 2014, 15:05
od net
Zdravím,možná blbej dotaz ale proč u tohoto PICu není v tabulce registrů PORTD?

Napsal: 03 srp 2014, 15:14
od forbidden
Jak není? Já tam vidím i PORT E.

Napsal: 03 srp 2014, 17:02
od net
Diky, jsem koukal na jinej typ, asi tim horkem.

Napsal: 09 srp 2014, 11:32
od net
Zdravím,zkouším v MPLab simulátoru přepínat urovně na vstupním pinu pomocí
stimulus a někde dělám asi chybu,pač mi to nějak nereaguje.V tabulce jsem zadal portx low a ve druhém řádku portx high tlačítkem fire přepínám.Program
asm je funkční.Může někdo poradit?Díky.

Napsal: 09 srp 2014, 20:31
od MiloPS3
cau, musis dat toggle a fire menis log uroven low/high/low...ve vokne watch to pak vydis, vybrany pin musis mit nastaven jako vstupni,pri zmacknuti fire musis udelat vzdy krok F7 aby se projevyla zmena..

Napsal: 09 srp 2014, 22:03
od net
Diky,zejtra testnu.

Napsal: 10 srp 2014, 16:14
od net
Zdravím,díky MiloPs3 simulace je už funkční.Pokouším se to předělat z 16f88 na 16f887a tady už nastal problém,upravil jsem inicializaci přeloží se bez chyb,ale už nereaguje na přepnutí urovně na pinu RB0.Přikládám asm a pokud máte někdo čas prosím o kontrolu díky.

Napsal: 10 srp 2014, 20:52
od MiloPS3
vypni si analog, rozmysli si ktery piny budou I/O a podle toho si je nastav, otevri si DS , najdi si registr do ktreriho chces neco zapsat, zjisti si v ktery bance lezi a podle toho si spravne nastav banku,

Kód: Vybrat vše

banksel PORTB
clrf PORTB
banksel TRISB
clrf PORTB
a co dela CHANGE_LED krome rotace na portuD?

Napsal: 10 srp 2014, 22:12
od net
Díky,jak to poskládám tak se ozvu.

Napsal: 14 srp 2014, 16:35
od net
Zdravím,nějak se tím prodírám v simulátoru vypadá,že inc.portů funguje i je funkční reakce na RB0.
Když se dostane na BTFSC-neprovede skok na další instrikci.Nevím,kde dělám chybu přikládám i asm pokud máte někdo čas díky.

Napsal: 14 srp 2014, 17:15
od MiloPS3
mas tam 2 chyby,
1) v MPLABu se koukni uplne na spodni listu, zhruba kousek vlevo od prostredka je udaj o frekvenci XX MHz ,
pak je nejaky udaj co te zajima (4 pismena + 1 cislo), pak pozice kurzoru...
2) neco si si umazal (mozna omylem ale velka chyba) v "CHANGE_LED"

Napsal: 14 srp 2014, 17:54
od net
Díky MiloPS3,jdu bádat dál.

Napsal: 14 srp 2014, 19:47
od net
Dik Milo,dobré nakopnutí.Nevrátil jsem se prostě asi zpět do banky 0.V change_led,nebyl RETURN-vrátit se zpět odkud byl program zavolán.Možná jsem ho umazal asi jo-moje blbost v tom zápalu.Pro kontrolu stejně připojuji asm.Ten návrat do banky 0-nevim zda je předpisovej,nicméně je dle MPLABu funkční.Díky moc za nové poznatky na liště simulátoru.
Aještě si dovolím další- např.na RB0 a RB1 tlačítka,na portd 0-7 led ,RB0 zapínat nahoru,RB1 zase dolu 7-0.Ještě jednou dík.

Napsal: 14 srp 2014, 20:30
od MiloPS3
je to jedno proste das banksel a nejakej registr v B0
uplne jednoduchy je
#define tl_leva PORTB,0
#define tl_prava PORTB,1

pauza
;cekaci smycka treba pro 50ms
return

led_leva
rlf PORTD,f
call pauza
return

led_prava
rrf PORTD,f
call pauza
return

start
btfss tl_leva
call led_leva
btfss tl_prava
call tl_prava
goto start

je to jednoduchy osetreni zakmitu tlacitek jen pro ukazku ...

Napsal: 14 srp 2014, 22:55
od net
Diky