začiatočník v assembleri
Moderátori: psichac, Moderátori
- Washu
- Power user
- Príspevky: 4521
- Dátum registrácie: 15 Apr 2010, 00:00
- Bydlisko: Multiverse
- Vek: -1998
- Kontaktovať používateľa:
Re: začiatočník v assembleri
Este mi povedz napatovy ubytok na tyristore pri tom prude. A potom ten usty ubytok pre dnes uz uplne bezne 10mR MOSFETy
a porovnaj vykonovu stratu.
a porovnaj vykonovu stratu.
0
It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong
(Richard Feynman)
(Richard Feynman)
Re: začiatočník v assembleri
Rád by som ti to povedal, ale toto je už pre mňa španielska dedina. OK to znamená že ten MOSFET bude asi lepší ale poradíš mi ktorý a ako to zapojiť na výstup toho picka? Ďakujem
0
Re: začiatočník v assembleri
Takto som navrhol tú schému.
Rozmýšľal som na tým úbytkom napätia na tyristore. Ak nájdem taký tyristor čo bude mať úbytok 0,1 0,2 Volta, tak to predsa vadiť nebude na zopínanie svetiel na aute. Zatial tam mám TIC 126 v návrhu .
Komparátor bude porovnávať dva vstupy. Na jednom bude stabilizátor na 3V a na druhom nadstavím mostíkom menej ako 3V.
Ak na naštartuje auto tak na druhom vstupe stúpne napatie na hodnotu väčšiu ako 3V a zapne Tyristor .
Ak vypnem klúčik odpojí sa celé zariadenie tým pádom aj tyristor.
Čo vy na to ?
Rozmýšľal som na tým úbytkom napätia na tyristore. Ak nájdem taký tyristor čo bude mať úbytok 0,1 0,2 Volta, tak to predsa vadiť nebude na zopínanie svetiel na aute. Zatial tam mám TIC 126 v návrhu .
Komparátor bude porovnávať dva vstupy. Na jednom bude stabilizátor na 3V a na druhom nadstavím mostíkom menej ako 3V.
Ak na naštartuje auto tak na druhom vstupe stúpne napatie na hodnotu väčšiu ako 3V a zapne Tyristor .
Ak vypnem klúčik odpojí sa celé zariadenie tým pádom aj tyristor.
Čo vy na to ?
0
Re: začiatočník v assembleri
Zdravím všetkých. Snažil som sa nejak začať s programovaním, samozrejme som trochu ASM zanedbal a vrhol som sa na Cčko. Všetko fajn, akurát ma škrelo že do niektorých knižníc nevidím čo robia. Kedže sa mi nič nexce robiť len tak, rozhodol som sa že prepíšem knižnicu (kombinácia ASM a C) pre pripojenie LCD z 4bitovej komunikácie na 8 bitovú. Rozpytval som si krok za krokom čo knižnica robí
a po pár večeroch sa mi to podarilo. Kto by mal záujem poskytnem. Jedno mi ale nejde do hlavy...
Napr. mám v knižnici vo funkcii použité volanie dalšej funkcie:
_lcd_write_data(0x30);
pošli data hexa 30, jasné...
keď sa ale pozriem na volanú funkciu:
void _lcd_write_data (unsigned char data)
{
#asm
cbi __lcd_signal_port,__lcd_signal_rw ;RW=0
in r26,__lcd_data_direction
ser r26 ; nastavenie r26, set as output
out __lcd_data_direction,r26
in r27,__lcd_data_port
ld r26,y
out __lcd_data_port,r26
sbi __lcd_signal_port,__lcd_signal_en ;EN=1
#endasm
_lcd_delay();
#asm
cbi __lcd_signal_port,__lcd_signal_en ;EN=0
//sbi __lcd_signal_port,__lcd_signal_rw ;RW=1
#endasm
}
... tvsetko je jasné po: ld r26,y,
do registra r26 sa zapise obsah registrov z ukazovatela y co som sa dopatral ze je dvojica registrov r29 a r28....proste tapem...
teda, ako je vlastne prepojena premenna unsigned char data v argumente tejto funkcie so zvyškom? Ako sa dostane hodnota do registra r26.... Teda, ja si to este naštudujem , ale aj tak...
Ďakujem
a po pár večeroch sa mi to podarilo. Kto by mal záujem poskytnem. Jedno mi ale nejde do hlavy...
Napr. mám v knižnici vo funkcii použité volanie dalšej funkcie:
_lcd_write_data(0x30);
pošli data hexa 30, jasné...
keď sa ale pozriem na volanú funkciu:
void _lcd_write_data (unsigned char data)
{
#asm
cbi __lcd_signal_port,__lcd_signal_rw ;RW=0
in r26,__lcd_data_direction
ser r26 ; nastavenie r26, set as output
out __lcd_data_direction,r26
in r27,__lcd_data_port
ld r26,y
out __lcd_data_port,r26
sbi __lcd_signal_port,__lcd_signal_en ;EN=1
#endasm
_lcd_delay();
#asm
cbi __lcd_signal_port,__lcd_signal_en ;EN=0
//sbi __lcd_signal_port,__lcd_signal_rw ;RW=1
#endasm
}
... tvsetko je jasné po: ld r26,y,
do registra r26 sa zapise obsah registrov z ukazovatela y co som sa dopatral ze je dvojica registrov r29 a r28....proste tapem...
teda, ako je vlastne prepojena premenna unsigned char data v argumente tejto funkcie so zvyškom? Ako sa dostane hodnota do registra r26.... Teda, ja si to este naštudujem , ale aj tak...
Ďakujem
0
Re: začiatočník v assembleri
Dobrý deň, prosím vás poradí mi niekto.
Píšem program v MPlabe a ked dám preložiť do Hex tak mi vyhodí takúto chybu a neviem si s tým rady, čo tam mám zle?
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F818 "RTV.asm" /l"RTV.lst" /e"RTV.err" /d__DEBUG=1
Message[302] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 38 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 40 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 43 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[305] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 59 : Using default destination of 1 (file).
Message[305] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 60 : Using default destination of 1 (file).
Warning[207] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 89 : Found label after column 1. (.........................)
Error[108] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 89 : Illegal character (<)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\Documents and Settings\Ivan\My Documents\ELEKTRONIKA\VLASTNÉ SCHÉMY\Riadenie teploty vody\RTV\RTV.mcp' failed.
Language tool versions: MPASMWIN.exe v5.31, mplink.exe v4.31
Preprocessor symbol `__DEBUG' is defined.
Mon May 20 12:03:16 2013
----------------------------------------------------------------------
BUILD FAILED
ďakujem za odpoveď
Píšem program v MPlabe a ked dám preložiť do Hex tak mi vyhodí takúto chybu a neviem si s tým rady, čo tam mám zle?
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F818 "RTV.asm" /l"RTV.lst" /e"RTV.err" /d__DEBUG=1
Message[302] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 38 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 40 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 43 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[305] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 59 : Using default destination of 1 (file).
Message[305] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 60 : Using default destination of 1 (file).
Warning[207] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 89 : Found label after column 1. (.........................)
Error[108] C:\DOCUMENTS AND SETTINGS\IVAN\MY DOCUMENTS\ELEKTRONIKA\VLASTNÉ SCHÉMY\RIADENIE TEPLOTY VODY\RTV\RTV.ASM 89 : Illegal character (<)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\Documents and Settings\Ivan\My Documents\ELEKTRONIKA\VLASTNÉ SCHÉMY\Riadenie teploty vody\RTV\RTV.mcp' failed.
Language tool versions: MPASMWIN.exe v5.31, mplink.exe v4.31
Preprocessor symbol `__DEBUG' is defined.
Mon May 20 12:03:16 2013
----------------------------------------------------------------------
BUILD FAILED
ďakujem za odpoveď
0
Re: začiatočník v assembleri
Mas tam nejaky znak < navyse.
Ukaz zdrojak, zvlast riadok 89, bez neho sa nepohneme.
Ukaz zdrojak, zvlast riadok 89, bez neho sa nepohneme.
0
Re: začiatočník v assembleri
Ano máš pravdu, mal som tam napísané ........................<<<<<, malo to byť ako poznámka a zabudol som si tam dať bodkočiarku.
Ďakujem práve som si to všimol
Ďakujem práve som si to všimol
0
Re: začiatočník v assembleri
Ale predsa by som ťa poprosil o radu. Používam prvý krát PICko typu 16F818 a neni sú mi moc jasné konfiguračné nastavenia.
Pozeral som v datasheete ale nejako ich tam nemôžem všetky násjť.
Pozeral som si ich v súbore čo sa pridáva do MPlabu pri programovaní ( viď prílohu ) , ale všetkým nerozumiem. niektoré poznám z PICka 16F627 .
Nasmeruješ ma kde to hladať?
Niekde robím chybu, pretože MPlab mi preloží program ale programátor mi prei programovaní zahlási error a odkazuje sa na FUSE čiže konfiguráciu.
Pozeral som v datasheete ale nejako ich tam nemôžem všetky násjť.
Pozeral som si ich v súbore čo sa pridáva do MPlabu pri programovaní ( viď prílohu ) , ale všetkým nerozumiem. niektoré poznám z PICka 16F627 .
Nasmeruješ ma kde to hladať?
Niekde robím chybu, pretože MPlab mi preloží program ale programátor mi prei programovaní zahlási error a odkazuje sa na FUSE čiže konfiguráciu.
- Prílohy
-
- P16F818.rar
- (2.02 KiB) 42 stiahnutí
0
Re: začiatočník v assembleri
To v prilohe je header subor od Microchipu. Ukaz ako definujes konfiguraky v zdrojaku.
Popis konfigurakov je v datasheete http://ww1.microchip.com/downloads/en/D ... 39598F.pdf na strane 89 - 90.
Popis konfigurakov je v datasheete http://ww1.microchip.com/downloads/en/D ... 39598F.pdf na strane 89 - 90.
0
Re: začiatočník v assembleri
Ešte to len začínam písať takže tam toho moc neni
- Prílohy
-
- RTV Asm.pdf
- (24.92 KiB) 38 stiahnutí
0
Re: začiatočník v assembleri
Neviem ale asi to nebude len v konfigurácii, pri programovaní mi napíše takúto chybu. Rozumiete tomu niekto čo sa mu nepáči?
Programujem PIC typu 16F818
Viď príloha
Poradí niekto?
Programujem PIC typu 16F818
Viď príloha
Poradí niekto?
0
Re: začiatočník v assembleri
Evidentne ti to nenaprogramuje vobec nic, uz od zaciatku FLASH-ky. Asi to mas zle pripojene. Tazko povedat bez vesteckej gule
0
Re: začiatočník v assembleri
Ale citat mi cita, takze to nebude v pripojeni.
Pouzivad to uz 1 rok .
12f629 a 16f627 mi funguju
Pouzivad to uz 1 rok .
12f629 a 16f627 mi funguju
0
Re: začiatočník v assembleri
Ukaze mi to same f a nuly, tak ako ked ho vymazes.
Pocas citania ukazuje aj taky stavovy riadok.
Pripojené to určite je, vsak ked bez problémov naprogramuje iné pic?
Netreba este niečo nastaviť v programe?
Pocas citania ukazuje aj taky stavovy riadok.
Pripojené to určite je, vsak ked bez problémov naprogramuje iné pic?
Netreba este niečo nastaviť v programe?
0
Re: začiatočník v assembleri
Neviem, s tymito programatormi mama male a zle skusenosti. To, ze to nacita nuly alebo 0xFF este neznamena, ze je to spravne pripojene. Pre zaciatok skus naprogramovat "vzduch" - teda vyber odtial PIC, ci to naprogramuje / precita to iste.
Inteligentne programatory (trebars PicKit3) si kontroluju pritomnost cieloveho MCU.
Inteligentne programatory (trebars PicKit3) si kontroluju pritomnost cieloveho MCU.
0
Re: začiatočník v assembleri
jaromír ja som z toho blbec.
Skúšal som to čo si písal a urobí to aj naprázdno. Hmm
Skúšam súbežne dve Pická a porovnávam čo to robí.
Ked si dám PIC 16F627A tak všetko ide tak ako má, ale čo je zaujímavé, že ked v programe nastavím že tam mám 16F818 a dám do programátora 16F627A tak mi ho prečíta.
Začínam rozmýšlať či neie je PICko zlé , myslím tá 818
Aký program na programovanie používať ty ?
JA mám tento rpogramátor. - http://www.ebay.com/itm/1PCS-PIC-Microc ... 1c32d58dd2
Skúšal som to čo si písal a urobí to aj naprázdno. Hmm
Skúšam súbežne dve Pická a porovnávam čo to robí.
Ked si dám PIC 16F627A tak všetko ide tak ako má, ale čo je zaujímavé, že ked v programe nastavím že tam mám 16F818 a dám do programátora 16F627A tak mi ho prečíta.
Začínam rozmýšlať či neie je PICko zlé , myslím tá 818
Aký program na programovanie používať ty ?
JA mám tento rpogramátor. - http://www.ebay.com/itm/1PCS-PIC-Microc ... 1c32d58dd2
0
Re: začiatočník v assembleri
Chapem ze si zufaly - to co popisujes vyzera tak, ze to PICko je zle. Mozno aj je, neviem. Programovacie piny ma rovnako ako 16F627, takze by malo ist aspon nieco - trebars to citanie z uspesne naprogramovanej 16F627-ky.
Ale nedokazem ani posudit, ci je ten programator dobry. Nejde ani tak o software, ako hardware. Pravdupovediac vo mne nevzbudzuje velku doveru.
Tazke je to riesit takto na dialku.
A dovolim si este zamudrovat
Ak to s PIC-kami myslis vazne, skus si zaobstarat PicKit2 alebo lepsie PicKit3, pokojne aj nieco z ebay (ale tam je kopa smejdov, skus sa pred kupou opytat tu na fore). Nie je to len programator, ale aj debugger, co ti otvori uplne nove dimenzie prace s PICkami. Okrem toho mas pomerne siroku uzivatelsku zakladnu, tak ti ma kto poradit.
Sam som si presiel obdobim pochybnych nastrojov, aj mi nejake PICko zdechlo, tak mi ver, ze je to cesta spravnym smerom
Ale nedokazem ani posudit, ci je ten programator dobry. Nejde ani tak o software, ako hardware. Pravdupovediac vo mne nevzbudzuje velku doveru.
Tazke je to riesit takto na dialku.
A dovolim si este zamudrovat
Ak to s PIC-kami myslis vazne, skus si zaobstarat PicKit2 alebo lepsie PicKit3, pokojne aj nieco z ebay (ale tam je kopa smejdov, skus sa pred kupou opytat tu na fore). Nie je to len programator, ale aj debugger, co ti otvori uplne nove dimenzie prace s PICkami. Okrem toho mas pomerne siroku uzivatelsku zakladnu, tak ti ma kto poradit.
Sam som si presiel obdobim pochybnych nastrojov, aj mi nejake PICko zdechlo, tak mi ver, ze je to cesta spravnym smerom
0
Re: začiatočník v assembleri
Zajtra idem so BA, takže som si v GME objedna pre istotu ešte jednu 818, majú ju nasklade, tak som zvedavý.
Ale mal by som predsa ešte jednu otázku.
Dočasne na písanie programu a skúšanie používam 627A nakoľko má rovnaké vývody, viem si aspoň oskúšať či je časť programu dobrá.
Len opať som zostal stáť na nejakej hlúposti.
Chcem si v prvom rade preveriť či dobre funguje hardver, či som si správne zadefinoval výstupy a vstupy.
napísal som si pár ridakový program ( vid prílohu ) .
Program by sa mal na konci zacykliť a mali by zapnuté vstupy ostať zapnuté, ale ked to zapnem tak sa mi tie výstupy stále zapínajú a vypínajú. Čo tam mám zlé?
Ale mal by som predsa ešte jednu otázku.
Dočasne na písanie programu a skúšanie používam 627A nakoľko má rovnaké vývody, viem si aspoň oskúšať či je časť programu dobrá.
Len opať som zostal stáť na nejakej hlúposti.
Chcem si v prvom rade preveriť či dobre funguje hardver, či som si správne zadefinoval výstupy a vstupy.
napísal som si pár ridakový program ( vid prílohu ) .
Program by sa mal na konci zacykliť a mali by zapnuté vstupy ostať zapnuté, ale ked to zapnem tak sa mi tie výstupy stále zapínajú a vypínajú. Čo tam mám zlé?
- Prílohy
-
- skuska.pdf
- (10.46 KiB) 40 stiahnutí
0
Re: začiatočník v assembleri
1. ak chceš aby ti niekto poredil, tak to nerob v PDF ale daj sem ASM
2. ako si videl, že ti to bliká ?
3. vidím že máš problém s programátorom , ale nechce sa mi to celé čítať, takže ako vieš že to je naprogramované ?
- ak ti to bliká rýchlosťou cca 1us, tak potom je to koli tomu že sa ti neustále resetuje MCU. proste tá slučka neni dobre spravená a neviem či náhodou nenastáva reset MCU ak skočí na adresu 0000h a ty tam máš skok každé dva cykly .
sprav niečo takéto:
ORG 0x0000
goto START
.
.
.
.
START NOP
GOTO $-1
END
2. ako si videl, že ti to bliká ?
3. vidím že máš problém s programátorom , ale nechce sa mi to celé čítať, takže ako vieš že to je naprogramované ?
- ak ti to bliká rýchlosťou cca 1us, tak potom je to koli tomu že sa ti neustále resetuje MCU. proste tá slučka neni dobre spravená a neviem či náhodou nenastáva reset MCU ak skočí na adresu 0000h a ty tam máš skok každé dva cykly .
sprav niečo takéto:
ORG 0x0000
goto START
.
.
.
.
START NOP
GOTO $-1
END
0
osvitka: http://tinyurl.com/7e58nul
pec: http://tinyurl.com/zr3gw8t
maska: http://tinyurl.com/hodwv79
leptanie: http://tinyurl.com/gpsgq6g
prekovy: http://tinyurl.com/zr48jn2
pec: http://tinyurl.com/zr3gw8t
maska: http://tinyurl.com/hodwv79
leptanie: http://tinyurl.com/gpsgq6g
prekovy: http://tinyurl.com/zr48jn2