next up previous
Gor: Programiranje mikroprocesorja 6800 Nazaj: ad b)

Programiranje I/O enote na 6800

Prvenstvena naloga I/O enote (PIA interface adapter MC6821 ) je komunikacija z zunanjim svetom, to je sprejemanje podatkov iz raznih A/D-C, perifernih enot itd. in oddajanje le teh preko krmiljenja aktuatorjev, D/A-C, relejev itd. PIA se sestoji iz povsem enakih polovic A in B. Vsaka in po tri registre:

PRA
je register v katerega podatki pritekajo in odtekajo, odvisno od tega kako je sprogramiran

DDRA
je register v kateremu definiramo ali bodo (posamezne) linije v PRA izhodne (logi"cna 1) ali vhodne (logi"cna 0).

PRA in DDRA se nahajata na lokaciji 80h, v kateri register vpisujemo pa dolo"cimo z drugim bitom v CRA registru, ki se nahaja na lokaciji 81h.

CRA
je register s katerim dolo"cimo periferni enoti status. "Ce vpisujemo v ta register 04h pomeni da bomo imeli PRA "ce pa vpi"semo 00h pa to pomeni, da programiramo DDRA.

PRA in DDRA sta na isti spominski lokaciji zaradi bolj"se izkori"s"cenosti spominskega prostora saj na ta na"cin porabimo samo 4 byte in ne dobimo redundantnih bytov. "Ce bi imel vsak register svojo spominsko lokacijo bi porabili 6 bytov s to slabostjo da nam ostaneta dva redundantna. Za programski dostop do periferne enote uporabljamo direktni na"cin naslavljanja, ker je najhitrej"si. Vse linije so ob vklopu napajalne napetosti definirane kot vhodne to pa zaradi tega, ker bilahko pri"slo do kratkega stika med PIA-o in izhodno enoto, "ce bi le ta bila izhodna in na log. 0 PIA pa prav tako izhodna z izhodom log. 1.



Leon Kos
Mon Apr 22 07:44:22 GMT+0100 1996