16F628A megszakítás kezelése

Hasonló dokumentumok
Using the CW-Net in a user defined IP network

MSP430 programozás Energia környezetben. Az I/O portok kezelése

Léptetőmotorok. Előnyök: Hátrányok:

Proxer 7 Manager szoftver felhasználói leírás

Bevezetés a mikrovezérlők programozásába: WS2812 RGB LED-ek vezérlése

Széchenyi István Egyetem

Mechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások

Modbus kommunikáció légkondícionálókhoz

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Vezérlés és irányítástechnológia (Mikroprocesszoros irányítás)

Arduino bevezető Szenzorhálózatok és alkalmazásaik

Computer Architectures

Can/be able to. Using Can in Present, Past, and Future. A Can jelen, múlt és jövő idejű használata

Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -

Járműfedélzeti rendszerek I. 5. előadás Dr. Bécsi Tamás

Mechatronika és mikroszámítógépek

Bevezetés a számítástechnikába

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

Construction of a cube given with its centre and a sideline

Mikrokontrollerek. Tihanyi Attila május 8

Mapping Sequencing Reads to a Reference Genome

MSP430 programozás Energia környezetben. Az első lépések

LED UTCAI LÁMPATESTEK STREET LIGHTING

LabView Academy. 3. óra - cluster, for ciklus, while ciklus, DAQ alapok

A Picoblaze Core implementálása FPGA-ba

Járműfedélzeti rendszerek I. 4. előadás Dr. Bécsi Tamás

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM

Az interrupt Benesóczky Zoltán 2004

(Asking for permission) (-hatok/-hetek?; Szabad ni? Lehet ni?) Az engedélykérés kifejezésére a következő segédigéket használhatjuk: vagy vagy vagy

Utasítások. Üzembe helyezés

Eladni könnyedén? Oracle Sales Cloud. Horváth Tünde Principal Sales Consultant március 23.

MSP430 programozás Energia környezetben. LED kijelzok második rész

SQL/PSM kurzorok rész

Correlation & Linear Regression in SPSS

Digitális elektronika gyakorlat

Ültetési és öntözési javaslatok. Planting and watering instructions

AVR assembly és AVR C modulok együttes használata AVR C projektben. Összeállította: Sándor Tamás

Fuzzy Rendszerek. 3. előadás Alkalmazások. Ballagi Áron egyetemi adjunktus. Széchenyi István Egyetem, Automatizálási Tsz.

On The Number Of Slim Semimodular Lattices

loop() Referencia:

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

Word and Polygon List for Obtuse Triangular Billiards II

MSP430 programozás Energia környezetben. Hétszegmenses LED kijelzok

KN-CP50. MANUAL (p. 2) Digital compass. ANLEITUNG (s. 4) Digitaler Kompass. GEBRUIKSAANWIJZING (p. 10) Digitaal kompas

MAKING MODERN LIVING POSSIBLE. Danfoss Heating Solutions

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Informatika E FAKT , = ±

BEACon TM. Verzió 2.0

Az MSP430 mikrovezérlők digitális I/O programozása

ELEKTRONIKAI ALAPISMERETEK ANGOL NYELVEN

HAMBURG Használati útmutató Vezérlőmodul UKSM 24VDC Cikkszám:

Excel vagy Given-When-Then? Vagy mindkettő?

IKR Agrár Kft. biztonsági elemzése Füzesabony Területi Központ

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Mikrovezérlők programozása

INSTALLATION MANUAL For authorized service personnel only.

A számítógép alapfelépítése

APB mini PLC és SH-300 univerzális kijelző Általános használati útmutató

LED alkalmazások. Schanda János

Please stay here. Peter asked me to stay there. He asked me if I could do it then. Can you do it now?

Cloud computing Dr. Bakonyi Péter.

1. Az utasítás beolvasása a processzorba

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

NASODRILL ORRSPRAY: TARTÁLY- ÉS DOBOZFELIRAT, VALAMINT A BETEGTÁJÉKOZTATÓ SZÖVEGE. CSECSEMŐ GYERMEK FELNŐTT 100 ml-es üveg

