Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Skaitmeniniai įvedimo isvedimo prievadai P1 - P6

Lituaniana


Skaitmeniniai įvedimo isvedimo prievadai P1 - P6

Sesi skaitmeniniai įvedimo isvedimo prievadai P1 - P6 yra įdiegti MSP430F4xx seimos mikrovaldikliuose. Visi prievadai yra astuonių bitų. Kiekvienas prievado isvadas gali būti individualiai sukonfiguruotas kaip įvedimo arba isvedimo isvadas. Galimos rasymo ir skaitymo operacijos į (is) kiekvieną isvadą individualiai.



Prievadų P1 ir P2 isvadai gali būti naudojami kaip pertraukimų įėjimai. Kiekvienas prievadų P1 ir P2 isvadas gali būti individualiai:

sukonfiguruotas kaip pertraukimo įėjimas arba paprastas įvedimo / isvedimo isvadas;

darbo eigoje uzdraustas arba leistas pertraukimo formavimas kiekviename isvade;

pertraukimas gali būti formuojamas nuo kylanč 12512j912m ;io arba krintančio signalo fronto.

Visus pertraukimus prievado P1 isvaduose aptarnauja vienas pertraukimų vektorius (vektoriaus adresas atmintyje - 0FFE8h), o pertraukimo signalus prievado P2 isvaduose aptarnauja kitas pertraukimų vektorius (vektoriaus adresas - 0FFE2h).

Pagrindinės įvedimo - isvedimo prievadų P1 - P6 savybės

individualiai programuojamas kiekvieno isvado rezimas;

galima bet kokia isvadų įvedimo - isvedimo rezimų kombinacija;

individuliai konfiguruojami prievadų P1 ir P2 isvadai darbui pertraukimo rezime;

nepriklausomi duomenų įvedimo ir isvedimo registrai.

Darbui skaitmeninių signalų įvedimo - isvedimo rezime prievadai nustatomi kiekvieno is jų vidinių registrų pagalba. Duomenų nuskaitymui is konkretaus prievado naudojami įėjimo registrai PxIN. Įėjimo registrus galima tik skaityti, kai krypties registre nurodyta įėjimo kryptis.

Skaitmeninės informacijos rasymui į prievadą naudojami isėjimo registrai PxOUT. Isėjimo registrai isveda informaciją per isėjimo buferį, kai krypties registre nurodyta isėjimo kryptis.

Kiekvieno isvado darbo kryptis (duomenų isvedimas, ar duomenų įvedimas) nustatoma rasant informaciją į konkretaus prievado krypties registrą PxDIR. Kiekvienas krypties registras susideda is astuonių bitų, kurie nurodo kiekvieno bito kryptį (įėjimo arba isėjimo). Bitai isvalomi po pradinio nustatymo signalo PUC (Power Up Clear). Rasant į krypties registrą PxDIR, bitų reiksmės:

Bitas = 0 - pasirinkta įėjimo kryptis.

Bitas = 1 - pasirinkta isėjimo kryptis.

Paprastai kiekvienas prievado isvadas multipleksuojamas su kito periferinio įrenginio isvadu, t.y. galima nurodyti, kam priklauso konkretus isvadas - ar įvedimo/isvedimo prievadui, ar konkrečiam periferiniam įrenginiui. Tam yra naudojami funkcijos parinkimo registrai PxSEL. Sie registrai nustato konkretaus isvado vykdomos funkcijos tipą:

Bitas = 0 - mikrovaldiklio isvadas konfiguruojamas atlikti skaitmeninio prievado funkciją.

Bitas = 1 mikrovaldiklio isvadas konfiguruojamas atlikti konkretaus modulio funkciją.

Nustačius isvadui atlikti konkretaus modulio funkciją (t.y. PxSELx = 1), nėra automatiskai nustatoma jo kryptis. Sio isvado atliekama funkcija, o tuo pačiu ir kryptis priklauso nuo konkretaus periferinio modulio ir valdoma jo valdymo registrais.

Pateiktas programos fragmentas, kuriame prievado P1 penkta skiltis nustatoma sinchrosignalo ACLK isvedimui:

Bis #020h, &P1SEL ; isrenkama signalo ACLK isvedimo funkcija

Bis #020h, &P1DIR ; nustatoma isvedimo kryptis

Skaitmeniniai prievadai P1, P2 ir jų kontrolės registrai.

Mikrovaldiklyje MSP430 prievadai P1 ir P2 turi po septynis valdančiuosius registrus, uztikrinančius jų taikymo lankstumą ir nustatančius jų atliekamas funkcijas:

Kiekvienas sių prievadų isvadas gali būti sukonfiguruotas vykdyti isorinio pertraukimo įėjimo funkciją. Isorinio pertraukimo signalo formavimas įmanomas visais astuoniais prievadų P1 ir P2 bitais. Visus pertraukimus prievado P1 isvaduose aptarnauja vienas pertraukimų vektorius (vektoriaus adresas atmintyje - 0FFE8h), o pertraukimo signalus prievado P2 isvaduose aptarnauja kitas pertraukimų vektorius (vektoriaus adresas - 0FFE2h). Nuskaičius pertraukimo vėliavėlių registro P1IFG (arba P2IFG) turinį, galima nustatyti pertraukimo reikalavimo saltinį. Kiekvienas registras susideda is astuonių bitų, kurie nurodo ar yra pertraukimo reikalavimas:

Bitas = 0 - nėra pertraukimo reikalavimo.

Bitas = 1 - yra pertraukimo reikalavimas Tokiu atveju galima atlikti įvairias pertraukimo apdorojimo procedūras, priskirtas konkrečiam pertraukimo reikalavimui.

