med v bazenu
cray
craycz
Středa Březen 17 14:33:15 CET 2004
alebo trocha mensi kod s cyklom (r0 cislo bitu):
clr r1
sec
x: ror r1
inc r0
sbrs r0,3
rjmp x
Brano
12. 6. 2002 12:23:46, Tom Mazouch <mazouch@ica.cz> wrote:
>Locker Martin wrote:
>>
>> Dobry den,
>>
>> zacinam s AVR a mam zatim problemy s RISC architekturou.
>>
>> Konkretne jak nastavit, resp. shodit pin na vystupni brane dle cisla
>> v registru (0-7).
>
>Nad timhle jsem se taky vyzuril a vykrikl hodne urazek na adresu AVR
>:-(.
>
>>
>> Moje reseni:
>>
>> 1. Tabulka v pameti kodu (1, 2, 4, 8, 16, 32, 64, 128)
>> 2. do Z zacatek tabulky + pin
>> 3. vyzvednout z tabulky do R0 ???
>
>Funkci na prevod "cislo bitu -> nahozeny bit" jsem resil:
>ldi R1,1
>sbrc R0,2
>swap R1
>sbrc R0,1
>lsl R1
>sbrc R0,1
>lsl R1
>sbrc R0,0
>lsl R1
>Je s tim IMHO mensi onanie nez s tabulkou v pameti. Delka 9W, delka
>tabulky 4W, to by se obsluha tabulky musela vejit do 5W (coz se mozna
>vejde, ale...)
>
>> 4. precist aktualni stav vystupni brany
>> 5. sestavit novou hodnotu (OR pro nastaveni bitu, NOT AND pro
>> shozeni)
>
>SBR a CBR (jen upozornuju na to druhy :-)
>
>> 6. zapis na port
>>
>> Prechazim z x51 a prijde mi toto reseni velmi neohrabane.
>
>Kdyz jsem se nad tim pak ale zamyslel, tak na MCS51 to neni az tak moc
>lepsi. Brany sice lze adresovat bitove, ale jen primo. IMHO jedina
>vyhoda MCS51 je v tom, ze dokaze AND/OR/XOR Px,ACC.
>
> TomM
>
>
>
Další informace o konferenci Hw-list