Documentation. Podstawy techniki mikroprocesorowej ETEW006. Przerwania. Przerwania. Po co komu przerwania. (Interrupt):

Wielkość: px
Rozpocząć pokaz od strony:

Download "Documentation. Podstawy techniki mikroprocesorowej ETEW006. Przerwania. Przerwania. Po co komu przerwania. (Interrupt):"

Transkrypt

1 Documentation Podstawy techniki mikroprocesorowej ETEW6 Andrzej Stępień Katedra Metrologii Elektronicznej i Fotonicznej PICmicro MID-RANGE MCU FAMILY. Microchip Technology, December 997, 3323a.pdf ST7. 8-BIT MCU FAMILY USER GUIDE. STMicroelectronics, July 22. MSP43x3 Family User s Guide. Texas Instruments, SLAU2A, 22. MCS@5 MICROCONTROLLER FAMILY USER S MANUAL. Intel, February 994 C55C 8-Bit CMOS Microcontroller. User s Manual. Infineon, Nov. 2 Steve Furber: ARM System-on-Chip Architecture, 2nd Edition. Addison Wesley, 2, ISBN-: źródła zgłaszania przerwań Po co komu Jak powinien reagować procesor: na zjawiska (sygnały) periodyczne lub aperiodyczne, wewnętrzne lub zewnętrzne? przy różnej szybkości pracy procesora i urządzeń zewnętrznych? przy wymaganiu wielozadaniowości (multitasking)? Reakcja procesora Polling versus s Programowa reakcja procesora - wykonywanie stałych pętli testujących, cyklicznych procedur testujących (Polling): znaczne obciążenie procesora, spadek efektywnego wykorzystania czasu pracy procesora brak natychmiastowej reakcji procesora wskutek zdeterminowanej przez kolejności wykonywanych procedur testujących Sprzętowa reakcja procesora - wykorzystanie systemu przerwań : brak obciążenia procesora jeśli brak żądania obsługi ( Request) natychmiastowa reakcja procesora po spełnieniu pewnych warunków, dodatkowych warunków; rozpoczęcie wykonywania procedury obsługi (podobieństwo do wywołania podu) USB Data Transfers (Polling) used for characters or coordinates with human-perceptible echo or feedback response characteristics interrupt transfer type is designed to support those devices that need to send or receive data infrequently but with bounded service periods (periodic) requesting a pipe with an interrupt transfer type provides: guaranteed maximum service period for the pipe (time between transactions the requester, ms = minimum time for Full Speed transmission) retry of transfer attempts at the next period, in the case of occasional delivery failure due to error on the bus

2 Przerwanie (interrupt) zawieszenie (przerwanie) wykonywanego u, najczęściej po spełnieniu dodatkowych warunków, zapamiętanie wszystkich niezbędnych do kontynuowania zawieszonego u wykonanie podu ( - Service Routine) obsługi zdarzenia (sygnału) żądającego (wymagającego) obsługi kontynuacja zawieszonego u zachowanie stanu procesora żądanie odtworzenie stanu procesora t źródła/identyfikacja przerwań Typy przerwań Hardware Reset w procesorach przerwanie sprzętowe niemaskowalne (NMI Non - Maskable ) rozpoczęcie wykonywania obsługi bez warunków wstępnych (zawsze) sprzętowe zerowanie procesora (Hardware Reset) rozpoczęcie wykonywania procedury bez warunków wstępnych (zawsze), zmiana wartości niektórych rejestrów przerwanie sprzętowe maskowalne (Maskable ) rozpoczęcie wykonywania procedury obsługi zależnie od spełnienia określonych warunków wstępnych; owe blokowanie / odblokowanie obsługi przerwań (Enable / Disable ) przerwanie owe (SWI SoftWare ) owe wywołanie obsługi operacja pułapki (Trap) inicjowana pojawieniem się błędu, np. próba dzielenia przez zero zerowanie / ustawienie licznika rozkazów blokada przerwań zerowanie / ustawienie rejestrów specjalnych mikrokontrolerów wyłączenie trybu użytkownika (przy różnych trybach pracy) C5 Reset - C5, ST7, MSP43, ARM7 RESET_Proc... 3h Ext Int h JMP RESET_Proc ARM7 RESET_Proc h... Exception 4h Undefined Instruction RESET_Proc ST7FLite FFFEh RESET_Proc FFFCh FFFAh FFF8h MSP43 SWI - Trap not used Ext Int FFFEh RESET_Proc FFFCh NMI_Proc FFFAh I/O_Proc FFEh RESET_Proc RESET_Proc ST7FLite mapping Higher address = higher priority 2

