Assembler - pomoc
Assembler - pomoc
Zdravim chalani.
potreboval by som pomôcť s assemblerom, mam z toho jednu ulohu do školy ale nie som v tom velmi zbehlý.
jedna sa o čip PIC16F877A na kite PVK40
už mám hotovú skoro celú úlohu len potrebujem tento cyklus
https://www.dropbox.com/s/8qzu9i39dq8d2 ... 282%29.TXT
zmeniť tak aby prebehol za 0,3 sekundy. teraz je to za 0,5 sekundy. (je to pre blikanie LEDky)
niekto ochotný sa na to prosím pozrite ďakujem
potreboval by som pomôcť s assemblerom, mam z toho jednu ulohu do školy ale nie som v tom velmi zbehlý.
jedna sa o čip PIC16F877A na kite PVK40
už mám hotovú skoro celú úlohu len potrebujem tento cyklus
https://www.dropbox.com/s/8qzu9i39dq8d2 ... 282%29.TXT
zmeniť tak aby prebehol za 0,3 sekundy. teraz je to za 0,5 sekundy. (je to pre blikanie LEDky)
niekto ochotný sa na to prosím pozrite ďakujem
MacBook Pro 13 (2016) + iPhone 12 mini
PS5 Slim
PS5 Slim
- Shatterhand
- Pokročilý používateľ
- Príspevky: 3076
- Dátum registrácie: Št 26. Mar, 2009, 16:45
- Bydlisko: Bratislava
Re: Assembler - pomoc
A frekvencia oscilátora je aká?
"Mind always fails first". "The darkest places in hell are reserved for those who maintain their neutrality in times of moral crises." "Tvrdiť, že vám nezáleží na práve na súkromie, lebo nemáte čo skrývať...je to isté...ako keď poviete, že vám nezáleží na slobode prejavu, lebo nemáte čo povedať."
Spoiler: ukázať
- Shatterhand
- Pokročilý používateľ
- Príspevky: 3076
- Dátum registrácie: Št 26. Mar, 2009, 16:45
- Bydlisko: Bratislava
Re: Assembler - pomoc
Až to správne chápem, jeden cyklus je 76,3 ns.
Teda je treba 6 552 000 hodinových cyklov na 0,5 sekundy
...to vychádza podľa komentu z druhého riadka z toho vzťahu frekvencie oscilátora;
na 0,3 sekundy bude treba 3 931 200 cyklov.
Ten kód nie je celý takže takto si to buď vyriešiš sám, a to tak že si trojčlenkou zistíš akým číslom to musíš predeliť, aby si dostal 0,3 sekundy, keď už 0,5 sekundy vieš.
Teda je treba 6 552 000 hodinových cyklov na 0,5 sekundy
...to vychádza podľa komentu z druhého riadka z toho vzťahu frekvencie oscilátora;
na 0,3 sekundy bude treba 3 931 200 cyklov.
Ten kód nie je celý takže takto si to buď vyriešiš sám, a to tak že si trojčlenkou zistíš akým číslom to musíš predeliť, aby si dostal 0,3 sekundy, keď už 0,5 sekundy vieš.
"Mind always fails first". "The darkest places in hell are reserved for those who maintain their neutrality in times of moral crises." "Tvrdiť, že vám nezáleží na práve na súkromie, lebo nemáte čo skrývať...je to isté...ako keď poviete, že vám nezáleží na slobode prejavu, lebo nemáte čo povedať."
Spoiler: ukázať
Re: Assembler - pomoc
ďakujem za pomoc ;-)
btw.
všimol som si že ten vzorový príklad je tiež pre 3,276MHz takže by to malo byť tých 409 600 nie 6 552 000.
ale možno sa mýlim. toto mi velmi nejde
btw.
si si istý ? veď aj v komentári je písané ;=> we need 409600 cycles takže pre 0,3 sekundy treba 245760 nie ?Shatterhand napísal:Až to správne chápem, jeden cyklus je 76,3 ns.
Teda je treba 6 552 000 hodinových cyklov na 0,5 sekundy
...to vychádza podľa komentu z druhého riadka z toho vzťahu frekvencie oscilátora;
na 0,3 sekundy bude treba 3 931 200 cyklov.
všimol som si že ten vzorový príklad je tiež pre 3,276MHz takže by to malo byť tých 409 600 nie 6 552 000.
ale možno sa mýlim. toto mi velmi nejde
MacBook Pro 13 (2016) + iPhone 12 mini
PS5 Slim
PS5 Slim
- Shatterhand
- Pokročilý používateľ
- Príspevky: 3076
- Dátum registrácie: Št 26. Mar, 2009, 16:45
- Bydlisko: Bratislava
Re: Assembler - pomoc
No... Dal by som ruku do ohňa za to, že včera bola tá 4-ka mimo zátvorky
Takto to zhruba sedí, oni zrejme zaokrúhľovali alebo čo, čiže 0,5 sekundy je 409 500 cyklov.
0,3 sekundy potom bude 245 700 cyklov.
Už si to len premeň na hexa a prepíš to.
Takto to zhruba sedí, oni zrejme zaokrúhľovali alebo čo, čiže 0,5 sekundy je 409 500 cyklov.
0,3 sekundy potom bude 245 700 cyklov.
Už si to len premeň na hexa a prepíš to.
"Mind always fails first". "The darkest places in hell are reserved for those who maintain their neutrality in times of moral crises." "Tvrdiť, že vám nezáleží na práve na súkromie, lebo nemáte čo skrývať...je to isté...ako keď poviete, že vám nezáleží na slobode prejavu, lebo nemáte čo povedať."
Spoiler: ukázať
Re: Assembler - pomoc
asi by si sa popálil ale diky za pomoc, mám to
škoda že som si včera nevšimol že ten vzorový príklad bol pre čip s rovnakým oscilátorom, nemusel som otravovať
škoda že som si včera nevšimol že ten vzorový príklad bol pre čip s rovnakým oscilátorom, nemusel som otravovať
MacBook Pro 13 (2016) + iPhone 12 mini
PS5 Slim
PS5 Slim
- Shatterhand
- Pokročilý používateľ
- Príspevky: 3076
- Dátum registrácie: Št 26. Mar, 2009, 16:45
- Bydlisko: Bratislava
Re: Assembler - pomoc
No ja sa nepopálim, len ty budeš blbý...ako pre tvoje dobro Okrem toho na webe je kopa hexa/bin/dec kalkulačiek, takže tak.
"Mind always fails first". "The darkest places in hell are reserved for those who maintain their neutrality in times of moral crises." "Tvrdiť, že vám nezáleží na práve na súkromie, lebo nemáte čo skrývať...je to isté...ako keď poviete, že vám nezáleží na slobode prejavu, lebo nemáte čo povedať."
Spoiler: ukázať
Re: Assembler - pomoc
no reagoval som na toto
ale najprv som si nevšimol že vo vzorovom aj v ulohe je rovnaký oscilátor, potom to vyrata trojčlenkou a premení do hexa aj blbec.
a assembleru sa normálne nevenujeme, toto bola len taka bonusová úloha, takže neviem ako na to. Že sa cyklus ráta nejako takto ;1 cycle = 1/(Fosc/4) second a že je to nejaky vzťah s frekvenciu oscilatora som tiež nevedel.No... Dal by som ruku do ohňa za to, že včera bola tá 4-ka mimo zátvorky
ale najprv som si nevšimol že vo vzorovom aj v ulohe je rovnaký oscilátor, potom to vyrata trojčlenkou a premení do hexa aj blbec.
MacBook Pro 13 (2016) + iPhone 12 mini
PS5 Slim
PS5 Slim
- Shatterhand
- Pokročilý používateľ
- Príspevky: 3076
- Dátum registrácie: Št 26. Mar, 2009, 16:45
- Bydlisko: Bratislava
Re: Assembler - pomoc
Hlavne že to máš
"Mind always fails first". "The darkest places in hell are reserved for those who maintain their neutrality in times of moral crises." "Tvrdiť, že vám nezáleží na práve na súkromie, lebo nemáte čo skrývať...je to isté...ako keď poviete, že vám nezáleží na slobode prejavu, lebo nemáte čo povedať."
Spoiler: ukázať
Re: Assembler - pomoc
jj, dik
pre zaujmavosť, tu je celý program https://www.dropbox.com/s/u6202df9dagjh ... mbler.docx
je to na blikanie písmen morzeovou abecedou. nie je to perfektné, napríklad ja mám blikanie písmen K U K U normálne rozpísané pre každé písmeno. ale keďže sa dve písmená opakuju lepšie by bolo vytvoriť nejake dva podprogramy, jeden pre K a jeden pre U a potom ich volať cez call. ušetrilo by sa tak miesto, ale fungovať by mala aj moja varianta.
pre zaujmavosť, tu je celý program https://www.dropbox.com/s/u6202df9dagjh ... mbler.docx
je to na blikanie písmen morzeovou abecedou. nie je to perfektné, napríklad ja mám blikanie písmen K U K U normálne rozpísané pre každé písmeno. ale keďže sa dve písmená opakuju lepšie by bolo vytvoriť nejake dva podprogramy, jeden pre K a jeden pre U a potom ich volať cez call. ušetrilo by sa tak miesto, ale fungovať by mala aj moja varianta.
MacBook Pro 13 (2016) + iPhone 12 mini
PS5 Slim
PS5 Slim
- Shatterhand
- Pokročilý používateľ
- Príspevky: 3076
- Dátum registrácie: Št 26. Mar, 2009, 16:45
- Bydlisko: Bratislava
Re: Assembler - pomoc
No ono sa to samozrejme dá robiť aj cez časovač (na to sú tam špeciálne registre...neviem ako je tuná ovládaný časovač/oscilátor, ale ja som to riešil na AVR-ku), pretože takto procesor zbytočne dekrementuje hovadiny, zatiaľ čo by mohol robiť niečo užitočnejšie. Väčšinou sa to potom rieši tak, že uplynie niekoľko hodinových cyklov(koľko treba) a vyvolá sa prerušenie. Program preruší čo robil a trebárs rozsvieti LED, potom bude robiť to čo dovtedy, atď.
Pozri, keď to bola len bonusová úloha a nebudete sa tomu v škole ďalej venovať / prípadne sa nejak nechceš assembleru venovať, tak nič nerieš. Funguje to a bodka
Pozri, keď to bola len bonusová úloha a nebudete sa tomu v škole ďalej venovať / prípadne sa nejak nechceš assembleru venovať, tak nič nerieš. Funguje to a bodka
"Mind always fails first". "The darkest places in hell are reserved for those who maintain their neutrality in times of moral crises." "Tvrdiť, že vám nezáleží na práve na súkromie, lebo nemáte čo skrývať...je to isté...ako keď poviete, že vám nezáleží na slobode prejavu, lebo nemáte čo povedať."
Spoiler: ukázať