discosnp demo - Peterlongo Pierre 1 DISCOSNP++: Live demo

LabVIEW Academy. 6. óra state machine

PromoCoder_7031/Lx3 rendszer használati utsítás v1.1

MSP430 programozás Energia környezetben. LED kijelzok második rész

Vegyes témakörök. ARDUINO a kispénzű amatőrök PLC-je. Hobbielektronika csoport 2017/2018. Debreceni Megtestesülés Plébánia

THS710A, THS720A, THS730A & THS720P TekScope Reference

A golyók felállítása a Pool-biliárd 8-as játékának felel meg. A golyók átmérıje 57.2 mm. 15 számozott és egy fehér golyó. Az elsı 7 egyszínő, 9-15-ig

Mikrovezérlők Alkalmazástechnikája

Kezdőlap > Termékek > Szabályozó rendszerek > EASYLAB és TCU-LON-II szabályozó rendszer LABCONTROL > Érzékelő rendszerek > Típus DS-TRD-01

LPT illesztőkártya. Beüzemelési útmutató

Számítógépes Hálózatok GY 9.hét

A Számítógépek hardver elemei

Mikrovezérlők Alkalmazástechnikája

CONTROL AUTÓRIASZTÓ RENDSZER

Budapest By Vince Kiado, Klösz György

Lopocsi Istvánné MINTA DOLGOZATOK FELTÉTELES MONDATOK. (1 st, 2 nd, 3 rd CONDITIONAL) + ANSWER KEY PRESENT PERFECT + ANSWER KEY

ANGOL NYELVI SZINTFELMÉRŐ 2013 A CSOPORT. on of for from in by with up to at

Újrakonfigurálható eszközök

MICROCHIP PIC DEMO PANEL

BKI13ATEX0030/1 EK-Típus Vizsgálati Tanúsítvány/ EC-Type Examination Certificate 1. kiegészítés / Amendment 1 MSZ EN :2014

NC 900 KEZELÉSI KÉZIKÖNYV

IndraControl L 10 (CML 10) vezérlı installációs segítség, elsı lépések

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

2008. október 9. Verzió

Csima Judit április 9.

VHDL szimuláció. Tervezés. Labor II. Dr. Hidvégi Timót

LINEÁRIS AKTUÁTOROK LINEAR ACTUATORS

MELLÉKLET / ANNEX. EU MEGFELELŐSÉGI NYILATKOZAT-hoz for EU DECLARATION OF CONFORMITY

Használati útmutató HANDELSINFORMATIONEN FÜR DEN KUNDEN COMMERCIËLE INFORMATIES VOOR DE KLANT SLT955 SLT955. ökocímke

A rosszindulatú daganatos halálozás változása 1975 és 2001 között Magyarországon

Rezgésdiagnosztika. Diagnosztika

ios alkalmazásfejlesztés Koltai Róbert

NYOMÁSOS ÖNTÉS KÖZBEN ÉBREDŐ NYOMÁSVISZONYOK MÉRÉTECHNOLÓGIAI TERVEZÉSE DEVELOPMENT OF CAVITY PRESSURE MEASUREMENT FOR HIGH PRESURE DIE CASTING

Átírás:

16F628A megszakítás kezelése A 'megszakítás' azt jelenti, hogy a program normális, szekvenciális futása valamilyen külső hatás miatt átmenetileg felfüggesztődik, és a vezérlést egy külön rutin, a megszakításkezelő kapja meg. Miután a megszakításkezelő végzett, a program a futását - mintha semmi se történt volna - folytatja. A külső hatások tipikusan: jelváltozás valamelyik bemeneten, a hardver számláló / időzítő 255-ről 0-ra váltása (túlcsordulása), vagy pld. az A/D konverter jelzése, hogy készen van a konverzió. A megszakítás vezérlő feladata, hogy: - legyenek megszakítások - egyesével, vagy globálisan lehessen a megszakításokat engedélyezni, vagy letiltani. Kezdetben valószínűleg nem fogsz a megszakításokkal foglalkozni, de hamar elérkezik ennek is az ideje. Ha nem kell az interrupt, gondoskodj arról, hogy az INTCON regiszter 00-ban legyen. Ezzel minden megszakítást letiltottál.