3 Wybrane SWI w x86 Nr Typ Nr Typ h Dzielenie przez zero 9h Gorący restart systemu h Praca krokowa Ah Obsługa drukarki 2h Przerwanie niemaskowalne Bh CTRL + BREAK 3h Pułapka (Breakpoint) Ch Przerwanie zegarowe użytkownika 4h Nadmiar Dh Tabela trybów wyświetlania 5h Wydruk zawartości ekranu Fh Tablica wzorców znaków 8h Przerwanie zegara 2h Zakończenie u 9h Przerwanie klawiatury 2h Funkcje MS-DOS Eh Przerwanie kontrolera dysków 22h Zakończenie u h Obsługa monitora 23h CTRL + C (CTRL + BREAK) h Konfiguracja komputera 24h Błąd krytyczny urządzenia 2h Rozmiar pamięci 25h Czytanie sektora dyskowego 3h Obsługa dysków 26h Pisanie sektora dyskowego 4h Obsługa złącza szeregowego... 5h Dodatkowe funkcje AT 2Fh Obsługa równoczesnych procesów 6h Obsługa klawiatury 33h Obsługa myszy 7h Obsługa drukarki 4h Tablica parametrów 8h Uruchomienie BASIC-a z ROM 46h dysku twardego / Źródła przerwań w mikrokontrolerach Wewnętrzne: kontrolery DMA, liczniki (Match, Capture, Reload, PWM), RTC (Real Time Clock), kontrolery interfejsów (UART, I 2 C-Bus, SPI, CAN, USB, Ethernet,..) przetworniki (A/C i C/A), BOD (Brown Out Detect), WDT (WatchDog Timer), próba wykonania zabronionej instrukcji lub niewłaściwych argumentów (np. próba dzielenia przez zero, nadmiar,..) Core (Embedded ICE). Zewnętrzne: poziom sygnału zewnętrznego, zbocze sygnału zewnętrznego. maskowalne należy owo odblokować P3.2 INT# P3.2 INT# Standard C5 - kontroler przerwań Timer Overflow Timer Overflow Serial Port IT IT RI TI IE IE TF TF EX EX ET ET ES EA PX 3h PX 3h PT Bh PT Bh 23h PS High Priority Low Priority when EA bit is set to, all interrupts are enabled C5 Mechanism IE Enable Register An interrupt is requested Its relative pending bit is set EA = Core finishes its current instruktion PC are pushed onto the stack EA = (disable interrupt) PC = address of the interrupt vector EA ET2 ES ET EX ET EX General interrupt enable No when EA bit is set (EA=), all interrupts are enabled This interrupt will be serviced when EA = Service Routine ST7 Mechanism An interrupt is requested Its relative pending bit is set I = (CC register) H I N Z C No Core finishes its current instruktion PC, X (not Y), A, CC are pushed onto the stack I = (disable interrupt) PC = address of the interrupt vector ST7 Condition Code (CC) Register General flag Clearing I bit (I=), all interrupts are enabled This interrupt will be serviced when I = Service Routine 3

4 MSP43 Mechanism Status Register RESERVED V An interrupt is requested Its relative pending bit is set GIE = SCG SCG OSC Off Core finishes its current instruktion PC, SR are pushed onto the stack GIE = (disable interrupt) PC = address of the interrupt vector No CPU Off General interrupt enable GIE N Z C when GIE bit is set (GIE=), all interrupts are enabled This interrupt will be serviced when GIE = Service Routine Identyfikacja urządzenia Adresy procedur obsługi przerwań Programowa / sprzętowa identyfikacja urządzenia / sygnału zgłaszającego przerwanie: badanie obiegiem realizowane owo w procedurach testujących metoda łańcuchowa: urządzenia dołączone do procesora w kolejności ważności (pierwszeństwa) obsługi sygnał potwierdzenia przyjęcia jest bramkowany w urządzeniu zgłaszającym przerwanie, które podaje swój numer identyfikacyjny szyną metoda wektorowa wygenerowanie adresu podu obsługi od urządzenia zgłaszającego przerwanie Adres początkowy procedury obsługi : dostarczany przez urządzenie zewnętrzne, to samo, które wywołało przerwanie; po akceptacji przesyłanie szyną adresu początku obsługi w tablicy wektorów przerwań (C5): w tablicy wyłącznie 2 N bajtów adresów przerwań (6 bitowa szyna adresowa); pozycja adresu zależna od rodzaju stałe adresy ustalone przez producenta procesora, np. co 4 lub co 8 bajtów (3, Bh, 3h itd.) PICmicro MID-RANGE MCU FAMILY When an interrupt is responded to, the Global Enable bit (GIE) bit is cleared to disable any further interrupt, the return address is pushed into the stack and the PC is loaded with 4h. ST7FLite mapping GIE to CPU clear GIE bit addr = 4h Once in the interrupt service routine the source(s) of the interrupt can be determined by polling the interrupt flag bits. Generally the interrupt flag bit(s) must be cleared in software before re-enabling the global interrupt to avoid recursive interrupts. Higher address = higher priority 4