Kiekviena pertraukimo vėliavėlių registro P1IFG ar P2IFG skiltis yra įjungiama, kai suformuojamas aktyvus pertraukimo signalo frontas (kylantis ar krintantis) konkrečiame isvade. Aktyvus pertraukimo signalo frontas nurodomas pertraukimo fronto parinkimo registruose P1IES ir P2IES:

Bitas = 0 - pertraukimo vėliavėlė įjungiama, kai signalas kinta is zemo į aukstą loginį lygį.

Bitas = 1 - pertraukimo vėliavėlė įjungiama, kai signalas kinta is auksto į zemą loginį lygį.

Kiekviena pertraukimų vėliavėlių registro skiltis gali būti įjungiama ir gesinama programiskai, atliekant rasymo į registrus PxIFG instrukciją. Norint, kad mikrovaldiklis ir toliau reaguotų į aptarnauto pertraukimo signalus, iki pertraukimo paprogramės pabaigos (iki komandos IRET) reikia uzgesinti aptarnaujamo pertraukimo vėliavėlę registre PxIFG.

11 pav. Prievadų P1 ir P2 konfigūraciniai registrai ir jų adresai

Mikrovaldiklis reaguos į pertraukimų reikalavimus, jei atitinkama pertraukimo leidimo registro P1IE (P2IE) skiltis yra įjungta ir įjungtas globalaus pertraukimų leidimo bitas GIE pozymių registre (Status Register) SR. Pertraukimo leidimo registrai P1IE ir P2IE kontroliuoja atitinkamus pertraukimų įėjimus:

Bitas = 0 - pertraukimo įėjimas yra uzdraustas.

Bitas = 1 - pertraukimo įėjimas yra leidziamas.

Tiktai pertraukimo signalo frontas (ne statinis signalas) įjungia pertraukimą. Jeigu kita pertraukimo reikalavimo vėliavėlė PxIFGx įjungiama pertraukimo Px apdorojimo metu, arba ji įjungiama po instrukcijos IRET, vykdomas sio pertraukimo aptarnavimas. Taip uztikrinamas kiekvieno pertraukimo reikalavimo aptarnavimas.

12 lentelė. Skaitmeninių prievadų P1, P2 ir P3 valdymo registrai ir jų adresai

Registrai

Trumpa forma

Registro tipas

Adresas

Įėjimo registras

P1IN

tik skaityti

020h

Isėjimo registras

P1OUT

skaityti - rasyti

021h

Krypties registras



P1DIR

skaityti - rasyti

022h

Pertraukiamo registras

P1IFG

skaityti - rasyti

023h

Pertraukiamo fron. par.

P1IES

skaityti - rasyti

024h

Pertraukimo leid. reg.

P1IE

skaityti - rasyti

025h

Funkcijos parink. reg.

P1SEL

skaityti - rasyti

026h

Įėjimo registras

P2IN

tik skaityti

028h

Isėjimo registras

P2OUT

skaityti - rasyti

029h

Krypties registras

P2DIR

skaityti - rasyti

02Ah

Pertraukiamo registras

P2IFG

skaityti - rasyti

02Bh

Pertraukiamo fron. par.

P2IES

skaityti - rasyti

02Ch



Pertraukimo leid. reg.

P2IE

skaityti - rasyti

02Dh

Funkcijos parink. reg.

P2SEL

skaityti - rasyti

02Eh

Įėjimo registras

P3IN

tik skaityti

018h

Isėjimo registras

P3OUT

skaityti - rasyti

019h

Krypties registras

P3DIR

skaityti - rasyti

01Ah

Funkcijos parink. reg.

P3SEL

skaityti - rasyti

01Bh

Prievadzio P1 panaudojimo pavyzdys

Prie skaitmeninio prievadzio P1 prijungta 12-kos klavisų klaviatūra, per kurią įvedama informacija isorinio pertraukimo rezime. Prie prievado P1 prijungta klaviatūra sekančiu būdu (pav):

prie prievado isvadų P1.0, P1.2 ir P1.4 prijungti klaviatūros stulpeliai;

prie isvadų P1.1, P1.3, P1.5 ir P1.6 - eilutės.

12 pav. Klaviatūros prijungimo prie prievado P1 schema

Preivado isvadai, prie kurių yra prijungti klaviatūros stulpeliai nustatomi į įvedimo rezimą, likusieji - į isvedimo rezimą ir į juos įrasomas 0. Kol nenuspaustas nei vienas klavisas, isvaduose P1.0, P1.2 ir P1.4 palaikomas auksto loginio lygio signalas, o nuspaudus bet kurį klavisą viename is sių įėjimų suformuojamas pertraukimo signalas (perėjimas is 1 į 0), kuris perduoda valdymą pertraukimo apdorojimo paprogramei "IO_P1". Atmintyje (paskutinės programos pavyzdzio eilutės) adresu 0FFE8h turi būti įrasytas paprogramės "IO_P1" adresas (t.y. turi būti nurodyta 4-to pertraukimo vektoriaus reiksmė).

Zemiau pateikiamas programos fragmentas, kuriame atliekama prievado P1 inicializacija.

KeyboardInit:

mov.b #00h,P1SEL ; naudojame kaip I/O prievadį

mov.b #0EAh,P1DIR ; 0 - 2 - 4 isvadai konfigūruojami kaip įėjimai

mov.b #00h,P1OUT ; visi kiti įzeminti

mov.b #15h,P1IES ; neigiamas frontas generuoja pertraukimą

mov.b #15h,P1IE ; įjungiame

ret

Skaitmeninio prievadzio P3 panaudojimo pavyzdys

Prie skaitmeninio prievadzio P3 prijungti spinduoliai informacijos atvaizdavimui (4 pav.).

13 pav. Klaviatūros prijungimo prie prievado P1 schema




Document Info


Accesari: 1681
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )