Documente Academic
Documente Profesional
Documente Cultură
Laborator 4
Laborator 4
1. Obiectivul lucrării:
2. Consideraţii teoretice
Rolul circuitelor de interfata este in esenta acela de a asigura schimbul de date (intrari/iesiri)
al microprocesorului, cu exteriorul.
Din setul de instructiuni al procesorului (de transfer, aritmetice, logice, salt, etc.) vom folosi
pentru programarea interfetelor periferice si pentru transferul de date
instructiunile IN si OUT pentru procesorul 8086 (se foloseste in acest caz tehnica de lucru cu
porturi izolate de memorie) si MOV si MOVX pentru procesorul din 8051 (in acest caz se
foloseste tehnica de lucru cu porurile memory-map I/O .
Circuitul numarator/temporizator 8255 este alcatuit in principal din trei porturi paralele care
permit transferul de date catre logica externa in paralel in general pe 8 biti cu exceptia
portului PC care poate fi impartit in doua parti de cate 4 biti.
Interfata cu microprocesorul:
Tot in partea de interfata cu microprocesorul exista semnalele A0, A1, RD, WR, CS, functie
de combinatia acestora rezultind toate operatiile posibile ale circuitului 8255.
Modul 0 de lucru
Modul 1 de lucru
In acest mod transferurile de date se fac tot in paralel, pe 8 biti, dar cu sincronizare. Si
in acest mod transferul se face in mod unidirectionar (pe intrare sau pe iesire)
Se pot folosi in acest mod porturile PA si PB
Pentru sincronizarea transferurilor cu portul PA se folosesc 2 biti ai portului PC4-7 .
Inca un bit al portului PC4-7 se poate folosi pentru a genera o intrerupere catre procesor
Pentru sincronizarea transferurilor cu portul PB se folosesc 2 biti ai portului PC0-3.
Inca un bit al portului PC0-3 se poate folosi pentru a genera o intrerupere catre procesor
Modul 2 de lucru
Aplicatia 1
I8255 I8253
PB0
PB1 OUT2
GATE2
.model small
;---------------------------------
sound equ 61h ;adresa pentru 8255
timer equ 42h ;adresa pentru 8253
on equ 00000011b ;bitul 0 programat 1 semnifica
;validare generare semnal
;dreptunghiular de catre I8253
;vezi semnalul TIM2GATE
;bitul 1 programat 1 semnifica
;dirijare catre difuzor a
;semnalului
;vezi semnalul SPKDATA
.code
;----------------------------------inceput standard
start: mov ax,@data
mov ds,ax
;----------------------------------
in al, sound ;pozitioneaza portul I-8255
or al, on ;activeaza difuzor si
out sound, al ;conecteaza timer
;----------------------------------
mov al, 100 ;programare timer
sounder: out timer,al ;trimite octetul la timer
;----------------------------------
mov cx,10000 ;intirziere
hold: loop hold
dec al
jnz sounder
in al,sound
and al,NOT on
out sound,al
;----------------------------------terminare standard
mov ah,4ch
int 21h
end start
1 1 0 Nu e alocat
1 1 1
urmatoare :