5 MSP43 Family Dedicated I/O Port Figure 3 4. Priority Scheme MSP433xx Sources, Flags and Vectors Source System Word Priority Flag Address Power-up, ext. reset, watchdog WDTIFG Reset FFFEh 5 (highest) NMI, OSC. Fault NMIIFG/OFIFG NMI FFFCh 4 Dedicated I/O PIFG. Maskable FFFAh 3 Dedicated I/O PIFG. Maskable FFF8h 2 Maskable FFF6h Watchdog Timer WDTIFG Maskable FFF4h Timer_A CCIFG Maskable FFF2h 9 Timer_A TAIFG Maskable FFFh 8 USART receive URXIFG Maskable FFEEh 7 USART transmit UTXIFG Maskable FFECh 6 ADC, Timer/Port ADCIFG Maskable FFEAh 5 Timer/Port Maskable FFE8h 4 Port P2 P2IFG.7 Maskable FFE6h 3 Port P PIFG.7 Maskable FFE4h 2 Basic timer BTIFG Maskable FFE2h Port PIFG.27 Maskable FFEh (lowest) Standard C5 Source and Vectors indywidualne, bezpośrednie adresy wektorów przerwań Standard dla RESET tylko 3 bajty kolejne adresy wektorów przerwań co 8 bajtów Source Vector Request Address Flags External 3H IE Timer Overflow BH TF External 3H IE Timer Overflow BH TF Serial Channel 23H RI / TI Timer 2 Overflow / / Ext. Reload 2BH TF2 / EXF2 A/D Converter 43H IADC External 2 4BH IEX2 External 3 53H IEX3 External 4 5BH IEX4 External 5 63H IEX5 External 6 6BH IEX6 Wake-up from power-down mode 7BH CAN controller 8BH External 7 A3H External 8 ABH SSC interface 93H TC / WCOL P3.2 INT# P3.2 INT# Standard C5 - kontroler przerwań Timer Overflow Timer Overflow Serial Port IT IT RI TI IE IE TF TF EA EX EX ET ET ES PX 3h PX 3h PT Bh PT Bh 23h PS High Priority Low Priority when EA bit is set to, all interrupts are enabled ARM7: FIQ, vectored & nonvectored IRQ [/2] The Vectored Controller (VIC) takes 32 interrupt request inputs and mably assigns them into 3 categories: fast interrupt (FIQ): highest priority the fastest, short interrupt response time vectored (IRQ) interrupt: middle priority only 6 of the 32 requests can be assigned to this category non-vectored (IRQ) interrupt: lowest priority the slowest, long interrupt response time Type Flag(s) Mask VIC Channel WDT Watchdog (WDINT) x Reserved for Software s only x 2 Sources LPC2xx ARM Core Embedded ICE, DbgCommRx 2 x 4 ARM Core Embedded ICE, DbgCommTX 3 x 8 TIMER Match.. 3 (MR,.., MR3), Capture.. 3 (CR,.., CR3) 4 x TIMER Match.. 3 (MR,.., MR3), Capture.. 3 (CR,.., CR3) 5 x 2 UART Rx Line Status (RLS), Transmit Holding Register Empty (THRE) 6 x 4 Rx Data Available (RDA), Character Time-out Indicator (CTI) UART Rx Line Status (RLS), Transmit Holding Register Empty (THRE) 7 x 8 Rx Data Available (RDA), Character Time-out Indicator (CTI) Modem Status (MSI)[*] PWM Match.. 6 (MR, MR,.., MR6) 8 x I 2 C SI (state change) 9 x 2 SPI SPI Flag (SPIF)/Mode Fault (MODF) x 4 SPI (SSP) TX FIFO at least half empty (TXRIS), Rx FIFO at least half full x 8 (RXRIS) Receive Timeout condition (RTRIS), Receive overrun (RORRIS) RTC Counter Increment (RTCCIF)/Alarm (RTCALF) 3 x 2 EINT System Control External 4 x 4 EINT External 5 x 8 EINT2 System Control External 2 6 x EINT3 System Control External 3 7 x2 ADC A/D Converter end of conversion 8 x4 I 2 C SI (state change) 9 x8 BOD Brown Out detect 2 x ADC A/D Converter end of conversion 2 x2 5

6 Jednopoziomowa obsługa przerwań blokowanie przyjęcia następnego w przypadku, gdy nie jest zakończona obsługa poprzedniego wykonanie jednej instrukcji z u głównego przed rozpoczęciem obsługi zgłoszonego (czekającego w kolejce) priorytet żądanie A żądanie A żądanie B żądanie C Wielopoziomowa obsługa przerwań przyporządkowanie różnych poziomów priorytetów procedurom obsługi przerwań, co umożliwia przerwanie bieżącej procedury przez inną procedurę o wyższym priorytecie: priorytety owe są ustalane przez istę, zwykle od 2 do 6 poziomów priorytetów priorytety sprzętowe są ustalane przez producenta procesora priorytet żądanie A żądanie A żądanie B zagnieżdżone (Nesting of s ) żądanie C Standard C5 - rejestry kontrolera przerwań IE Enable Register addr = A8h, RW = h IP Priority Register addr = B8h, RW = h EA ET2 ES ET EX ET EX TCON Timer/Counter Control Register TF TR TF TR IE IT IE IT addr = 88h, RW = h SCON Serial Port Control Register addr = 98h, RW = h SM SM SM2 REN TB8 RB8 TI RI PT2 PS PT PX PT PX w C57 High External IE Timer TF External IE Timer TF Serial Channel RI + TI Timer 2 TF2 + EXF2 IP Bit IP. / IP. IP. / IP. IP.2 / IP.2 IP.3 / IP.3 IP.4 / IP.4 IP.5 / IP.5 Serial Channel RI + TI Compare Timer CTF Irq Flag IE RI + TI IADC TF IEX2 IE IEX3 TF CTF IEX5 RI + TI IEX6 TF2 + EXF2 IEX6 Low / High A/D Converter IADC External 2 IEX2 External 3 IEX3 External 4 IEX4 External 5 IEX5 External 6 IEX6 Low Standard C5 - priorytety przerwań Priorytety sprzętowe: IE najwyższy adres procedury obsługi = 3h TF Bh IE 3h TF Bh RI + TI najniższy 23h Priorytety owe, zmieniane przez użytkownika IP Priority Register addr = B8h, RW = h PT 2 PS PT PX PT PX 6