GCB programban: IntOff Tiltja a mikrovezérlő megszakítás kezelést IntOn Engedélyezi a mikrovezérlő megszakítás kezelését Példa 1 This example shows if an event occurs the microcontroller will be program to jump to the interrupt vector and the program will not know the event type, it will simple execute the Interrupt subroutine. This code is not intended as a meaningful solution and intended to show the functionality only. An LED is attached to PORTB.1 via a suitable resistor. It will light up when the Interrupt event has occurred. Példa 2 #chip 16f628a, 4 dir PORTB.1 out Set PORTB.1 Off 'Note: there is NO On Interrupt handler InitTimer1 Osc, PS1_8 SetTimer 1, 1 StartTimer 1 'Manually set Timer1Overflow to the overflow event 'this will event will be handled by the Interrupt sub routine TMR1IE = 1 end Sub Interrupt Set PORTB.1 On TMR1IF = 0 Any events that are not dealt with by On Interrupt will result in the code in the Interrupt subroutine executing. This example shows the operation of two interrupt handlers - is not intended as a meaningful solution. LEDs are attached to PORTB.1 and PORTB.2 via suitable resistors. They will light up when the Interrupt events occur. #chip 16f628a, 4 On Interrupt Timer1Overflow call Overflowed dir PORTB.1 out Set PORTB.1 Off dir PORTB.2 out Set PORTB.2 Off InitTimer1 Osc, PS1_8 SetTimer 1, 1 StartTimer 1

Példa 3 InitTimer2 PS2_16, PS2_16 SetTimer 2, 255 StartTimer 2 'Manually set Timer2Overflow to create a second event 'this will event will be handled by the Interrupt sub routine TMR2IE = 1 end Sub Interrupt Set PORTB.2 On TMR2IF = 0 Sub Overflowed Set PORTB.1 On TMR1IF = 0 This code implements four flashing LEDs. This is based on the Microchip PIC Low Pin Count Demo Board. The example program will blink the four red lights in succession. Press the Push Button Switch, labeled SW1, and the sequence of the lights will reverse. Rotate the potentiometer, labeled RP1, and the light sequence will blink at a different rate. This implements an interrupt for the switch press, reads the analog port and set the LEDs. Demonstration program: #chip 18F14K22, 32 #config OSC = IRC, MCLRE_OFF 'Works with the low count demo board 'Set the input pin direction #define SwitchIn1 PORTa.3 Dir SwitchIn1 In #define LedPort PORTc DIR PORTC OUT 'Setup the ADC pin direction Dir PORTA.0 In dim ADCreading as word 'Setup the input pin direction #define IntPortA PORTA.1 Dir IntPortA In 'Variable and constants #define intstate as byte intstate = 0 #define minwait 1 dim ccount as byte dim leddir as byte leddir = 0

SET PORTC = 15 WAIT 1 S SET PORTC = 0 'Setup the Interrupt Set IOCA.3 on Dir porta.3 in On Interrupt PORTABCHANGE Call Setir 'Set initial LED direction setleddirection DO FOREVER INTON ADCreading = ReadAD10(AN0) if ADCreading < minwait then ADCreading = minwait 'Set LEDs Set PortC = ccount wait ADCreading ms if leddir = 0 then rotate ccount left simple 'Restart LED position if ccount = 16 then ccount = 128 if leddir = 1 then rotate ccount Right simple 'Restart LED position if ccount = 128 then 'Reset interrupt - this may be been reset so set to zero so interrupt can operate. intstate = 0 Loop 'Interrupt routine. sub Setir if IntPortA = 0 and intstate = 0 then intstate = 1 wait while SwitchIn1 = 0 setleddirection end sub sub setleddirection 'Set LED values

select case leddir case 0 leddir = 1 case 1 leddir = 0 ccount = 1 end select