Struktura a architektura počítačů
|
|
- Erik Bárta
- před 5 lety
- Počet zobrazení:
Transkript
1 Struktura a architektura počítačů Systémová struktura počítače Instrukční soubor II Příklady návrhu České vysoké učení technické Fakulta elektrotechnická Ver.1.30 J. Zděnek / M. Chomát 2014
2 Assembler (Jazyk symbolických instrukcí) Assembler Jazyk symbolických instrukcí (též Jazyk symbolických adres) Nejbližší vyšší stupeň nad strojovým kódem Používá symbolická jména instrukcí, proměnných, konstant, adres paměti programu i dat Umožňuje využít všechny vlastnosti daného typu počítače a jeho instrukčního souboru Nekontroluje téměř žádné nedovolené (nevhodné) kroky programátora (rozdíl od vyšších programovacích jazyků JAVA, C) Používá se v časové kritických částech programů, nebo tam kde danou operaci nelze naprogramovat ve vyšším jazyku V řídicích aplikací je typická kombinace částí programu v assembleru a částmi v jazyku C Program v assembleru je nepřenosný na jinou platformu, je vázaný na instrukční soubor určitého typu procesoru A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 2
3 Direktivy assembleru Direktivy assembleru umožňují: Řídit překlad Označit začátek programu Označit konec programu Určit umístění programu v paměti programu Určit umístění proměnných v paměti dat Založit symbolická jména zvolených míst v programu (adres) Založit symbolická jména proměnných Zajistit inicializaci (nast. počáteční hodnoty) vybraných proměnných Založit symbolická jména konstant a nastavit jejich hodnoty Vkládat do programu konstanty v různých formátech (dec,hex,bin) Nastavit konfigurační bity počítače Vkládat (zatahovat) do programu další části programu ze souboru Označit části programu (moduly) symbolickým jménem (Makro) a pod timto jménem moduly v programu používat A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 3
4 Příklad (Tlačítko, LED, přerušení, časovač) Příklad návrhu Zadání: V asembleru mikropočítače pic18f87j11 napište program, který testuje zda bylo zmáčknuto tlačítko S1. Při každém zmáčknutí se rozsvítí vždy jedna další LED dioda počínaje diodou připojenou na nejnižší bit portu. Po osmi zmáčknutí S1 bude svítit všech 8 LED diod a při dalším mačkání tlačítka zůstávají všechny diody rozsvícené. Tlačítko je připojena na bit RB0 portu B. V klidové poloze (nezmáčknuto) je stav tlačítka snímán jako logická '1', po zmáčknutí se snímá logická '0'. Osm světelných diod je připojeno na port D. Pokud se na příslušný bit portu D vysílá logická '0', dioda nesvítí. Logická '1' vyslaná na bit portu D diodu rozsvítí. Pro řešení použijte vzorkování stavu tlačítka s periodou přibližně 200ms. Vzorkování tlačítka zorganizujte s využitím jednohladinového systému přerušení a časovače TIMER0. Časovač naprogramujte do 16bitového módu, s hodinami odvozenými od hodin procesoru. Použijte vhodnou hodnotu předděličky u časovače TIMER0. Činnost programu dle zadání zapište do ISR (Interrupt Service Routine), která budu volaná vždy po žádosti o přerušení od časovače TIMER0 (žádost se vyvolá po přetečení časovače z maximální hodnoty (samé '1') do nuly. Na pozadí programu (background) bude pouze prázdná nekonečná smyčka. A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 4
5 pic18f Family Interrupt System (Priority Mode) High Priority Enable GIEH HIGH PRIORITY Priority Encoder INTRQ LOW PRIORITY xip yip GIEL IPEN xie yie Priority System On xif yif Low Priority Enable INPUT Event Detector Clk Timer Interrupt Priority INTERRUPT RESOURCES Interrupt Enable Interrupt Flag (Request) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 5
6 pic18f Family Interrupt System (Non Priority Mode) Input Interrupt Enable NON PRIORITY MODE IPEN = 0 All Interrupt Enable INTRQ PEIE GIE IPEN = 0 xie yie Non Priority Mode xif yif INPUT Event Detector Clk Timer Interrupt Enable INTERRUPT RESOURCES Interrupt Flag (Request) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 6
7 Nastavení systému přerušení - RCON A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 7
8 Nastavení systému přerušení - RCON A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 8
9 Nastavení systému přerušení - INTCON A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 9
10 Nastavení systému přerušení - INTCON A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 10
11 Nastavení systému přerušení INTCON2 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 11
12 Nastavení systému přerušení INTCON2 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 12
13 Nepodmíněný skok, absolutní adresa A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 13
14 Nepodmíněný skok, relativní adresa A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 14
15 Nastavení bitu registru A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 15
16 Nulování bitu registru A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 16
17 Návrat z obsluhy přerušení (ISR) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 17
18 pic18f Family Program Memory PROGRAM COUNTER PROGRAM MEMORY SP STACK POINTER Top of Stack -TOS 5 PC STACK AF4h h h h RESET HIGH PRIORITY LOW PRIORITY RESET VECTOR HIGH PRIORITY INTERRUPT VECTOR LOW PRIORITY INTERRUPT VECTOR INTERRUPT VECTOR TABLE TOS REGISTERS TOSU 01h 8 TOSH 8Ah 8 TOSL F4h 8 TABLE READ IMPLEMENTED MEMORY (FLASH) 01FFF8h 01FFFFh CONFIG. WORDs PROGRAM MEMORY ADDRESS SPACE Read as 0 1FFFFFh 16 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 18
19 pic18f Family Interrupt System (Non Priority Mode) Input Interrupt Enable NON PRIORITY MODE IPEN = 0 All Interrupt Enable INTRQ PEIE GIE IPEN = 0 xie yie Non Priority Mode xif yif INPUT Event Detector Clk Timer Interrupt Enable INTERRUPT RESOURCES Interrupt Flag (Request) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 19
20 Nastavení systému přerušení - inicializace ORG 0x00000 Reset_vector: goto Start ORG 0x00008 Interrupt_vector: goto Timer0_int ; Program start ; Interrupt vector table/ ; (one item here only) DIREKTIVY INSTRUKCE PROMĚNNÉ KONSTANTY ORG 0x00100 Start: ; bsf INTCON, TMR0IE ; Timer0 interrupt enable bsf INTCON, GIE ; Non priority mode (IPEN=0 by default) ; Loop: ; Background loop nop ; do nothing bra Loop KOMENTÁŘ A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 20
21 Obsluha žádosti o přerušení (Timer0 overflow) ; TIMER0 ISR (Interrupt Service Routine) ; Timer0_int: ; Save context, only example, background empty here/ ; (no context) ; bcf INTCON, TMR0IF ; Clear intrerrupt flag (NECESSARY) ; ; ; ; Restore context ; retfie ; Return from interrupt DIREKTIVY INSTRUKCE PROMĚNNÉ KONSTANTY KOMENTÁŘ A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 21
22 Časovač Timer0 konfigurace 16bitů TIMER0 Overflow Interrupt Flag TMR0IF A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 22
23 Nastavení časovače Timer0, 16bitů A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 23
24 Nastavení časovače Timer0, 16bitů A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 24
25 Konstanta do střadače A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 25
26 Střadač do registru A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 26
27 Nastavení časovače Timer0, 16bitů #define TIMER0_FOSC_PRESC8_16bit b' ' DIREKTIVY INSTRUKCE movlw TIMER0_FOSC_PRESC8_16bit movwf T0CON ; Configure Timer0 bsf T0CON, TMR0ON ; Timer0 ON PROMĚNNÉ KONSTANTY KOMENTÁŘ A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 27
28 Programovatelné vstupní nebo výstupní porty LAT nebo PORT Výstupní registr TRIS Nastavení směru 0 -> Output 1 -> Input PORT Vstupní registr A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 28
29 Nastavení vstupních a výstupních portů A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 29
30 Nulování střadače nebo registru A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 30
31 Rotace vlevo bez přenosu A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 31
32 Test bitu a podmíněný skok A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 32
33 Registr do registru A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 33
34 Zapojení portu D a B (LED diody a tlačítka S1, S2) PORTD S1 PORTB bit RB0 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 34
35 Programovatelné vstupní nebo výstupní porty LAT nebo PORT Výstupní registr TRIS Nastavení směru 0 -> Output 1 -> Input PORT Vstupní registr A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 35
36 Inicializace a obsluha portu D a B ; Initialization clrf reg ; reg = 0 clrf WREG ; WREG = 0 movwf TRISD ; PORTD -> all bits outputs, LEDs movwf PORTD ; PORTD = 00h -> LEDs off bsf TRISB, BIT0 ; PORTB.bit0 = input, push button S1 DIREKTIVY INSTRUKCE PROMĚNNÉ KONSTANTY Timer0_int: ; ISR action ; rlncf reg, 1 ; Rotate one bit left, destination reg btfss PORTB, RB0 ;? Pushbutton S1 pressed bsf reg, BIT0 ; Yes, insert '1' to LSB movff reg, LATD ; Output reg to port D (or PORTD), LEDs ; retfie ; Return from interrupt KOMENTÁŘ A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 36
37 Souhrn programování SFR pro tento program A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 37
38 Příklad (Tlačítko, LED, přerušení, časovač) Souhrn informací k řešení příkladu Zadání: V asembleru mikropočítače pic18f87j11 napište program, který testuje zda bylo zmáčknuto tlačítko S1. Při každém zmáčknutí se rozsvítí vždy jedna další LED dioda počínaje diodou připojenou na nejnižší bit portu. Po osmi zmáčknutí S1 bude svítit všech 8 LED diod a při dalším mačkání tlačítka zůstávají všechny diody rozsvícené. Tlačítko je připojena na bit RB0 portu B. V klidové poloze (nezmáčknuto) je stav tlačítka snímán jako logická '1', po zmáčknutí se snímá logická '0'. Osm světelných diod je připojeno na port D. Pokud se na příslušný bit portu D vysílá logická '0', dioda nesvítí. Logická '1' vyslaná na bit portu D diodu rozsvítí. Pro řešení použijte vzorkování stavu tlačítka s periodou přibližně 200ms. Vzorkování tlačítka zorganizujte s využitím jednohladinového systému přerušení a časovače TIMER0. Časovač naprogramujte do 16bitového módu, s hodinami odvozenými od hodin procesoru. Použijte vhodnou hodnotu předděličky u časovače TIMER0. Činnost programu dle zadání zapište do ISR (Interrupt Service Routine), která budu volaná vždy po žádosti o přerušení od časovače TIMER0 (žádost se vyvolá po přetečení časovače z maximální hodnoty (samé '1') do nuly. Na pozadí programu (background) bude pouze prázdná nekonečná smyčka. A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 38
39 Sdílené prostředky (sdílí je procedury) Souhrn informací k řešení příkladu A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 39
40 Dynamické přemapování a přímá adresa REMAPPING & SHORT DIRECT ADDRESS 000h DATA MEMORY 00h Souhrn informací k řešení příkladu BANK 0 05Fh 060h 5Fh 60h 0FFh 100h FFh 00h GPR ACCESS BANK 00h DISABLED (HIDDEN) BANK 1 BANK 14 EFFh F00h FFh 00h SFR WREG STATUS 8 5Fh 60h FFh BANK 15 F5Fh F60h WREG STATUS 5Fh 60h SPECIAL FUNCTION REGISTERS MEMORY MAPPED INPUT/OUTPUT SPACE FFFh 8 FFh REMAPPING A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 40
41 pic18f Family Program Memory SP STACK POINTER Top of Stack -TOS TOS REGISTERS 5 PC TOSU 01h PROGRAM COUNTER STACK AF4h TOSH 8Ah IMPLEMENTED MEMORY (FLASH) 8 TOSL F4h h h h 01FFF8h 01FFFFh PROGRAM MEMORY RESET HIGH PRIORITY LOW PRIORITY CONFIG. WORDs Souhrn informací k řešení příkladu RESET VECTOR HIGH PRIORITY INTERRUPT VECTOR LOW PRIORITY INTERRUPT VECTOR INTERRUPT VECTOR TABLE TABLE READ PROGRAM MEMORY ADDRESS SPACE Read as 0 1FFFFFh 16 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 41
42 pic18f Family Interrupt System (Non Priority Mode) Souhrn informací k řešení příkladu Input Interrupt Enable NON PRIORITY MODE IPEN = 0 All Interrupt Enable INTRQ PEIE GIE IPEN = 0 xie yie Non Priority Mode xif yif INPUT Event Detector Clk Timer Interrupt Enable INTERRUPT RESOURCES Interrupt Flag (Request) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 42
43 Časovač Timer0 konfigurace 16bitů Souhrn informací k řešení příkladu TIMER0 Overflow Interrupt Flag TMR0IF A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 43
44 Zapojení portu D a B (LED diody a tlačítka S1, S2) Souhrn informací k řešení příkladu PORTD S1 PORTB bit RB0 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 44
45 Programovatelné vstupní nebo výstupní porty Souhrn informací k řešení příkladu LAT nebo PORT Výstupní registr TRIS Nastavení směru 0 -> Output 1 -> Input PORT Vstupní registr A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 45
46 Celý program (Timer0 overflow interrupt) - 1 ; Press Explorer pic18 S1 pushbutton -> switch on next led on port D #include P18F87J11.inc CONFIG FOSC = HS CONFIG WDTEN = OFF CONFIG XINST = OFF #define TIMER0_FOSC_PRESC8_16bit b' ' #define BIT0 0 #define F 1 UDATA_ACS wreg_tmp: res 1 ; Program variables status_tmp: res 1 bsr_tmp: res 1 reg: res 1 DIREKTIVY INSTRUKCE PROMĚNNÉ KONSTANTY KOMENTÁŘ ORG 0x00000 Reset_vector: goto Start ORG 0x00008 Interrupt_vector: goto Timer0_int ; Program start ; Interrupt vectro table (one item here) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 46
47 Celý program (Timer0 overflow interrupt) - 2 ORG 0x00100 Start: clrf reg ; reg = 0 clrf WREG ; WREG = 0 movwf TRISD ; PORTD -> all bits outputs, LEDs movwf PORTD ; PORTD = 00h, LEDs off bsf TRISB, BIT0 ; PORTB.bit0 = input, push button S1 movlw TIMER0_FOSC_PRESC8_16bit movwf T0CON ; Configure Timer0 bsf T0CON, TMR0ON ; Timer0 ON ; bsf INTCON, TMR0IE ; Timer0 interrupt enable bsf INTCON,GIE ; Non priority mode ; (IPEN = 0 by default) Loop: nop ; Do nothing, background loop bra Loop A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 47
48 Celý program (Timer0 overflow interrupt) - 3 ; === Timer0 overflow ISR (Interrupt Service Routine) === Timer0_int: movff STATUS, status_tmp ; Save context, only example movff WREG, wreg_tmp ; background empty here movff BSR, bsr_tmp ; (no context save necessary) bcf INTCON, TMR0IF ; Clear intrerrupt flag (IMPORTANT) rlncf reg, F ; Rotate one bit left btfss PORTB, RB0 ;? Pushbutton S1 pressed bsf reg, BIT0 ; Yes, insert '1' to lsb movff reg, LATD ; Output reg to port D (or PORTD), LEDs movff bsr_tmp, BSR movff wreg_tmp, WREG movff status_tmp, STATUS retfie ; Restore context ; Return from ISR, reenable interrupt END A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 48
49 Detektor posloupnosti bitů 110 (FSA typu Moore) Příklad návrhu Navrhněte synchronní konečný automat (FSA Finite State Automaton), který v proudu vstupních bitů detekuje posloupnost 110. Detekci každé takové posloupnosti automat indikuje na výstupu blikáním LED diody. V ostatních stavech automatu LED dioda svítí nepřerušovaně. Náběžná hrana x 1 indikuje na vstupu 1, náběžná hrana x 0 pak 0. Automat realizujte programovými prostředky a využitím hardwareové podpory. Použijte jednohladinový systém přerušení a časovač. Vstupy x 1 a x 0 se zadávají tlačítky s mechanickým kontaktem a odskoky při změně hodnoty. Program automatu musí odskoky filtrovat, sestavte a použijte filtrační algoritmus ( debounce circuit ). I (Inputs) x 1 x 0 clk FSA S i y O (Outputs) (Moore) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 49
50 Detektor posloupnosti bitů 110 (FSA typu Moore) Příklad návrhu I (Inputs) x 1 x 0 FSA S i y O (Outputs) clk (Moore) clk x 1 x y LED svítí bliká A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 50
51 Detektor posloupnosti bitů 110 (FSA typu Moore) Co máme navrhnout? Příklad návrhu Budicí funkce Stavový registr Logika výstupů D Q LKO1 LKO2 0 I C clk A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 51
52 Detektor posloupnosti bitů 110 (FSA typu Moore) Stavový diagram I Vstupy (Inputs) O Výstupy (Outputs) S i i-tý stav I 0 I 0 S I 1 Příklad návrhu 0 1 S 3 I 0 S Tabulka přechodů I 1 Tabulka výstupů S i I 0 I 1 S i O i S 0 S 0 S 1 S 1 S 0 S 2 I 0 S I 1 S 0 O 0 S 1 O 0 S 2 S 3 S 2 S 2 O 0 S 3 S 0 S 1 I 1 S 3 O 1 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 52
53 Dekompozice problému - 1 Příklad návrhu START ISR INITIALIZATION X1, X2 INPUT DEBOUNCE FSA STATE LOGIC BACKGROUND DO NOTHING FSA OUTPUT LOGIC RET 6ms TIME IF TCLK TIMER A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 53
54 Dekompozice problému - 2 DEBOUNCE ALGORITHM PRINCIPLE Příklad návrhu SHIFT LEFT BOUNCE IN 1 x x x x x RAW INPUT AND AND SAMPLE MASK XOR XOR 1 s MASK s MASK ? = 0? = 0 CLEAR 1 CLEAR 0? (i.e. LAST VALUE WAS 0 ) YES, INPUT IS 1 YES, INPUT IS 0 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 54
55 Dekompozice problému - 3 Příklad návrhu FSA STATE LOGIC I 0 SWITCH S I 0 I 1 STATE 0 STATE 1 STATE 2 STATE S 3 I 0 S I 1 RET I 0 S I 1 I 1 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 55
56 Dekompozice problému - 4 Příklad návrhu FSA OUTPUT LOGIC SW TIMER - + T LED - +? 110 LED ON LED TOGGLE (300ms) RET A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 56
57 Detektor 110 Hlavička programu ; File: BSD3_110.asm Příklad návrhu ; Date: ; Version: 1.00 ; HW: Explorer pic18f87j11 ; IDE: MPLAB 7.50 ; Author: J.Z.; Institute: CTU in Prague, EEF Dept ; Function: Bitstream '110' detector, Moore type FSA ; Pushbutton S1 = input '1', pushbutton S2 = input '0' ; Program detects leading edge of S1, S2 pushbuttons ; FSA outputs: ; LED1,0 = FSA state_register ; LED7 = ON - no '110' bitstream detected ; LED7 = TOGGLE (approx 300 ms) - '110' bitstream detected ; Note: Pushbuttons S1, S2 are debounced (3 conscutive equal bits required) ; to be correct value detected ; Debounce S1, S2 pushbuttons routines detect leading edge only A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 57
58 Detektor 110 Konfigurace a konstanty Příklad návrhu #define DBG_MODE ; Conditional translation (simulator dbg) #include P18F87J11.inc CONFIG FOSC=HS CONFIG WDTEN=OFF CONFIG XINST=OFF #define F 1 #define BIT0 0 #define TIMER0_FOSC_PRESC8_16bit b' ' #define TIMER0_FOSC_PRESC64_8bit b' ; 6,6 ms, FOSC = 10 MHz A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 58
59 Detektor 110 Proměnné a konstanty Příklad návrhu UDATA_ACS ; Program variables ; Save context registers wreg_tmp: res 1 status_tmp: res 1 bsr_tmp: res 1 reg: res 1 ; FSA Moore variables and constants #define STATE_0 0 #define STATE_1 1 #define STATE_2 2 #define STATE_3 3 #define FSA_INPUT_BIT_VALUE 0 #define FSA_OUTPUT_LED_ON_TIME 45 ; t = 6.6 ms * 45 = 300 ms #define FSA_OUTPUT_LED_OFF_TIME 25 ; 170 ms A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 59
60 Detektor 110 Proměnné state_register res 1 next_state res 1 fsa_input res 1 fsa_output res 1 fsa_output_timer res 1 Příklad návrhu ; Pushbutton S1, S2 debounce and leading edge detection variables portb_dbg: res 1 porta_dbg: res 1 pb_s1_debounce: res 1 pb_s1_status: res 1 pb_s2_debounce: res 1 pb_s2_status: res 1 A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 60
61 Detektor 110 Konstanty (vstup FSA) Příklad návrhu ; Pushbutton S1, S2 debounce and leading edge detection constants #define PB_ON 0 ; Pb Sx on status bit position #define PB_OFF 1 ; Pb Sx off status bit position #define DEBOUNCE_MASK b' ' ; 3 equal bits required #define PB_xTIMES_ON b' ' #define PB_xTIMES_OFF b' ' A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 61
62 Detektor 110 Začátek programu a tab.vektorů přerušení code Příklad návrhu ORG Reset_vector: goto Start 0x00000 ; Program start ORG 0x00008 Interrupt_vector: goto Timer0_int ; Interrupt vector table (one item here) A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 62
63 Detektor 110 Inicializace Příklad návrhu ORG 0x00050 Start: ; Background Start clrf reg ; reg = 0 clrf WREG ; WREG = 0 movwf TRISD ; PORTD -> all bits outputs movwf PORTD ; PORTD = 00h bsf TRISB, BIT0 ; PORTB.bit0 = input, push button S1 bsf TRISA, RA5 bsf WDTCON, ADSHR bsf ANCON0, PCFG4 ; RA5 - digital input bcf WDTCON, ADSHR call Pushbutton_s1_init ; Initialize S1 debounce routine call Pushbutton_s2_init ; Initialize S2 debounce routine call Bitstream_detector_init call Bitstream_detector_output_init A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 63
64 Detektor 110 Inicializace a pozadí (prázdné) Příklad návrhu movlw TIMER0_FOSC_PRESC64_8bit movwf T0CON ; Configure Timer0 bsf T0CON, TMR0ON ; Timer0 ON ; bsf INTCON, TMR0IE ; Timer0 interrupt enable bsf INTCON, GIE ; Non priority mode (IPEN = 0 by default) Loop: nop ; Do nothing, background bra Loop ; ; Background END A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 64
65 Detektor 110 Inicializace (vstupní filtr tlačítek S1, S2) ; Init debounce pushbutton S1 (RB0) Pushbutton_s1_init: clrf pb_s1_debounce clrf pb_s1_status return ; Pushbutton_s1_init END Příklad návrhu ; Init debounce pushbutton S2 (RA5) Pushbutton_s2_init: clrf pb_s2_debounce clrf pb_s2_status return ; Pushbutton_s1_init END A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 65
66 Detektor 110 Vstupní filtr tlačítka S1 Pushbutton_s1: ; Debounce pushbutton S1 (RB0) Příklad návrhu movlw DEBOUNCE_MASK andwf pb_s1_debounce, F rlncf pb_s1_debounce, F ; Rotate one bit left #ifdef DBG_MODE btfss portb_dbg, RB0 ; dbg:? Push button S1 pressed (0 -> on) #else btfss PORTB,RB0 ;? Push button S1 pressed (0 -> on) #endif Pushbutton_s1_read_as_on: bsf pb_s1_debounce,bit0 ; Yes, insert '1' to LSB Pb_s1_test_off: movf pb_s1_debounce, W andlw DEBOUNCE_MASK xorlw PB_xTIMES_OFF bnz Pb_s1_test_on A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 66
67 Detektor 110 Vstupní filtr tlačítka S1 Pb_s1_set_off: ; Ok, S1 debounced, read off Příklad návrhu bcf pb_s1_status, PB_ON ; Clear pushbutton S1 on bsf pb_s1_status, PB_OFF ; Set pushbutton S1 off bra Pb_s1_exit Pb_s1_test_on: movf pb_s1_debounce, W andlw DEBOUNCE_MASK xorlw PB_xTIMES_ON bnz Pb_s1_exit ; S1 bounces yet Pb_s1_detect_leading_edge: btfss pb_s1_status, PB_OFF ; Detect leading edge bra Pb_s1_exit Pb_s1_set_pb_on: bcf pb_s1_status, PB_OFF bsf pb_s1_status, PB_ON ; Set pushbutton S1 on Pb_s1_exit: return ; Pushbutton_s1 END A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 67
68 Detektor 110 Vstupní filtr tlačítka S2 Pushbutton_s2: ; Debounce pushbutton S2 (RA5) Příklad návrhu movlw DEBOUNCE_MASK andwf pb_s2_debounce, F rlncf pb_s2_debounce, F ; Rotate one bit left #ifdef DBG_MODE btfss porta_dbg, RA0 ; dbg:? Push button S2 pressed (0->on) #else btfss PORTA, RA5 ;? Push button S1 pressed (0->on) #endif Pushbutton_s2_read_as_on: bsf pb_s2_debounce, BIT0 ; Yes, insert '1' to LSB Pb_s2_test_off: movf pb_s2_debounce, W andlw DEBOUNCE_MASK xorlw PB_xTIMES_OFF bnz Pb_s2_test_on A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 68
69 Detektor 110 Vstupní filtr tlačítka S2 Pb_s2_set_off: ; Ok, S2 debounced, read off Příklad návrhu bcf pb_s2_status, PB_ON ; Clear pushbutton S2 on bsf pb_s2_status, PB_OFF ; Set pushbutton S2 off bra Pb_s2_exit Pb_s2_test_on: movf pb_s2_debounce, W andlw DEBOUNCE_MASK xorlw PB_xTIMES_ON bnz Pb_s2_exit ; S2 bounces yet Pb_s2_detect_leading_edge: btfss pb_s2_status, PB_OFF ; Detect leading edge bra Pb_s2_exit Pb_s2_set_pb_on: bcf pb_s2_status, PB_OFF bsf pb_s2_status, PB_ON ; Set pushbutton S2 on Pb_s2_exit: return ; Pushbutton_s2 END A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 69
70 Detektor 110 Inicializace (FSA) ; Bitstream detector initialization Bitstream_detector_init: movlw STATE_0 movwf state_register movwf next_state bcf fsa_input, FSA_INPUT_BIT_VALUE return ; Bitstream_detector_init END Příklad návrhu A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 70
71 Detektor 110 Vlastní konečný automat FSA Příklad návrhu ; Bitstream detector '110', FSA Moore Bitstream_detector: ; Test FSA input value ('0' or '1' or none) btfsc pb_s1_status, PB_ON ; S1 -> input '1' bra Bd_input_1 btfss pb_s2_status, PB_ON ; S2 -> input '0' bra Bd_exit ; No input bit Bd_input_0: bcf pb_s2_status, PB_ON ; Consume input '0' bcf fsa_input, FSA_INPUT_BIT_VALUE ; Input = '0' bra Bd_state_switch Bd_input_1: bcf pb_s1_status, PB_ON ; Consume input '1' bsf fsa_input, FSA_INPUT_BIT_VALUE ; Input = '1' A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 71
72 Detektor 110 Vlastní konečný automat FSA Příklad návrhu ; In Java. switch (state_register){ } Bd_state_switch: movff state_register, next_state movf state_register, W sublw STATE_0 bz Bd_state_0 movf state_register, W sublw STATE_1 bz Bd_state_1 movf state_register, W sublw STATE_2 bz Bd_state_2 bra Bd_state_3 ; There is no more states ; A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 72
73 Detektor 110 Vlastní konečný automat FSA Příklad návrhu Bd_state_0: ; FSA state diagram logic (See state diagram) btfss fsa_input, FSA_INPUT_BIT_VALUE ;? '1' bra Bd_set_next_state ; No, no change movlw STATE_1 movwf next_state ; Goto STATE_1 bra Bd_set_next_state Bd_state_1: btfss fsa_input, FSA_INPUT_BIT_VALUE ;? '1' bra Bd_state_1_1 movlw STATE_2 ; Yes movwf next_state bra Bd_set_next_state Bd_state_1_1: movlw STATE_0 ; No movwf next_state bra Bd_set_next_state A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 73
74 Detektor 110 Vlastní konečný automat FSA Bd_state_2: Příklad návrhu btfsc fsa_input,fsa_input_bit_value ;? '0' bra Bd_set_next_state ; No, no change movlw STATE_3 ; Yes movwf next_state bra Bd_set_next_state Bd_state_3: btfss fsa_input,fsa_input_bit_value ;? '1' bra Bd_state_3_1 movlw STATE_1 ; Yes movwf next_state bra Bd_set_next_state Bd_state_3_1: movlw STATE_0 ; No movwf next_state bra Bd_set_next_state A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 74
75 Detektor 110 Vlastní konečný automat FSA Bd_set_next_state: movff next_state, state_register Bd_exit: return ; Bitstream_detector END Příklad návrhu A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 75
76 Detektor 110 Inicializace (FSA logika výstupů) ; Bitstream detector output initializtion ; Bitstream_detector_output_init: movlw FSA_OUTPUT_LED_ON_TIME movwf fsa_output_timer clrf fsa_output return ; ; Bitstream_detector END Příklad návrhu A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 76
77 Detektor 110 FSA - logika výstupů ; STATEs 0,1,2 -> LED7 ON Příklad návrhu ; STATE 3 -> sequence detected -> LED7 toggle, T= approx 400 ms Bitstream_detector_output: movlw STATE_3 cpfseq state_register bra Bdo_nothing_detected Bdo_bitstream_detected: btfsc LATD, RD7 ; Send state_register, no delay bsf WREG, RD7 movff WREG, LATD Bdo_testif_bit_toggle: decfsz fsa_output_timer bra Bdo_exit Bdo_toggle_led: btfss LATD, RD7 bra Bdo_set_ledtime_on A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 77
78 Detektor 110 FSA - logika výstupů Bdo_set_ledtime_off: movlw FSA_OUTPUT_LED_OFF_TIME movwf fsa_output_timer bra Bdo_send_output Bdo_set_ledtime_on: movlw FSA_OUTPUT_LED_ON_TIME movwf fsa_output_timer Bdo_send_output: movff state_register, WREG Bdo_preset_led_on: bsf WREG, RD7 btfsc LATD, RD7 Příklad návrhu A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 78
79 Detektor 110 FSA - logika výstupů Bdo_set_led_off: bcf WREG, RD7 Bdo_send_new_output: movff WREG, LATD bra Bdo_exit ; Bdo_nothing_detected: movff state_register, WREG bsf WREG, RD7 movff WREG, LATD Bdo_exit: return ; ; Bitstream_detector END Příklad návrhu A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 79
80 Detektor Timer0 ISR (Interrupt Service Routine) Příklad návrhu Timer0_int: ; Timer0 ISR (Interrupt Service Routine), T = 6.6 ms ; Save context (example, background empty-no context) movff STATUS, status_tmp movff WREG, wreg_tmp movff BSR, bsr_tmp ; bcf INTCON, TMR0IF ; Clear intrerrupt flag ; call Pushbutton_s1 ; Test S1 on (input '1') call Pushbutton_s2 ; Test S2 on (input '0') call Bitstream_detector ; FSA state logic call Bitstream_detector_output ; FSA output logic ; movff bsr_tmp, BSR ; Restore context movff wreg_tmp, WREG movff status_tmp, STATUS retfie ; Return from interrupt, reenable interrupt END A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 80
81 Struktura a architektura počítačů Systémová struktura počítače Instrukční soubor II Příklady návrhu KONEC České vysoké učení technické Fakulta elektrotechnická A7B14SAP Struktura a architektura počítačů 8 - Instrukční soubor II 81
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systém přerušení. České vysoké učení technické Fakulta elektrotechnická
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Systém přerušení České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 6 Ver.1.2 J. Zděnek, 213 1 pic18f Family Interrupt
VíceStruktura a architektura počítačů
Struktura a architektura počítačů Systémová struktura počítače Programátorský model počítače Instrukční soubor I České vysoké učení technické Fakulta elektrotechnická Ver.1.20 J. Zděnek 2014 Programátorský
VíceStruktura a architektura počítačů
Struktura a architektura počítačů Systémová struktura počítače Řízení běhu programu Systém přerušení České vysoké učení technické Fakulta elektrotechnická Ver.1.30 J. Zděnek / M. Chomát 2014 Požadované
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Stručný úvod do programování v jazyce C 2.díl. České vysoké učení technické Fakulta elektrotechnická
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 2.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 07 Ver.1.10 J. Zděnek,
VícePopis instrukční sady - procesory PIC Aritmetické a logické operace
Popis instrukční sady - procesory PIC Aritmetické a logické operace ADDLW - ADD Literal and W ADDLW k (W+k) W Sečte obsah registru W s konstantou k, výsledek uloží do registru Ovlivňuje: C, DC, Z ADDWF
VíceMIKROKONTROLERY PIC16F84
Střední odborná škola a Střední odborné učiliště informatiky a spojů, Brno, Čichnova 23 Pracovní sešit MIKROKONTROLERY PIC16F84 Určeno pro obory Mechanik elektronik, Digitální telekomunikační technika
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Systémová struktura počítače Řízení běhu programu České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 05 Ver.1.20 J. Zděnek,
VíceŘÍZENÍ ELEKTRICKÝCH POHONŮ. Systémová struktura počítače Řízení běhu programu. České vysoké učení technické Fakulta elektrotechnická
ŘÍZENÍ ELEKTRICKÝCH POHONŮ Systémová struktura počítače Řízení běhu programu České vysoké učení technické Fakulta elektrotechnická A1M14RPO Řízení elektrických pohonů 01 Ver.1.20 J. Zděnek, 20151 Požadované
VíceAlgoritmizace a programování
Algoritmizace a programování Struktura počítače - pokračování České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Systémová struktura počítače pokrač. Systém přerušení A8B14ADP
VíceSystém přerušení. Algoritmizace a programování. Struktura počítače - pokračování. Systémová struktura počítače pokrač.
Algoritmizace a programování Struktura počítače - pokračování České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Systémová struktura počítače pokrač. Systém přerušení A8B14ADP
VíceMikrokontroléry PIC a vestavěné systémy. PIC18 použití assembleru a jazyka C
Mikrokontroléry PIC a vestavěné systémy PIC18 použití assembleru a jazyka C Uvnitř CPU Program, uložený v paměti, obsahuje instrukce pro centrální jednotku k provedení akce. Akce mohou jednoduše sčítat
VíceČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
Vzorový příklad pro práci v prostředí MPLAB Zadání: Vytvořte program, který v intervalu 200ms točí doleva obsah registru reg, a který při stisku tlačítka RB0 nastaví bit 0 v registru reg na hodnotu 1.
VíceCONFIGURATION zapisuje se na začátek programu použitím direktivy preprocesoru pragma
Stručný popis nastavení vybraných periferních jednotek procesoru PIC18F87J11 na vývojové jednotce PIC18 Explorer z hlediska použití na cvičeních v předmětu Mikroprocesory pro výkonové systémy - A1B14MIS.
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 2.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 07 Ver.1.10 J. Zděnek,
VíceStruktura a architektura počítačů
Struktura a architektura počítačů Aritmetické operace Pevná a pohyblivá řádová čárka České vysoké učení technické Fakulta elektrotechnická Ver.1.30 J. Zděnek / M. Chomát 2014 Aritmetické operace pevná
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Speciální obvody a jejich programování v C 2. díl České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek, 2017 Compare Unit jiné řešení Následující
VíceVážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího
VíceCONFIGURATION zapisuje se na začátek inicializační části programu použitím direktivy preprocesoru pragma
Stručný popis nastavení vybraných periferních jednotek procesoru PIC18F87J11 z hlediska použití na cvičeních v předmětu Mikroprocesory pro výkonové systémy - A1B14MIS. Podrobné informace jsou v manuálu
VíceAplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a
Aplikace Embedded systémů v Mechatronice Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakování Rekapitulace periferii GPIO TIMER UART Analogově-digitální převod ADC periferie PIC18 Nastavení
VíceProgramování PICAXE18M2 v Assembleru
Nastavení programming editoru PICAXE PROGRAMMING EDITOR 6 Programování PICAXE18M2 v Assembleru Nastavit PICAXE Type PICAXE 18M2(WJEC-ASSEMBLER, stejně tak nastavit Simulation Pokud tam není, otevřeme přes
VíceSemestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz
Semestrální práce z předmětu KIV/UPA Jan Bařtipán / A03043 bartipan@studentes.zcu.cz Zadání Program přečte ze vstupu dvě čísla v hexadecimálním tvaru a vypíše jejich součet (opět v hexadecimální tvaru).
VíceStruktura a architektura počítačů
Struktura a architektura počítačů Aritmetické operace Pevná a pohyblivá řádová čárka České vysoké učení technické Fakulta elektrotechnická Ver..2 J. Zděnek 23 Aritmetické operace pevná řádová čárka Pevná
VíceMicrochip. PICmicro Microcontrollers
Microchip PICmicro Microcontrollers 8-bit 16-bit dspic Digital Signal Controllers Analog & Interface Products Serial EEPROMS Battery Management Radio Frequency Device KEELOQ Authentication Products Návrh
VíceČinnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus
Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná
VíceVážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího
VícePIC krok za krokem. Komentované příklady programů pro PIC
PIC krok za krokem Komentované příklady programů pro PIC 1.Několiv slov úvodem 3 2.Mikrokontrolér PIC16F84 3 2.1Zapojení PIC16F84 do obvodu...3 2.2Obvod oscilátoru...4 2.3Obvod přerušení...4 2.4Obvod RESET...4
VíceIMTEE Přednáška č. 8. interrupt vector table CPU při vzniku přerušení skáče na pevně dané místo v paměti (obvykle začátek CODE seg.
Přerušení Důvod obsluha asynchronních událostí (CPU mnohem rychlejší než pomalé periferie má klávesnice nějaké znaky? ) Zdroje přerušení interrupt source o HW periferie (UART, Disk, časovače apod.) o SW
VíceObr. 1 - Hlavní okno prostředí MPLAB
BDOM Cvičení 1 1. Prostředí MPLAB Pro práci s obvody MICROCHIP PIC budeme používat vývojové prostředí MPLAB a programátor MPLAB ICD 2. Tento programátor je připojen k vývojové desce PICkit 2. Po spuštění
VíceAplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a
Aplikace Embedded systémů v Mechatronice Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakování Datasheet GPIO piny TRISx/ANSELx registr LATx registr PORTx registr Ukázky použití Hardware
VíceJednočipové mikropočítače (mikrokontroléry)
Počítačové systémy Jednočipové mikropočítače (mikrokontroléry) Miroslav Flídr Počítačové systémy LS 2006-1/17- Západočeská univerzita v Plzni Co je mikrokontrolér integrovaný obvod, který je často součástí
VíceMonolitické mikropoèítaèe II
Monolitické mikropoèítaèe II zpracoval Ing. Josef Šabata Volně navazujeme na Kurs monolitických mikropočítačů a budeme se věnovat výrobkům firmy Arizona Microchip Inc., které jsou i u nás známé jako PIC
VíceINFORMAČNÍ LED DISPLEJ
Středoškolská technika 2012 Setkání a prezentace prací středoškolských studentů na ČVUT INFORMAČNÍ LED DISPLEJ Martin Uhlík Střední průmyslová škola elektrotechniky a informatiky, Ostrava, příspěvková
VíceZáklady digitální techniky
Základy digitální techniky Binarna aritmetika. Tabulky Karno. Operace logické a aritmetické; Binarna aritmetika. č. soust zákl. Abeceda zápis čísla binarní B=2 a={0,1} 1100 oktalová B=8 a={0,1,2,3,4,5,6,7}
VíceStruktura a architektura počítačů
Struktura a archtektura počítačů Logcké obvody - sekvenční Formy popsu, konečný automat Příklady návrhu České vysoké učení techncké Fakulta elektrotechncká Ver..2 J. Zděnek 24 Logcký sekvenční obvod Logcký
VíceMikrořadiče. Ing. Jaroslav Bernkopf
Mikrořadiče Ing. Jaroslav Bernkopf 18. září 2016 OBSAH 1. Úvod... 4 2. Architektura počítačů... 5 2.1 Architektura Von Neumannova... 5 2.2 Architektura Harvardská... 6 2.3 Soubory instrukcí... 6 2.3.1
VíceArchitektura jednočipových mikropočítačů PIC 16F84 a PIC 16F877. Tato prezentace vznikla jako součást řešení projektu FRVŠ 2008/566.
Počítačové systémy Jednočipové mikropočítače II Architektura jednočipových mikropočítačů PIC 16F84 a PIC 16F877 Tato prezentace vznikla jako součást řešení projektu FRVŠ 2008/566. Miroslav Flídr Počítačové
VíceMPASM a IDE pro vývoj aplikací MCU (Microchip)
MPASM a IDE pro vývoj aplikací MCU (Microchip) MPLAB, vývojové prostředí a jeho instalace; Založení nového projektu a jeho základní nastavení; Zásady tvorby a základní úprava formuláře zdrojového kódu;
Více8. Laboratoř: Aritmetika a řídicí struktury programu
8. Laboratoř: Aritmetika a řídicí struktury programu Programy v JSA aritmetika, posuvy, využití příznaků Navrhněte a simulujte v AVR studiu prográmky pro 24 bitovou (32 bitovou) aritmetiku: sčítání, odčítání,
VíceStrojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).
Strojový kód k d a asembler procesoru MIPS Použit ití simulátoru SPIM K.D. - cvičení ÚPA 1 MIPS - prostředí 32 ks 32bitových registrů ( adresa registru = 5 bitů). Registr $0 je zero čte se jako 0x0, zápis
VíceMIDAM MW 240 modbus 2 x DI, 2 x DO
List č.: 1/8 MIDAM MW 240 modbus 2 x DI, 2 x DO - najednou lze vyčíst maximálně 20 wordů (tj. 40byte) název adresa typ popis poznámka modul LSB 1 LSB R identifikace modulu spodní byte modul má identifikaci
VíceMetody připojování periferií BI-MPP Přednáška 2
Metody připojování periferií BI-MPP Přednáška 2 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011
VíceStruktura a architektura počítačů
Struktura a architktura počítačů Logické skvnční obvody (bloky) a budič používané v číslicovém počítači Čské vysoké uční tchnické Fakulta lktrotchnická Vr..3 J. Zděnk / M. Chomát 24 st d in d d d 2 d 3
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 1. díl. České vysoké učení technické Fakulta elektrotechnická
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Speciální obvody a jejich programování v C 1. díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 08 Ver.1.10 J. Zděnek,
VíceKoncept pokročilého návrhu ve VHDL. INP - cvičení 2
Koncept pokročilého návrhu ve VHDL INP - cvičení 2 architecture behv of Cnt is process (CLK,RST,CE) variable value: std_logic_vector(3 downto 0 if (RST = '1') then value := (others => '0' elsif (CLK'event
VíceSTŘEDNÍ PRŮMYSLOVÁ ŠKOLA SDĚLOVACÍ TECHNIKY 110 00 Praha 1, Panská 856/3, 221 002 111, 221 002 666, www.panska.cz, e-mail: sekretariat@panska.
STŘEDNÍ PRŮMYSLOVÁ ŠKOLA SDĚLOVACÍ TECHNIKY 110 00 Praha 1, Panská 856/3, 221 002 111, 221 002 666, www.panska.cz, e-mail: sekretariat@panska.cz MATURITNÍ ZKOUŠKA PRAKTICKÁ ZKOUŠKA Z ODBORNÝCH PŘEDMĚTŮ
Vícezení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení
Připojení periferních zařízen zení 1 Koncepce připojení V/V zařízení V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče specializované (řadič disku) lze k nim připojit jen zařízení určitého
VíceOsmibitové mikrořadiče Microchip PIC16F1937
Osmibitové mikrořadiče Microchip PIC16F1937 SPŠElit Dobruška, 2014 Ing Josef Hloušek Tento text může být využíván pro podporu výuky předmětu Mikroprocesorové systémy ve 3. a 4. ročníku oboru Aplikace osobních
VíceSimulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Opakování. České vysoké učení technické Fakulta elektrotechnická
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Opakování České vysoké učení technické Fakulta elektrotechnická AB4MIS Mikroprocesory pro výkonové systémy Ver..4 J. Zděnek, 27 MOS transistory jako elektrické spínače
VíceOrganizace pam ového prostoru 1
Organizace pam ového prostoru 1 1.0. Celový popis Tento popis obsahuje návod pro použití jedno ipového miropo íta e PIC 16F84A. Další informace m žete nalézt v PICmicro Mid-Range Reference Manual, (DS33023),
VíceMikrořadiče řady 8051.
Mikrořadiče řady 8051 Řada obvodů 8051 obsahuje typy 8051AH, 8031AH, 8751H, 80C51, 80C31, 8052 a 8032 Jednotlivé obvody se od sebe liší technologií výroby a svojí konstrukcí Způsob programování je však
VíceGymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410
VíceAplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a
Aplikace Embedded systémů v Mechatronice Aplikace Embedded systémů v Mechatronice Obsah přednášky: Opakovaní Funkce v C Tvorba knihoven Konfigurační bity #pragma Makra v C #define Debugging v MPLAB Hardware
VíceJednočipové mikropočítače
Jednočipové mikropočítače Atmel AVR 90S8515 činnost procesoru si budeme demonstrovat na jednočipovém mikropočítači AVR 90S8515 firmy Atmel jednočipové mikropočítače mikropočítače, obsahující na jednom
VíceMIKROPOČÍTAČOVÉ SYSTÉMY
MIKROPOČÍTAČOVÉ SYSTÉMY Jednočipové mikropočítače řady 805 Vytištěno z dokumentů volně dostupných na Webu Mikroprocesory z řady 805 Mikroprocesor 805 pochází z roku 980 a je vývojově procesorem relativně
VíceStřední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT
Škola Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Název sady Téma Anotace Autor Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram CZ.1.07/1.5.00/34.0556
VíceIMTEE Přednáška č. 11
AVR Libc pokračování interrupt.h práce s přerušením povolení / zakázání přerušení o makro sei() = instrukce sei o makro cli() = instrukce cli obslužné funkce vždy tvar ISR(JMENO_VEKTORU) // obslužný kod
VíceNejčastěji pokládané dotazy
Nejčastěji pokládané dotazy www.snailinstruments.com www.hobbyrobot.cz Co je kontrolér PICAXE? Kontrolér PICAXE je mikroprocesor z rodiny PIC, vyráběné firmou Microchip, který byl při výrobě naprogramován
VíceDigitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.
Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Stavové automaty enkódování Proces, který rozhoduje kolik paměťových prvků bude využito v paměťové části. Binární enkódování je nejpoužívanější. j počet stavů
VíceKubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1
Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována
VíceOsmibitové mikrořadiče Microchip PIC16F887
Osmibitové mikrořadiče Microchip PIC16F887 SPŠE Dobruška, učební text, 2009 Ing Josef Hloušek Tento učební text je určen pro výuku předmětu Mikropočítačové systémy ve 4. ročníku oboru Elekrotechnika. Cílem
VíceVstup-výstup Input-Output Přehled a obsluha
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Vstup-výstup Input-Output Přehled a obsluha České vysoké učení technické Fakulta elektrotechnická Y38ÚOS Úvod do operačních systémů 12 Ver.1.00 2010 Operační systém (Operating
VíceModel ver SYSTEM EXCLUSIVE KOMUNIKACE CHD Elektroservis
Model 8-462 ver. 2.00 SYSTEM EXCLUSIVE KOMUNIKACE 2012 CHD Elektroservis 7 Obsah strana 1. System Exclusive komunikace............................. 3 2. Struktura SysEx Messages...............................
VíceStruktura a architektura počítačů (BI-SAP) 9
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 9 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
VíceÚvod do mobilní robotiky NAIL028
md at robotika.cz http://robotika.cz/guide/umor08/cs 6. října 2008 1 2 Kdo s kým Seriový port (UART) I2C CAN BUS Podpora jednočipu Jednočip... prostě jenom dráty, čti byte/bit, piš byte/bit moduly : podpora
VícePopis instrukční sady procesoru ADOP
instrukční sady procesoru ADOP ČVUT FEL, 2008 K. Koubek, P. Bulena Obsah instrukční sady...5 Univerzální registry...5 Registr příznaků FR...5 Standardní význam příznaků...6 Přehled instrukcí...7 ADD Add...8
VíceA0M38SPP - Signálové procesory v praxi - přednáška 10 2
GPIO (konfigurace vstupu, výstupu, alt. funkce) GP timers Core timers Watchdog timer Rotary counter Real time clock Keypad interface SD HOST (MMC, SD interface) ATAPI (IDE) A0M38SPP - Signálové procesory
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 1.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 Ver.1.10 J. Zděnek,
VíceStrojový kód. Instrukce počítače
Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska
VíceIMPLEMENTACE JÁDRA 8-BITOVÉHO MIKROKONTROLÉRU DO FPGA A ASIC
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV MIKROELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
VíceZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv
VíceJiøí Hrbáèek MIKROØADIÈE PIC16CXX a vývojový kit PICSTART Kniha poskytuje ètenáøi základní informace o mikroøadièích øady PIC 16CXX, jejich vlastnostech a použití tak, aby je mohl využít pøi vlastních
VíceHistorie osmibitových mikroprocesoru a mikroradicu ZILOG.
Historie osmibitových mikroprocesoru a mikroradicu ZILOG. Americká firma ZILOG vstoupila na trh mikroprocesoru v roce 1973. V dobe, kdy svet dobývaly obvody Intel 8080, se objevil obvod s typovým oznacením
VícePříklady popisu základních obvodů ve VHDL
Příklady popisu základních obvodů ve VHDL INP - cvičení 2 Michal Bidlo, 2008 bidlom@fit.vutbr.cz entity Circuit is port ( -- rozhraní obvodu ); end Circuit; Proces architecture Behavioral of Circuit is
VíceJazyk symbolických adres
Jazyk symbolických adres 1 Proč programovat v JSA Pro některé procesory resp. MCU jsou překladače JSA dostupnější. Některé překladače vyšších jazyků neumí využít určité speciální vlastnosti procesoru.
VícePrincipy komunikace s adaptéry periferních zařízení (PZ)
Principy komunikace s adaptéry periferních zařízení (PZ) Několik možností kategorizace principů komunikace s externími adaptéry, např.: 1. Podle způsobu adresace registrů, které jsou součástí adaptérů.
VícePrůvodce programováním AMiNi-E jazykem STL Dipl. Ing. Pavel Votrubec
Průvodce programováním AMiNi-E jazykem STL Dipl. Ing. Pavel Votrubec 1 Základní body: HW popis PLC AMiNi-E Definice potřebných vstupů Definice potřebných výstupů Definice potřebných proměnných Definice
VíceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl. České vysoké učení technické Fakulta elektrotechnická
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Speciální obvody a jejich programování v C 2. díl České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek, 2017 Compare Unit The following three screens
VíceAlgoritmizace a programování
Algoritmizace a programování Struktura počítače České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Struktura předmětu Systémová struktura počítače, procesor, paměti, periferní
VíceAlgoritmizace a programování
Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura
Vícedspic33: Přerušení, čítače a Change Notification
1 z 6 26.3.2013 14:28 dspic33: Přerušení, čítače a Change Notification Přerušení Základní pojmy: přerušení maskování priority Preruseni na dspic33-fj128-mc804 15 priority levels Up to eight processor exceptions
VíceJihočeská univerzita v Českých Budějovicích
Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Katedra fyziky Soubor úloh postavených na jednočipech PIC Bakalářská práce Vedoucí práce: Ing. Michal Šerý Autor: Zdeněk Boháč Anotace Bakalářská
VícePeriferní operace využívající přímý přístup do paměti
Periferní operace využívající přímý přístup do paměti Základní pojmy Programová obsluha periferní operace řízení této činnosti procesorem. Periferní operace využívající přerušení řízení řadičem přerušení,
VícePřednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1
Přednáška - Čítače 2013, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1 Náplň přednášky Čítače v MCU forma, principy činnosti A3B38MMP, 2013, J.Fischer,
VíceJazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Jazyk VHDL konstanty, signály a proměnné Jazyk VHDL paralelní a sekvenční doména Kurz A0B38FPGA
VícePřerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.
1 Přerušení Při výskytu určité události procesor přeruší vykonávání hlavního programu a začne vykonávat obslužnou proceduru pro danou událost. Po dokončení obslužné procedury pokračuje výpočet hlavního
VícePicoBlaze lekce 1: assembler, C překladač a simulační prostředí Jiří Svozil, Leoš Kafka, Jiří Kadlec svozil@utia.cas.cz
Technická zpráva PicoBlaze lekce 1: assembler, C překladač a simulační prostředí Jiří Svozil, Leoš Kafka, Jiří Kadlec svozil@utia.cas.cz Obsah 1. Úvod... 2 2. Xilinx PicoBlaze... 2 2.1 Architektura procesoru...
VíceDIODOVÉ HODINY. Dominik Roček. Středisko Vyšší odborná škola a Středisko technických a uměleckých oborů Mariánská ulice 1100, Varnsdorf
Středoškolská technika 2012 Setkání a prezentace prací středoškolských studentů na ČVUT DIODOVÉ HODINY Dominik Roček Středisko Vyšší odborná škola a Středisko technických a uměleckých oborů Mariánská ulice
VíceGymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410
VíceKubatova 19.4.2007 Y36SAP 8. Strojový kód Jazyk symbolických instrukcí asembler JSA pro ADOP a AVR. 2007-Kubátová Y36SAP-strojový kód 1
Y36SAP 8 Strojový kód Jazyk symbolických instrukcí asembler JSA pro ADOP a AVR 2007-Kubátová Y36SAP-strojový kód 1 Architektura souboru instrukcí, ISA - Instruction Set Architecture Vysoká Architektura
VíceOpakování programování
Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování
VíceAlgoritmizace a programování
Algoritmizace a programování Struktura počítače České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Struktura předmětu Systémová struktura počítače, procesor, paměti, periferní
VícePROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 6
UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 6 Práce s analogově digitálním převodníkem Jan Dolinay Petr Dostálek Zlín 2013 Tento studijní materiál
VíceStruktura a architektura počítačů (BI-SAP) 7
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 7 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
VíceSymbolický název Velik. Adresa Význam Jednotky
gdata.mode 4 Byte $1EF Řídící mód serva Digital Torque Mode = $1001 Digital Speed Mode = $2002 Analog Torque Mode = $8001 Analog Speed Mode = $10001 Stepper Motor Mode = $20004 Position Absolute Mode =
VíceA51 MACRO ASSEMBLER POKUSNY PROGRAM DATE 10/3/007 PAGE 1
Demonstrač nítext k předná š ce Mikroprocesory v přístrojové technice, kat. měření. A51 MACRO ASSEMBLER POKUSNY PROGRAM DATE 10/3/007 PAGE 1 MS-DOS MACRO ASSEMBLER A51 V4.4 OBJECT MODULE PLACED IN DEMC.OBJ
VíceProcesor z pohledu programátora
Procesor z pohledu programátora Terminologie Procesor (CPU) = řadič + ALU. Mikroprocesor = procesor vyrobený monolitickou technologií na čipu. Mikropočítač = počítač postavený na bázi mikroprocesoru. Mikrokontrolér
VíceOperační paměti počítačů PC
Operační paměti počítačů PC Dynamické paměti RAM operační č paměť je realizována čipy dynamických pamětí RAM DRAM informace uchovávána jako náboj na kondenzátoru nutnost náboj pravidelně obnovovat (refresh)
VíceDESKA ANALOGOVÝCH VSTUPŮ A VÝSTUPŮ ±24mA DC, 16 bitů
ZÁKLADNÍ CHARAKTERISTIKA Připojení 8 analogových vstupů Připojení 4 analogových výstupů Měření a simulace stejnosměrných proudových signálů Vstupní rozsah ±20mA, ±5mA Výstupní rozsah 0 24mA Rozlišení vstupů
VíceOperační systémy. Přednáška 4: Komunikace mezi procesy
Operační systémy Přednáška 4: Komunikace mezi procesy 1 Časově závislé chyby Dva nebo několik procesů používá (čte/zapisuje) společné sdílené prostředky (např. sdílená paměť, sdílení proměnné, sdílené
Více