7 ARM7 When an exception occurs, the ARM: Copies CPSR into SPSR_<mode> Sets appropriate CPSR bits Change to ARM state Change to exception mode Disable interrupts (if appropriate) Stores the return address in LR_<mode> Sets PC to vector address x C x 8 x 4 x x C x 8 x 4 x FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Undefined Instruction Reset ARM7:.. FIQ, vectored & nonvectored IRQ [2/2] AD (Enable) VICIntEnable VICIntEnClear (Disable) BOD I2C Adx, BOD I2Cx, SPx EINTx RTC, PLL TIMERx, PWMx UARTx, WDT AD EINT3 EINT2 EINT VICFIQStatus VICIRQStatus EINT RTC PLL SP / SSP SPI I2C PWM (FIQ) priority & address VICDefVectAddr VICIntSelect VICVectCntl5 VICVectAddr (IRQ) VICVectCntl VICVectAddr VICVectCntl VICVectAddr highest VICRawIntr UART UART Timer Timer ARMCore VICVectAddr ARMCore WDT FIQ status address I priority R status Q status Czas reakcji Czas reakcji (Response Time) - czas liczony od momentu przyjęcia zgłoszenia do zakończenia ostatniej wykonywanej instrukcji w przerywanym ie; czas zależny od: sposobu testowania kolejności zgłoszonych przerwań liczby cykli maszynowych potrzebnych do zakończenia bieżącej, wykonywanej instrukcji typu wykonywanych instrukcji, np. owania kontrolera priorytetów przerwań żądanie ( Request) reakcja na przerwanie (Response Time) rozpoczęcie wykonywania Czas opóźnienia Czas opóźnienia i reakcji Czas opóźnienia (Latency Time) - czas liczony od momentu zgłoszenia do momentu rozpoczęcia wykonywania podu obsługi (); czas zależny dodatkowo od: sposobu wywołania podu obsługi, szybkości przesłania na stos licznika rozkazów PC liczby bajtów innych rejestrów przesyłanych na stos przed rozpoczęciem podu obsługi reakcja na żądanie obsługi żądanie ( Request) PUSH PC przygotowania... CALL opóźnienie (Latency Time) rozpoczęcie wykonywania PICmicro MID-RANGE MCU FAMILY. przygotowanie Microchip do Technology, December 997, 3323a.pdf, 8.3 rozpoczęcia Latency (p.32): reakcja procesora na żądanie procedury PUSH PC... CALL latency is defined as the time from the interrupt event obsługi (the interrupt flag bit gets set) to the time that the instruction at address 4h starts execution (when that interrupt is enabled). 8-bit Microcontrollers. reakcja Databook na przerwanie Temic Semiconductors, 997 (Response Time) żądanie Response time... ifopóźnienie a request is (Latency active and Time) conditions rozpoczęcie are right for ( it to berequest) acknowledged, a hardware subroutine call to the wykonywania requested service routine will be the next instruction to be executed (polling cycle + long CALL to interrupt vector address). 7

8 Standard C5 - (/2) Standard C5 - (2/2) S5P2 testowanie warunków (polling) obsługa () S5P2 testowanie warunków (polling) obsługa () C C2 C3 C4 C5 próbkowanie przerwań zawsze w fazie S5P2 (sampling) Skok do adresu wektora (LCALL to vector address) Blokada skoku jeśli: jest wykonywana obsługa o równym / wyższym priorytecie testowanie jest wykonywane w cyklu, który nie jest ostatnim cyklem maszynowym instrukcji jest wykonywana instrukcja modyfikująca kontroler przerwań (RETI, modyfikacja: IE, IP,...) jeśli podane warunki są spełnione to wykonywana jest dodatkowo jedna (neutralna) instrukcja C C2 C3 C4 C5 próbkowanie przerwań zawsze w fazie S5P2 (sampling) opóźnienie Skok do adresu wektora (LCALL to vector address) Czas opóźnienia - czas liczony od momentu zgłoszenia do momentu rozpoczęcia wykonywania podu obsługi (): minimum 3 pełne cykle maszynowe Czas trwania zewnętrznego sygnału przerywającego nie krótszy niż cykl maszynowy ARM7: FIQ, vectored & nonvectored IRQ - NXP FIQ interrupt: highest priority the fastest, short interrupt response time entry to first Instruction, Latency = 2 cycles = 2 6MHz vectored IRQ interrupt: middle priority entry to first instruction + Nesting, Latency = 25 cycles = 6MHz non-vectored IRQ interrupt: lowest priority the slowest, long interrupt response time Obsługa przerwań Ochrona, przechowywanie stanu rejestrów procesora po przyjęciu i rozpoczęciu realizacji procedury obsługi : przełączanie (data swapping) przechowywanie na stosie zawartości rejestrów wykorzystywanych w obsłudze sprzętowe bez konieczności wprowadzania dodatkowych instrukcji na początku i końcu u obsługi, np. MSP43, ARM owe dodatkowe instrukcje na początku (PUSH) i końcu (POP) u obsługi, np. x86 przełączanie kontekstowe (context switching) wykorzystanie dodatkowych zestawów, banków rejestrów, np. C5 Przełączanie C5 owe: CPU kończy wykonywanie bieżącej instrukcji PC przesłane na stos EA (EAL) =, blokada wszystkich przerwań PC = adres procedury obsługi z tablicy wektorów przerwań MSP43 sprzętowo/owe: CPU kończy wykonywanie bieżącej instrukcji PC, SR przesłane na stos GIE =, blokada wszystkich przerwań PC = adres procedury obsługi z tablicy wektorów przerwań ST7 sprzętowe: CPU kończy wykonywanie bieżącej instrukcji PC, X (nie Y), A, CC przesłane na stos I =, blokada wszystkich przerwań PC = adres procedury obsługi z tablicy wektorów przerwań???!!! 8

