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: OnutzaGirl la Simpatie.ro
 | Femeie 23 ani Galati cauta Barbat 24 - 51 ani |
|
|
andreeamp
Moderator
Inregistrat: acum 18 ani
Postari: 27
|
|
Operatii efectuate pe portul serial(stiind rutinele de citire si scriere pe portul serial)
Exemplul1: Transfera 16octeti de pe serial in memoria externa incepand cu adresa 9000h ;citea de pe serial in A(transmisie de pe serial in memoria externa) ;observatie registrul dptr il folosesc doar pt.memoria externa ;pune A->mem
$mod51 Main: mov DPTR,#9000h ;initializeaza pointer memorie externa mov R0,#16 ;contor Loop: call GetChar ;receptioneaza octet de pe serial mov @DPTR,A ;transfera in memorie inc DPTR ;avansare in memorie djnz R0,Loop ;repeta pana cand R0=0 GetChar: ;rutina de receptie de pe serial jnb RI,$ ;asteapta receptia mov A,SBUF ;transfera octetul in A clr RI ;sterge flagul de receptie ret ;revenire in program END
Exemplul2: Programul invers (transfera 16octeti din memoria externa pe serial)
;trimit A pe serial $mod51 mov DPTR, #9000h ;initializeaza pointer memorie externa mov R0,#16 ;contor
Loop: mov A,@DPTR ;transfera in acumulator call PutChar ;transfera octet pe serial inc DPTR ;avansare in memorie djnz R0,Loop ;repeta pana cand R0=0 PutChar: mov SBUF,A jnb TI,$ ;asteapta transmisia clr TI ;sterge flagul de transmisie ret
Exemplul3: Transfer de pe portul serial in memoria interna
$mod51
Main: MOV R1,#10h ;pointer memorie mov R0,#16 ;contor
Loop: call GetChar ;receptioneaza octet de pe serial mov @R1,A ;transfera in memorie inc R1 ;avansare in memorie djnz R0,Loop ;repeta pana cand R0=0
GetChar: ;rutina de receptie de pe serial jnb RI,$ ;asteapta receptia mov A,SBUF ;transfera octetul in A clr RI ;sterge flagul de receptie ret ;revenire in program END
Exemplul4: Transfer 16octeti din memoria interna pe portul serial incepand cu adresa 10h
$mod51 mov R1,10h ;pointer memorie mov R0,#16 ;contor
Loop: mov A,@R1 ;transfera in acumulator call PutChar ;transfera octet pe serial inc R1; avansare in memorie djnz R0,Loop ;repeta pana cand R0=0
PutChar: mov SBUF,A jnb TI,$ ;asteapta transmisia clr TI ;sterge flagul de transmisie ret
|
|
| pus acum 17 ani |
|