Mihai Sprinceana
Un forum de programare cu de toate. Va astept sa va inscrieti si sa deveniti moderatori. Oricine este binevenit aici sa se inscrie si sa aiba acces la informatie free! Fiecare este liber sa adauge proiecte programe free etc. Ajutati acest forum sa devina o comunitate puternica unde fiecare invata de la fiecare! Tot ce trebuie sa faceti este sa va inregistrati si fiecare contributie se poate dovedi utila in timp! Forumul este free informatia free dk aveti timp liber ajutati si pe ceilalti si invatati si voi in acelasi timp! Haideti sa facem ceva pt.a ne ajuta intre noi! Cititi regulament postare forum inainte de a posta!
Lista Forumurilor Pe Tematici
Mihai Sprinceana | Inregistrare | Login

POZE MIHAI SPRINCEANA

Nu sunteti logat.
Nou pe simpatie:
beatrice17
Femeie
25 ani
Bucuresti
cauta Barbat
25 - 80 ani
Mihai Sprinceana / Assembler 8051 / Operatii de incrementare/decrementare(timere)  
Autor
Mesaj Pagini: 1
andreeamp
Moderator

Inregistrat: acum 18 ani
Postari: 27
Operatii de incrementare/decrementare(timere)


Exemplul1 :
Aplicatia care urmeaza incrementeaza un nr si il decrementeaza prin timer.
$mod51
contor DATA 00h

org 8000h
    jmp main

org 8003h
    call increment
    reti

org 8013h
    call decrement
    reti

main:
    mov TCON,#00001111b
    mov IE,#10000101b
    mov contor,#250d
    mov P1,#00d
   
    loop:
        mov P1,contor
        jmp loop

    increment:
        mov A,contor
        cjne A,#255d,loop1
        ret
        loop1:
            inc contor
            ret

    decrement:
        mov A,contor
        cjne A,#00d,loop2
        ret
        loop2:
            dec contor
            ret

end




Exemplul2 :
Aplicatia care urmeaza incrementeaza un contor cand apas pe 1 si il decrementeaza cand apas pe 2.(sa nu scada sub 0 si sa nu creasca peste 255)
$mod51
org 8013h ;directiva care ia adresele locatiilor de memorie
call int0
call int1_routine
ret
main:
    MOV TMOD,#00h
MOV TCON,#00001111
MOV IE,#10010101b
MOV counter,#00h
MOV P1,#00h
loop:
MOV P1,contor
jmp loop
int0_routine:
MOV A,contor
CJNE A,#255d,inc_routine
Inc_routine:
INC contor
Ret
Int1_routine :
MOV A,contor
CJNE A,#00h,dec_routine
dec_routine:
DEC contor
Ret




Exemplul3:  Folosire timer cu intrerupere
$mod51

contor DATA 00h

org 8000h
    jmp main

org 800Bh
    call timer0r
    reti

main:
    mov TMOD,#00000001b
    mov TCON,#00010000b
    mov IE,#10000010b
    mov contor,#00h
    mov P1,#00h
    loop:
        jmp loop
    timer0r:
        mov A,contor
        XRL A,#14d
        JZ depasire
        INc contor
        ret
    depasire:
        mov contor,#00h
        CPL P1.3
        ret   

end


pus acum 17 ani
   
Pagini: 1