9 C5 owe przełączanie [/2] zewnętrzna pamięć kodu u CODE wewnętrzna pamięć kodu u DATA SFR IDATA DATA RAM IDATA RAM 7Fh rejestry XDATA FFh 8h zewnętrzna pamięć wewnętrzna pamięć C5 owe przełączanie [2/2] tylko w odniesieniu do: standardowo: A, PSW i DPTR (jeśli występuje tylko jeden) nietypowo: IE, IP itp. IrqInit: PUSH ACC ; ochrona akumulatora PUSH PSW ; ochrona rejestru PSW ANL PSW, # b ORL PSW, # b ; bank RB PUSH DPL ; ochrona DPTR PUSH DPH... ; zasadnicza część POP DPH ; odtworzenie DPTR POP DPL POP PSW ; odtworzenie PSW POP ACC ; odtworzenie akumulatora RETI void TimerT(void) interrupt using { 2h R7 R6... RB3 R 8h R R7 R6... RB2 R h R R7 R6... RB R 8h R R7 R6... RB R h R ARM7 context switching When an exception occurs, the ARM: Copies CPSR into SPSR_<mode> Sets appropriate CPSR bits Change to ARM state Change to exception mode Disable interrupts (if appropriate) Stores the return address in LR_<mode> Sets PC to vector address x C x 8 x 4 x x C x 8 x 4 x FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Undefined Instruction Reset ARM7 Register Set & Modes Privileged Modes Exception Modes User System Supervisor Abort Undefined Saved Program Status Register R3 (Stack Pointer) R4 (Link Register) Current Program Status Register CPSR CPSR R R R2 R3 R4 R5 R6 R7 R8 R9 R R R2 R3_svc R3_abt R3_und R4_svc R4_abt R4_und PC (Program Counter) CPSR_svc SPSR_svc CPSR_abt SPSR_abt CPSR_und SPSR_und R3_irq R4_irq CPSR_irq SPSR_irq Fast R8_fiq R9_fiq R_fiq R_fiq R2_fiq R3_fiq R4_fiq CPSR_fiq SPSR _fiq ARM7 Normal & Fast Standard C5 - znaczniki przerwań after executing each instruction, the CPU checks to see whether the interrupt pins are LOW or internal request is generated: R4_mod address of the next instruction to be executed + 4 SPSR_mod CPSR CPSR[4:] = M4..M b or b enter IRQ or FIQ mode CPSR[5] = T execute in ARM state CPSR[6] = F (for FIQ) or F is unchanged (for IRQ) CPSR[7] = I disable normal interrupts Register switching (R8.. R2) only for FIQ PC = R5 x 8 or x C the address to continue from is one word (or four bytes) less than that in LR_<mode>, so the return instruction is: SUBS R5, R4, #4 ; R4 = Return address Przyjęcie, rozpoczęcie procedury obsługi : kasuje automatycznie znacznik jeśli: IE / IE - zewnętrzne INT# lub INT# reagują na zbocze opadające TF / TF - przepełnienie od licznika T lub T nie kasuje automatycznie znacznika jeśli: zewnętrzne INT# lub INT# reagują na poziom niski wystąpiło przerwanie z wielu źródeł, np. od nadajnika TI lub odbiornika RI portu szeregowego itp. wyjątki w regule: owe kasowanie znacznika od przetwornika A/C w C55C 9

10 Koniec procedury obsługi Każdy pod obsługi musi kończyć się właściwą instrukcją, np.: MCS 5, MSP43: RETI PIC7Cxx: 68HC7xx : ST7: ARM7: RETFIE RTI IRET write to VICVectAddr SUBS R5, R4, #4 aby odtworzyć stan rejestrów kontrolera priorytetów przerwań Standard C5 - sprzętowa praca krokowa P3.2 INT# K P3.2/INT# reaguje na poziom niski, LOW w trakcie obsługi, kolejnego jest możliwe po wykonaniu instrukcji RETI i jednej instrukcji z u głównego CSEG AT PoczProg: JMP ProgDalej ORG 3 IrqINT: JNB P3.2, $ ; oczekiwanie na P3.2/INT# = High JB P3.2, $ ; oczekiwanie na P3.2/INT# = Low RETI ProgDalej: CLR IT ; INT# reaguje na poziom niski SETB EX ; odblokowanie INT# SETB EA ; odblokowanie wszystkich przerwań PracaKrokowa: MOV P, #FEh ; instrukcje wykonywane krokowa MOV P, #FDh MOV P, #FBh... ; cd. u użytkownika - wspomaganie sprzętowe (/3) A/C A/C () wynik u koniec u początek u dane Px.y A/C (2) port wejściowy kontroler przerwań strukturalne opóźnienia licznik MCU - wspomaganie sprzętowe (2/3) - wspomaganie sprzętowe (3/3) A/C () A/C () y strukturalne opóźnienia A/C (2) strukturalne opóźnienia A/C (2) przetwornik A/C wyniki ów w buforze FIFO wskaźnik u 2 5 wskaźnik 6 zapisu np. THS26 (TI) koniec u początek u strukturalne opóźnienia dane Px.y 2 A/C () A/C (2) y MCU port wejściowy kontroler przerwań licznik

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Współpraca z układami peryferyjnymi i urządzeniami zewnętrznymi Testowanie programowe (odpytywanie, przeglądanie) System przerwań Testowanie programowe

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Serial PORT Timers T0, T1 Interrupt Controler DPTR Register Program Counter Program Memory Port P0 Port P1 PSW ALU B Register SFR accumulator STRUCTURE OF 8051 architektura komputerów

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Systematyczny przegląd. (CISC) SFR umieszczane są w wewnętrznej pamięci danych (80H 0FFH). Adresowanie wyłącznie bezpośrednie. Rejestry o adresach podzielnych przez 8 są też dostępne bitowo. Adres n-tego

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2018 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)

