2024. április 25., csütörtök

Gyorskeresés

Útvonal

Cikkek » IT-ipar rovat

Project: HAL9!

  • (f)
  • (p)
Írta: |

Kedvcsináló PIC-ezéshez: egylapos, komplett számítógépet mindenkinek!

[ ÚJ TESZT ]

A PIC

"Egy újszülöttnek minden vicc új"

Nyilván itt a PH!-n számtalan olyan emberke van, akik profi módon művelik a "PIC-műfajt". Ez a cikk csak annyiban szól nekik, hogy lektorálják, segítséget nyújtsanak az olyan kezdőknek, mint én.
Igazából azoknak szól a cikk, akik még csak nem is hallottak róla, vagy csak tervezgetik, hogy nekiinduljanak a PIC-kezésnek.

Kis kedvcsinálónak....

Mi is a PIC?
A PIC processzorcsalád a Microchip által gyártott olcsó egylapos komplett számítógép, elsősorban vezérlési feladatokra. Ilyen - és ehhez hasonló - vezérlők találhatók a háztartási gépekben, riasztókban, kaputelefonokban, audió berendezésekben és még sorolhatnám.
Rendkívül széles választékban kapható a 8 lábú mini verziótól a 100 lábú óriásig.
A PIC RISC processzor, vagyis csökkentett utasítás készletű. Ezért általában igaz rá, hogy egy utasítást 1 ciklusidő alatt végez el. De itt van egy kis csalás: a beállított órajelet 4-gyel osztja. Így egy 4MHz-en járó PIC valójában 1us alatt végez el egy utasítást.
Órajelük 0Hz-től 20MHz-ig beállítható. Tápfeszültségük 2-5,5V-ig lehetséges, miközben áramfelvételük uA...mA nagyságrendű. Így 2db ceruzaelemről akár hónapokig működőképesek:
Lásd:
- PIC16F627 - 3.0V to 5.5V
- PIC16LF627 - 2.0V to 5.5V
• Low power consumption
- < 2.0 mA @ 5.0V, 4.0 MHz
- 15 µA typical @ 3.0V, 32 kHz
- < 1.0 µA typical standby current @ 3.0V

Mivel komplett számítógépekről van szó, található bennük (általában) néhányszor 10...100Byte ram, FlashROM a program tárolására (típustól függően 0,5k, vagy több), de vannak egyszer programozható típusok is (OTP), esetleg további Flash a változók mentésére.

Én a 16F627-et választottam - kb. 600Ft -, ezért inkább ezen keresztül mutatnám be a főbb képességeit.

A Vss, VDD a két tápfeszültség.
Az RA, RB lábak szabadon konfigurálhatók kimenetként ill. bemenetként. Ha bemenetként állítjuk be, akkor szoftverből bekapcsolhatók felhúzó ellenállások, így külső kiegészítés nélkül köthetünk rá nyomógombokat. Kimenetként 5-10mA-rel terhelhetők.
(1-2 kivételtől eltekintve a konfigurációt a megírt szoftverben kell beállítani.)
Ha "beáldozunk" digitális I/O-kat, akkor analóg komparátor bemeneteket is kaphatunk: AN.
Csak felsorolom: lehetséges még Vref-et kivezetni, van Timer bemenet, megszakítás (INT) bemenet, USART (Tx,Rx), komparátor kimenet (CMP), PWM kimenet, órajel kimenet szinkronizáláshoz (CK).
Az MCLR (RA5) alaphelyzetben a processzor reset bemenete.

Az órajel előállítása széles tartományban lehetséges, mint fentebb írtam: DC-20MHz. Ez több módon történhet:
-kapcsolhatunk hozzá kvarc-kristályt
-lehetséges kerámia-rezonátort is használni
-vagy csak egy egyszerű R-C tagot, ha nincs szükség nagy pontosságra
-vagy külső órajel generátort kapcsolunk rá
-a legegyszerűbb viszont az, hogy az IC-ben található egy 4MHz-es oszcillátor, ezt aktiváljuk és ekkor ezek a lábak is felszabadulnak I/O-nak
Azt, hogy melyiket választottuk, a programunk feltöltésekor kell beállítani, hiszen értelemszerűen, amíg nem megy az órajel, nem fut a program sem, így hiába is konfigurálhatnánk szoftverből.

Ami belül van:
-35db utasítás
-1k Flash a programnak
-224Byte RAM a változóknak
-128Byte EEPROM a változók tárolásának
-3db Timer
-néhány speciális regiszter a hardware beállításoknak
-Watchdog timer
-stand by üzemmód
-és még néhány speciális funkció

A végén kezdem.
Lássuk előbb a program feltöltésének módját:

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.