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