(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996) Przerwanie o wyższym priorytecie przerywa obsługę przerwania o niższym priorytecie, po czym następuje powrót do przerwanej obsługi przerwania o niższym priorytecie. (Rysunek z książki T.Starecki. Mikokontrolery

Bardziej szczegółowo

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia Przerwania w systemie mikroprocesorowym 1 Obsługa urządzeo wejścia/wyjścia W każdym systemie mikroprocesorowym oprócz pamięci programu i pamięci danych znajduje się szereg układów lub urządzeo wejścia/wyjścia,

Bardziej szczegółowo

Zerowanie mikroprocesora

Zerowanie mikroprocesora Zerowanie mikroprocesora Zerowanie (RESET) procesora jest potrzebne dla ustalenia początkowych warunków pracy po włączeniu zasilania: adres początku programu stan systemu przerwań zawartość niektórych

Bardziej szczegółowo

Przerwania w architekturze mikrokontrolera X51

Przerwania w architekturze mikrokontrolera X51 Przerwania w architekturze mikrokontrolera X51 (przykład przerwanie zegarowe) Ryszard J. Barczyński, 2009 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku

Bardziej szczegółowo

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Przerwania laboratorium: 04 autor: mgr inż. Michał Lankosz dr hab. Zbisław Tabor,

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Obsługa portu szeregowego laboratorium: 05 autor: mgr inż. Michal Lankosz dr hab.

Bardziej szczegółowo

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1 PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą

Bardziej szczegółowo

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW MIKROKONTROLER 85 - wiadomości podstawowe. Schemat blokowy mikrokontrolera 85 Obszar rejestrów specjalnych

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Transm. szeregowa Timery T0, T1 Układ przerwań Rejestr DPTR Licznik rozkazów Pamięć programu Port P0 Port P1 PSW ALU Rejestr B SFR akumulator 8051 STRUKTURA architektura komputerów

Bardziej szczegółowo

Wykład 9. Obsługa przerwań

Wykład 9. Obsługa przerwań Wykład 9 Kontroler przerwań Kontroler NVIC udostępnia globalne maskowanie przerwań, ustawianie priorytetów i funkcji obsługi. Procesor LM3S6965 umożliwia obsługę 38 przerwań. Każde przerwanie może być

Bardziej szczegółowo

Procesory rodziny x86. Dariusz Chaberski

Procesory rodziny x86. Dariusz Chaberski Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART MCS'51 Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy: Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej

Bardziej szczegółowo

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit. Architektura 8086 8086 posiada 4 rejestry ogólnego użytku AX, BX, CX, DX, 2 rejestry indeksowe SI, DI, 3 rejestry wskaźnikowe SP, BP, IP, 4 rejestry segmentowe CS, DS, SS i ES oraz rejestr flag FLAG AH

Bardziej szczegółowo

Urządzenia peryferyjne RS-232. Wykład 2

Urządzenia peryferyjne RS-232. Wykład 2 Urządzenia peryferyjne RS-232 Wykład 2 Transmisja szeregowa Poprzez kanały telekomunikacyjne Zaleta: niskie koszty Wymaga konwersji szeregowo/równoległej np. rejestr przesuwny Dwie metody: asynchroniczna

Bardziej szczegółowo

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Laboratorium mikrokontrolerów Ćwiczenie 7 Przerwania Autor: Paweł Russek Tłumaczenie: Sebastian Koryciak http://www.fpga.agh.edu.pl/tm ver. 25.05.16

Bardziej szczegółowo

2. Budowa układów procesorowych rodziny TMS320C

2. Budowa układów procesorowych rodziny TMS320C 3 Wstęp...8 1. Procesory sygnałowe DSC (Digital Signal Controllers)...11 1.1. Przegląd układów procesorowych czasu rzeczywistego...13 1.2. Procesory rodziny TMS320C2000 firmy Texas Instruments...15 2.

Bardziej szczegółowo

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.

Bardziej szczegółowo

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling) Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie

Bardziej szczegółowo

Documentation. Podstawy techniki mikroprocesorowej ETEW006 Architektura wybranych mikrokontrolerów. high performance based microcontroller (3/3)

Documentation. Podstawy techniki mikroprocesorowej ETEW006 Architektura wybranych mikrokontrolerów. high performance based microcontroller (3/3) Documentation Podstawy techniki mikroprocesowej ETEW6 Architektura wybranych mikrokontrolerów Andrzej Stępień / Janusz Janiczek Katedra Metrologii Elektronicznej i Fotonicznej. C5. Architecture and Instruction

Bardziej szczegółowo

Techniki mikroprocesorowe i systemy wbudowane

Techniki mikroprocesorowe i systemy wbudowane Intel 8051 układy Techniki mikroprocesorowe i systemy wbudowane Wykład 6 Układy oparte na procesorach rodziny Intel 51 Wojciech Kordecki wojciech.kordecki@pwsz-legnica.eu Państwowa Wyższa Szkoła Zawodowa

Bardziej szczegółowo

Komputery klasy PC. Dariusz Chaberski

Komputery klasy PC. Dariusz Chaberski Komputery klasy PC Dariusz Chaberski Start systemu adres 0xFFFF:0x0000 POST (ang. Power On Self Test) sprawdzenie zmiennej BIOSu 0x0040:0x0072-0x1234 - zimny start (RESET, włączenie zasilania), gorący

Bardziej szczegółowo

Mikrokontroler Intel 8051. dr inż. Wiesław Madej

Mikrokontroler Intel 8051. dr inż. Wiesław Madej Mikrokontroler Intel 8051 dr inż. Wiesław Madej Mikrokontroler Intel 8051 Wprowadzony na rynek w 1980 roku Następca rodziny 8048 Intel zakooczył produkcję w marcu 2006 Obecnie produkowany przez różne firmy

Bardziej szczegółowo

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa Systemy wbudowane Mikrokontroler 8051 Budowa dr inż. Maciej Piechowiak Wprowadzenie rdzeń CPU z jednostką artymetyczno-logiczną (ALU) do obliczeń na liczbach 8-bitowych, uniwersalne dwukierunkowe porty

