16F887

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

16F887

#1 Příspěvek od net »

Zdravím,možná blbej dotaz ale proč u tohoto PICu není v tabulce registrů PORTD?
Uživatelský avatar
forbidden
Příspěvky: 9442
Registrován: 14 úno 2005, 00:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#2 Příspěvek od forbidden »

Jak není? Já tam vidím i PORT E.
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#3 Příspěvek od net »

Diky, jsem koukal na jinej typ, asi tim horkem.
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#4 Příspěvek 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.
Uživatelský avatar
MiloPS3
Příspěvky: 279
Registrován: 07 srp 2010, 00:00

#5 Příspěvek 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..
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#6 Příspěvek od net »

Diky,zejtra testnu.
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#7 Příspěvek 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.
Přílohy
tlac_demo.asm
(1.37 KiB) Staženo 186 x
Uživatelský avatar
MiloPS3
Příspěvky: 279
Registrován: 07 srp 2010, 00:00

#8 Příspěvek 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?
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#9 Příspěvek od net »

Díky,jak to poskládám tak se ozvu.
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#10 Příspěvek 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.
Přílohy
Tlac.txt
(1.21 KiB) Staženo 141 x
Uživatelský avatar
MiloPS3
Příspěvky: 279
Registrován: 07 srp 2010, 00:00

#11 Příspěvek 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"
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#12 Příspěvek od net »

Díky MiloPS3,jdu bádat dál.
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#13 Příspěvek 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.
Přílohy
Tlac.txt
(1.23 KiB) Staženo 156 x
Uživatelský avatar
MiloPS3
Příspěvky: 279
Registrován: 07 srp 2010, 00:00

#14 Příspěvek 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 ...
Uživatelský avatar
net
Příspěvky: 205
Registrován: 07 kvě 2004, 00:00

#15 Příspěvek od net »

Diky
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“