Bardziej szczegółowo

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8 Wykład 3 Przegląd mikrokontrolerów 8-bit: - 8051 - STM8 Mikrokontrolery 8051 Rodzina 8051 wzięła się od mikrokontrolera Intel 8051 stworzonego w 1980 roku Mikrokontrolery 8051 były przez długi czas najpopularniejszymi

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP Liczniki, rejestry lab. 08 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 4

Technika mikroprocesorowa I Wykład 4 Technika mikroprocesorowa I Wykład 4 Układ czasowo licznikowy 8253 INTEL [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf] Wyprowadzenia układu [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Bardziej szczegółowo

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR.

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR. Liczniki/czasomierze (T/C) należą do standardowego składu wewnętrznych układów peryferyjnych (WEP) mikrokontrolerów. Często różnią się znacznie pod względem funkcji, które rozszerzają proste zliczanie

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

Przerwania w systemie mikroprocesorowym

Przerwania w systemie mikroprocesorowym Przerwania w systemie mikroprocesorowym 1 Obsługa urządzeń wejścia/wyjścia W każdym systemie mikroprocesorowym oprócz pamięci programu i pamięci danych znajduje się szereg układów lub urządzeń wejścia/wyjścia,

Bardziej szczegółowo

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015 XMEGA Warsztaty CHIP Rok akademicki 2014/2015 Plan warsztatów: Wprowadzenie do Atmel Studio (20/11/2014) Porty I/O (20/11/2014) Przerwania (27/11/2014) Wykorzystana literatura: [1] Dokumentacja ATMEL(www.atmel.com):

Bardziej szczegółowo

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV Ćwiczenie nr 5 Cel ćwiczenia: Ćwiczenie ma na celu zaznajomienie z metodami odliczania czasu z wykorzystaniem układów czasowo - licznikowych oraz poznanie zasad zgłaszania przerwań i sposobów ich wykorzystywania

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja

Bardziej szczegółowo

Mikroinformatyka. Wielozadaniowość

Mikroinformatyka. Wielozadaniowość Mikroinformatyka Wielozadaniowość Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 2

Technika mikroprocesorowa I Wykład 2 Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,

Bardziej szczegółowo

Architektura systemu komputerowego

Architektura systemu komputerowego Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie

Bardziej szczegółowo

Procesory osadzone ETD 7211 W

Procesory osadzone ETD 7211 W Procesory osadzone ETD 7211 W4 05.11.2018 Przypomnienie Barrel shifter Instrukcje warunkowe ARM magistrale połączeniowe GPIO FGPIO ARM7 - przesuwnik bitowy (ang. Barrel shifter) Barrel shifter wielopozycyjny

Bardziej szczegółowo

CPU architektura i rejestry

CPU architektura i rejestry CPU architektura i rejestry C51 (AT83C51SND1C) - ogólny widok wnętrza Źródło: Materiały informacyjne firmy Atmel 2 C51 (AT83C51SND1C) - przestrzeń pamięci kodu Źródło: Materiały informacyjne firmy Atmel

Bardziej szczegółowo

Wybrane zagadnienia elektroniki współczesnej

Wybrane zagadnienia elektroniki współczesnej Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika) Rodzina

Bardziej szczegółowo

System przerwania (SP). Funkcje wejścia / wyjścia (I/O)

System przerwania (SP). Funkcje wejścia / wyjścia (I/O) System przerwania (SP). Funkcje wejścia / wyjścia (I/O) Urządzenia zewnętrzne i mikroprocesor Pamięć I/O i instrukcje do pracy z nią Przykłady Przerwania w systemach komputerowych (x86) Tablica wektorów

Bardziej szczegółowo

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia Podstawy techniki cyfrowej i mikroprocesorowej II Urządzenia wejścia-wyjścia Tomasz Piasecki magistrala procesor pamięć wejście wyjście W systemie mikroprocesorowym CPU może współpracować za pośrednictwem

Bardziej szczegółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Moduł mikrokontrolera PROTON (v1.1)

Moduł mikrokontrolera PROTON (v1.1) Moduł mikrokontrolera OPIS Moduł mikrokontrolera PROTON (Rys. 1) przeznaczony jest do stosowania w prototypowych systemach uruchomieniowych. Podstawowym elementem modułu jest układ scalony mikrokontrolera

Bardziej szczegółowo

Politechnika Warszawska

Politechnika Warszawska Politechnika Warszawska Wydział Elektryczny Laboratorium Podstaw Techniki Mikroprocesorowej Skrypt do ćwiczenia M.38 Zbieranie pomiarów w czasie rzeczywistym - asembler 1.Wstęp W ćwiczeniach od M.38 do

Bardziej szczegółowo

IEEE 1284 - Centronics

IEEE 1284 - Centronics IEEE 1284 - Centronics Interfejs Centronics w wersji oryginalnej - łącze jednokierunkowe przesyłające informacje od komputera do drukarki przeznaczony jedynie do tego zadania, co wynikało z braku potrzeby

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy czasowo-licznikowe w systemach mikroprocesorowych Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość

Bardziej szczegółowo

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Laboratorium mikrokontrolerów Ćwiczenie 7 Przerwania Autor: Paweł Russek Tłumaczenie: Sebastian Koryciak http://www.fpga.agh.edu.pl/tm ver. 8.06.15

Bardziej szczegółowo

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

4 Transmisja szeregowa, obsługa wyświetlacza LCD. 1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi

Bardziej szczegółowo

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel Podstawy techniki mikroprocesorowej Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel. 071 3203746 grzegorz.kosobudzki@pwr.wroc.pl 2 Terminy zajęć Wykłady: niedziela 7.30 12.00 s.312 Kolokwium przedostatnie

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU: INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU: rodzina 51 AVR ARM 8 bit 8 bit 32 bit A akumulator B akumulator pomocniczy R0 R7 rejestry robocze

Bardziej szczegółowo

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

Bardziej szczegółowo

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1 Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd) 1.Wprowadzenie do komunikacji szeregowej RS232 Systemy bazujące na procesorach C51 mogą komunikować się za pomocą

Bardziej szczegółowo

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051. Ćw 5 Obsługa portu szeregowego UART w mikrokontrolerach 8051 Opracowanie: mgr inż Michał Lankosz 1 Wprowadzenie Celem ćwiczenia jest poznanie działania układu transmisji szeregowej UART 2 Niezbędne wiadomości

Bardziej szczegółowo

1. Tworzenie nowego projektu.

1. Tworzenie nowego projektu. Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty

Bardziej szczegółowo

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę

Bardziej szczegółowo

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje

Bardziej szczegółowo

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Systemy wbudowane Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Poziomy abstrakcji projektowania systemów HW/SW 12/17/2011 S.Deniziak:Systemy wbudowane 2 1 Model czasu 12/17/2011 S.Deniziak:Systemy

Bardziej szczegółowo

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM ĆWICZENIE 5 TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM Wiadomości wstępne: Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów

Bardziej szczegółowo

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Ryszard J. Barczyński, 2009 2013 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240 LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240 Strona 1 z 12 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1. Mechanizm przerwań

Bardziej szczegółowo

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. 13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,

Bardziej szczegółowo

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin Podstawy techniki cyfrowej Układy wejścia-wyjścia mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Układem wejścia-wyjścia nazywamy układ elektroniczny pośredniczący w wymianie informacji pomiędzy procesorem

Bardziej szczegółowo

LABORATORIUM nr 2. Temat: Obsługa wyświetlacza siedmiosegmentowego LED

LABORATORIUM nr 2. Temat: Obsługa wyświetlacza siedmiosegmentowego LED Laboratorium nr 2 Obsługa wyświetlacza siedmiosegmentowego Mirosław Łazoryszczak LABORATORIUM nr 2 Temat: Obsługa wyświetlacza siedmiosegmentowego LED 1. ARCHITEKTURA MCS-51 (CD.) Do realizacji wielu zadań

Bardziej szczegółowo

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot, Charakterystyka mikrokontrolerów Przygotowali: Łukasz Glapiński, 171021 Mateusz Kocur, 171044 Adam Kokot, 171075 Plan prezentacji Co to jest mikrokontroler? Historia Budowa mikrokontrolera Wykorzystywane

Bardziej szczegółowo

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15 3 1. Wstęp... 9 2. Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE... 11 3. Rdzeń mikrokontrolerów ST7FLITE... 15 3.1. Jednostka centralna...16 3.2. Organizacja i mapa pamięci...19 3.2.1. Pamięć RAM...20

Bardziej szczegółowo

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla Asembler A51 1. Symbole Nazwy symboliczne Symbol jest nazwą, która może być użyta do reprezentowania wartości stałej numerycznej, wyrażenia, ciągu znaków (tekstu), adresu lub nazwy rejestru. Nazwy symboliczne

Bardziej szczegółowo

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników. Płyty główne Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Układ DMA Układ DMA zawiera dwa sterowniki przerwań 8237A połączone kaskadowo. Każdy sterownik 8237A

Bardziej szczegółowo

3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47

3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47 Spis treści 3 1. Rdzeń Cortex-M3...9 1.1. Firma ARM i jej wyroby...10 1.2. Rodzina rdzeni Cortex...12 1.3. Ogólne spojrzenie na architekturę rdzenia Cortex-M3...13 1.4. Rejestry podstawowe...16 1.5. Przestrzeń

Bardziej szczegółowo

Układy wejścia/wyjścia

Układy wejścia/wyjścia Układy wejścia/wyjścia Schemat blokowy systemu mikroprocesorowego Mikroprocesor połączony jest z pamięcią oraz układami wejścia/wyjścia za pomocą magistrali systemowej zespołu linii przenoszącymi sygnały

Bardziej szczegółowo

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386 Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Wstęp. do języka C na procesor 8051. (kompilator RC51)

Wstęp. do języka C na procesor 8051. (kompilator RC51) Wstęp do języka C na procesor 8051 (kompilator RC51) Kompilator języka C Kompilator RC51 jest kompilatorem języka C w standardzie ANSI Ograniczeń w stosunku do ANSI jest niewiele głównie rzadkie operacje

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Bardziej szczegółowo

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna Technika Mikroprocesorowa Laboratorium 4 Obsługa liczników i przerwań Cel ćwiczenia: Celem ćwiczenia jest nabycie umiejętności obsługi układów czasowo-licznikowych oraz obsługi przerwań. Nabyte umiejętności

Bardziej szczegółowo

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip. 1 Mateusz Klimkowski IV rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip. Interfejs USB w 8-bitowych

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Układy we/wy jak je widzi procesor? Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem

Bardziej szczegółowo

Mikroprocesor Intel 8088 (8086)

Mikroprocesor Intel 8088 (8086) Mikroprocesor Intel 8088 (8086) Literatura: Mroziński Z.: Mikroprocesor 8086. WNT, Warszawa 1992 iapx 86,88 Users Manual Intel 80C86 Intersil 1997 [Źródło: www.swistak.pl] Architektura wewnętrzna procesora

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) Polarizing filter. Thin film with a vertical ais. Liquid crystal Polarizing filter. Thin film with a horizontal ais. Polarizing filter. Thin film with a horizontal ais. Polarizing

Bardziej szczegółowo