Közepes komplexitású elemek (6xx,7xx,8xx sorozat)



Hasonló dokumentumok
1 Doszpi

PIC18xxx utasításkészlet

A PIC18 mikrovezérlő család

16F628A megszakítás kezelése

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

Egyszerű RISC CPU tervezése

A mikroszámítógép felépítése.

SZAKDOLGOZAT. Debrecen Borsi István Norbert

Bevezetés az informatikába

Számítógépek felépítése, alapfogalmak

PIC MIKROKONTROLLEREK ALKALMAZÁSTECHNIKÁJA

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

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

Számítógépek felépítése, alapfogalmak

CHIPCAD KFT PIC TANFOLYAM PWM 1/7 TERVEZÉSI FELADAT

A 16F84-r l. CMOS Flash/EEPROM technológia: Lábkiosztás

Az AVR ATmega128 mikrokontroller

A 16F84-ről. CMOS Flash/EEPROM technológia: Lábkiosztás

II. számú melléklet. Mikrovezérlő programozása assembly nyelven. Bevezetés

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

A Texas Instruments MSP430 mikrovezérlőcsalád

A 16F84-rl. CMOS Flash/EEPROM technológia: Lábkiosztás

Nagy Gergely április 4.

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

Az integrált áramkörök kimenetének kialakítása

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

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

Széchenyi István Egyetem

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

Mikrokontrollerek. Tihanyi Attila május 8

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

Füvesi Viktor. Elektrotechnikai és Elektronikai Tanszék április 24.

A mikroprocesszor felépítése és működése

Labor gyakorlat Mikrovezérlők

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

A MiniRISC processzor

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Labor gyakorlat Mikrovezérlők

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

Using the CW-Net in a user defined IP network

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

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

PIC tanfolyam 2013 tavasz 2. előadás

Vegyes témakörök. 7. Microchip PIC18 mikrovezérlők. Hobbielektronika csoport 2017/2018. Debreceni Megtestesülés Plébánia

Computer Architectures

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Számítógépes alapismeretek

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

Hibakeresés MPLAB ICD2 segítségével I-II.

Máté: Számítógép architektúrák

PIC mikrokontrollerek alkalmazástechnikája

Dr. Oniga István DIGITÁLIS TECHNIKA 9

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Számítógép Architektúrák

ARM processzorok felépítése

Autóipari beágyazott rendszerek CAN hardver

Digitális rendszerek. Utasításarchitektúra szintje

Adatok ábrázolása, adattípusok

1.1. A PIC12F509 mikrovezérl általános ismertetése

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Mintavételes szabályozás mikrovezérlő segítségével

Digitális technika VIMIAA02 9. hét

ARM Cortex magú mikrovezérlők

A Számítógépek felépítése, mőködési módjai

Bevezetés az assembly nyelvbe

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Dr. Oniga István DIGITÁLIS TECHNIKA 9

A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg.

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

Számítógép Architektúrák (MIKNB113A)

TMS370 EEPROM PROGRAMOZÓ Felhasználói kézikönyv

Labor 2 Mikrovezérlők

7.hét: A sorrendi hálózatok elemei II.

Digitális technika VIMIAA02 9. hét Fehér Béla BME MIT

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

Digitális áramkörök és rendszerek alkalmazása az űrben 3.

Digitális technika VIMIAA hét

Újrakonfigurálható eszközök

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

7. Fejezet A processzor és a memória

Programfejlesztés PIC mikrovezérlőkre II.

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

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

MICROCHIP PIC DEMO PANEL

Érzékelők és beavatkozók I.

8051-es mikrovezérlő. mikrovezérlő 1980-ból napjainkban

Új kompakt X20 vezérlő integrált I/O pontokkal

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

Perifériák hozzáadása a rendszerhez

Programozó adapter MICROCHIP PIC mikrokontrollerekhez MICROCHIP ICD2 programozó/debuggerhez PICKIT2 programozóhoz Willem égetıhöz

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

Serial 2: 1200/2400 bps sebességû rádiós modem vagy

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

Mikrorendszerek tervezése

Mikrorendszerek tervezése

Bevezetés az assembly nyelvbe

Átírás:

Gépözeli programozás PIC Mirovezérlő Mirovezérlő, miroprocesszoro Miroprocesszor Programvezérlő és adatfeldolgozó funció Teljes örű memória ezelő. Külső memória Processzorbusz felület, 6364 bit Nincs, vagy processzororientált belső perifériá Védett, Normál, Felügyelő, User módo PIC mirovezérlő Mirovezérlő Teljes család:! PIC c5xxx 8 lábú, minimális iépítés! PIC 6c5xxx 88 lábú alap omplexitás! PIC 6c6xxx! PIC 6c7xxx 840 lábú özepes felszereltség! PIC 6c8xxx! PIC 7c4xxx 4044 lábú felső szintű! PIC 7c5xxx Programvezérlő és adatfeldolgozó funció Belső vagy ülső memória, limitált méret és funció Porto, bitenénti onfigurációs lehetőség So, és soféle periféria, öztü so egzotius eszöz. (időzítő, A/D D/A onverter, PWM, nagyáramú imenete, stb.) Egyszerű programvégrehajtás, legfeljebb megszaításo Közepes omplexitású eleme (6xx,7xx,8xx sorozat) Általános jellemző! Nagy teljesítményű RISC CPU DC 0MHz órajel! Belső programtár, mérete 0,54 utasítás! 35 egyszavas 4 bites utasítás Kód OP cím vagy adat! 8 bites adatstrutúra! 369 nyolc bites regiszter + ALU regiszter (W)! 8 szintű hardver stac, D/I/R címzés, interrupt strutúra! Gazdag perifériaelem észlet: időzítő, ommunniációs interfész, A/D onverter, PWM, stb.! Speciális mirovezérlő funció (Beapcsolási RESET, WDT, is fogyasztású észenléti állapot, soros ISP (In Circuit Programing)

Számítógépes rendszere 7 Általános felépítés EPROM Programing Memory 8 level Stac A Program Counter Instr. Reg RAM Register Ban B Adr MUX C Decoder FSR MCLR State Ctrl Pwr Up Pwr Tim WDT Osc Tim ALU Operand Status D E OSC Timing W reg. EEPROM Jellemző:! Harvard architetúra (nem Neumann). Szeparált program és adatmemória:! 4 bit utasítás! 8 bit adat Egymástól független hozzáférés! Minden regiszter (RAM file + perifériá + speciális funció) egyetlen adatmemória területen van! Ortogonális utasításészlet (minden regiszterre ugyanaz végezhető)! Program utasítás = utasítás cilus = Fetch + Execute = 4 órajel (Q..Q4).! Pipeline feldolgozás: az utasítás feldolgozása alatt a övetező utasítás felhozása történi. Így minden utasítás egy utasításcilus alatt végrehajtható, ivéve a feltételes és feltétel nélüli ugró utasításoat. Azo ét utasításcilust igényelne. Pl.:

Számítógépes rendszere 73. MOVLW 55H Fetch Ex. MOVWF PORTB Fetch Ex 3. CALL SUB Fetch3 Ex3 3. BSF PORTA,BIT3 Fetch4 Ex4 Memória szervezés Programmemória: ONCHIP: EPROM, OTP (One Time Programing), EEPROM, FLASH PIC 6C84, PIC 6F84 Eletromosan törölhető EEPROM ill. FLASH Utasítás PC: 3 bittel 8 címezhető meg. Ebből általában 0,5...4 van fiziailag megvalósítva. Címzésor a 3 bit ét ülön regiszterből áll elő. Az egyi az utasításszámláló, a mási a (özönséges regiszterént is elérhető) PCLatch: REG:0AH : PCLatch REG:0H : PCL PC Latch: 5bit PCL: 8 bit PC Latch: 5bit Au eredménye számított címmódosításnál bit bit: OPCODE ugrási hely JMP, CALL utasításnál. Memóriaelrendezés: RESET vetor 0H Interrupt vetor 4H... Felhasználói programmemória... Fileregiszter ban FFH, 3FFH, 7FFH, FFFH memória vége A regisztereet egy özös memóriatartományban tároljá: a regiszter banben. Ez 7 (plusz az inidret címzés álregisztere) regiszteres lapoból áll. (7 biten címzün a lapon belül), a lapoat ülön (általános regiszterben lévő) biteel lehet váltani. A...FH illetve 80H 9FH tartományban vanna a speciális regisztere: PC, INDR, STATUS, FSR, INTCON, PORTA, PORTB, PORTC, PORTD, TRISA, TRISB, TRISC,

Számítógépes rendszere 74 TRISD, TMR0, TMR, TMR, stb. A többi regiszter (amennyi meg van valósítva) szabadon használható. Programozás Ld. az A melléletet Instruction Set Summary Regiszter címzés So regiszter mindét lapon elérhető. Ilyen például a lapo özötti váltáshoz szüséges STATUS regiszter Közvetlen: A 9 bites regisztercím ét részből áll: BIT8..7: RP..RP0 lapcím, a STATUS regiszter 5. bitje BIT6..0: 7 bites regisztercím a 4 bites utasításódból Indiret: Az INDR (pseudo) regiszteren eresztül és az FSR File Select Register segítségével történi. Az FSRben előészített című regiszter az INDR regiszterben látszi, ott írható, olvasható. Pl.: A CLRF INDR törölni fogja azt a regisztert, amine a címe az FSRben van. Az utasításo ódolása 4 bites, egyszavas utasításo. RISC jelleg, b. 35 utasítás.. Regiszteres művelete OPCODE: 6 bit D: bit Reg. Cím: 7 bit A D bit azt adja meg, hogy az eredmény a művelet elvégzése után hol eletezzen:! D = 0 esetén a W aumulátorban! D = esetén a címzett fájlregiszterben.. Bitművelete OPCODE: 4 bit Bit cím: 3 bit Reg. Cím: 7 bit A megadott fájlregiszter megnevezett bitjével történi a művelet. 3. Közvetlen adat utasításból OPCODE: 6 bit Adat: 8 bit 4. Vezérlő utasításo Két lehetőség van: egyszavas, paraméter nélüli utasításo (Pl. CLRWDT, NOP) OPCODE: 4 bit 5. Ugró utasításo: (pl. JMP, CALL) OPCODE PC:3 bit Cím: bit Utasításo (F=File regisztertömb, azaz 7 bitnyi regiszter cím. W=Aumulátor)

Számítógépes rendszere 75 Logiai ANDWF (ÉS apcsolat W és egy F özött), IORWF (özönséges VAGY), XORWF (izáró VAGY), COMF Regiszterművelete: CLRF( Egy F nullázása), CLRW( W nullázása), RLF( Eltolás Carryn át), RRF, SWAPF Adatmozgatás: MOVF (Fből Wbe), MOVWF (Wből Fbe) Feltételes: Bitművelete: Feltételes: Aritmetia: Logia: Töltés: DECFS( F csöentése és a övetező utasítás átlépése, ha nulla), INCFS BCF (Bit törlés egy Fben), BSF (Bit beírás egy Fben) BTFSC (Bitvizsgálat: a övetező utasítás átlépése, ha a bit nulla.), BTFSS ADDWF, SUBWF, ADDLW (onstans és W összeadása), SUBLW ANDLW, IORLW, XPRLW MOVLW (onstans betöltése Wbe), RETLW (visszatérés szubrutinból, Wbe a megadott onstans erül.) Programvezérlés: CALL, GOTO, RETURN, RETFIE (Visszatérés megszaításból), NOP Állapot vezérlés: CLRWDT (Watch Dog Timer törlése), SLEEP (Átlépés alvó módba) STATUS regiszter (8 bit) PRP RP RP0 TO PD DC C 0. C: Carry. D: Digit Carry. : ero 3. 4. PD: Power Down TO: Time Out. Hardware állapot jelző. 5. 6. RP0,RP Regiszter ban váltó bite. 7. PRP Regiszter lapcím indiret címzésnél. Belső perifériá Timer modul Timer 0: 8 bites + programozható előosztó...56 arányban. EXT/INT órajel, megszaítás túlcsordulásor. Timer : 6 bites, időzítő vagy számláló EXT/INT órajelről. Timer : 8 bites, előosztó + utóosztó + periódus regiszter Capture/Compare Timer értéét:! Mintavételezi, Capture ha RC változi! Ellenőrzi, Compare és RCt beállítja PWM mode Timer vel Impulzusszélesség moduláció valósítható meg.

Számítógépes rendszere 76 Soros ommuniációs interfész I C mode (Inter Integrated Circuit. nyitott olletoros vezetéen megvalósított szinron soros busz. SDAadatvezeté, SCLórajel) Serial Peripherial Interface Syncron master/slave 3 vezetéen (SDI, SDO, SCL) + Slave Selection. Asyncron USART funció full duplex, baudrate generátorral. A/D onverter 8 bites onverter, típusonént eltérő számú bemenettel. (48). Külső vagy belső referencia (5V,GND) vagy RA3 Sebessége b. 40 µs/onverzió. Megszaítás érés a onverzió végén. Analóg Komparátor Input (0...5V) Referenciafeszültség EXT/INT (Programozható szintű) Porto Elsődleges funció: általános célú digitális inputoutput. Másodlagos funció: speciális perifériaegység vezérlő ibemenete. Ha nem használju, aor általános port marad a vonal. Általános célú I/O port A övetező ábra az I/O port alapfelépítését mutatja. A tényleges porto ettől típusonént eltérhetne.

Számítógépes rendszere 77 Adatbusz WR PORT Portlatch D Q I/O Láb WR TRIS D Q Trislatch RD TRIS Q D RD PORT Tulajdonságo:! A WR/RD regisztere a normál címtartományban vanna. (Pl.: PORTA, TRISB)! WRRD nem ugyanarra vonatozi. Írásor a PORT Latchbe írun, olvasásor a láb állapotát olvassu. Ha a port imenet, aor a ettő megegyezi, egyébént nem biztos.! A bitművelete mind READMODIFYWRITE jellegűe. (BCF,BSF) előbb olvassa a teljes 8 bitet, azután elvégzi valamelyi bit módosítását, majd a teljes 8 bitet visszaírja. Melléhatás lehetséges. Pl.: 4 db I/O port pin: PORTB 7654 Alapállapot 0 Jelenlegi onfiguráció IOIO A Bemenete állapota.0. Ha a 6. Bitet töröljü, aor BCF PORTB,7 után: Read port: CLRB bit6: 0 Write port: 0 A bit nullázódott.! Write a cilus végén, Read a cilus elején jut érvényre.

Számítógépes rendszere 78 PORT A Analóg input. 8 bit, A/D onverterre megy. TIM0 external input is egyben, ez Schmitttriggerelt. PORTB Belső felhúzó ellenállással rendelezi. Eze atív ibe apcsolható eleme, nagyjából µa áramot épese leadni. A port 4...7 bitje megszaítást tud iváltani, amior megváltozi az állapota (ha inputna van onfigurálva). PORTC TIM órajel bemenete. Itt érhető el a Compare/Capture/PWM modul. Serial Communication Interface (AsyncSync) vonala, I C busz. PORTD 8 bites miroprocesszor port. (Párhuzamos Slave port) PORTE A PORTDhez tartozó vezérlőjele. (RD,WR,CS) A Host port egy 8 bites párhuzamos vonal, amit a RD, WR, CS jellel lehet egy mási számítógép buszrendszerére telepíteni. A D port ötődi a mási gép adatbuszára, a CS jel a iválasztójel (mint egy perifériánál), s a RD WR jel mondja meg az adatátvitel irányát. A D port ilyenor csa abban az esetben imenet, ha a CS és a RD jel egyszerre atív, és aor tölti be a vonala állapotát a belső tárolóba amior a WR és a CS egyszerre atív. Mindét esetben megszaításérés is történi a PICben. Oszcillátor Programozásor onfigurálható az üzemmódja.! RC oszcillátor! Kristály LP mód 3HzHz! Kristály XT mód Hz4MHz! Kristály HS mód 4MHz0MHz Reset PowerOn RESET PowerUp RESET Oscillator Startup Timer MCLR normál műödésnél RESET CLRT Sleep módban (Ébresztés) Beapcsolási feltétele. WDT normál műödésnél (Ha nem nullázzá és engedélyezve van, aor resetel) WDT Sleep módban. SLEEP = Power Down Mode Ilyenor az áramfelfétel,5 µa szintre csöen a normál módban mérhető (frevenciafüggő) pár száz µaről.

Számítógépes rendszere 79 A imenete stabil logiai szinten vanna, a bemenete szintén. Ébresztés:! Külső RESET (MCLR jel)! WDT timeout! Megszaítás:! Külső INT! PORTB 4...7 változás! Timer async mode! Soros STARTSTOP bit! Slave port RD/WR Programozás Soros vonalon át. A soros vonal az RB6 (mint CLK) és az RB7 (mint Data I/O) segítségével történi. Ezalatt az idő alatt az MCLR vonalra Vpp feszültséget ell adni. (ami +V..3V özött van, típustól függően) Programfejlesztés PIC assembler + Simulator + Loader Microchip MPLAB, MPLABC fordító Emulátoro.

PIC6C7X 5.0 INSTRUCTION SET SUMMARY Each PIC6CXX instruction is a 4bit word divided into an OPCODE which specifies the instruction type and one or more operands which further specify the operation of the instruction. The PIC6CXX instruction set summary in Table 5 lists byteoriented, bitoriented, and literal and control operations. Table 5 shows the opcode field descriptions. For byteoriented instructions, 'f' represents a file register designator and 'd' represents a destination designator. The file register designator specifies which file register is to be used by the instruction. The destination designator specifies where the result of the operation is to be placed. If 'd' is zero, the result is placed in the W register. If 'd' is one, the result is placed in the file register specified in the instruction. For bitoriented instructions, 'b' represents a bit field designator which selects the number of the bit affected by the operation, while 'f' represents the number of the file in which the bit is located. For literal and control operations, '' represents an eight or eleven bit constant or literal value. TABLE 5: OPCODE FIELD DESCRIPTIONS Field Description f Register file address (0x to 0x7F) W Woring register (accumulator) b Bit address within an 8bit file register Literal field, constant data or label x Don't care location (= 0 or ) The assembler will generate code with x = 0. It is the recommended form of use for compatibility with all Microchip software tools. d Destination select; d = 0: store result in W, d = : store result in file register f. Default is d = label Label name TOS Top of Stac PC Program Counter PCLATH Program Counter High Latch GIE Global Interrupt Enable bit WDT Watchdog Timer/Counter TO Timeout bit PD Powerdown bit dest Destination either the W register or the specified register file location [ ] Options ( ) Contents Assigned to < > Register bit field In the set of italics User defined term (font is courier) The instruction set is highly orthogonal and is grouped into three basic categories: Byteoriented operations Bitoriented operations Literal and control operations All instructions are executed within one single instruction cycle, unless a conditional test is true or the program counter is changed as a result of an instruction. In this case, the execution taes two instruction cycles with the second cycle executed as a NOP. One instruction cycle consists of four oscillator periods. Thus, for an oscillator frequency of 4 MHz, the normal instruction execution time is µs. If a conditional test is true or the program counter is changed as a result of an instruction, the instruction execution time is µs. Table 5 lists the instructions recognized by the MPASM assembler. Figure 5 shows the general formats that the instructions can have. Note: To maintain upward compatibility with future PIC6CXX products, do not use the OPTION and TRIS instructions. All examples use the following format to represent a hexadecimal number: 0xhh where h signifies a hexadecimal digit. FIGURE 5: GENERAL FORMAT FOR INSTRUCTIONS Byteoriented file register operations 3 8 7 6 0 OPCODE d f (FILE #) d = 0 for destination W d = for destination f f = 7bit file register address Bitoriented file register operations 3 0 9 7 6 0 OPCODE b (BIT #) f (FILE #) b = 3bit bit address f = 7bit file register address Literal and control operations General 3 8 7 0 OPCODE (literal) = 8bit immediate value CALL and GOTO instructions only 3 0 0 OPCODE (literal) = bit immediate value 997 Microchip Technology Inc. A. mellélet

PIC6C7X TABLE 5: Mnemonic, Operands PIC6CXX INSTRUCTION SET Description Cycles 4Bit Opcode Status MSb LSb Affected Notes BYTEORIENTED FILE REGISTER OPERATIONS ADDWF ANDWF CLRF CLRW COMF DECF DECFS INCF INCFS IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF f f Add W and f AND W with f Clear f Clear W Complement f Decrement f Decrement f, Sip if 0 Increment f Increment f, Sip if 0 Inclusive OR W with f Move f Move W to f No Operation Rotate Left f through Carry Rotate Right f through Carry Subtract W from f Swap nibbles in f Exclusive OR W with f BITORIENTED FILE REGISTER OPERATIONS BCF BSF BTFSC BTFSS f, b f, b f, b f, b Bit Clear f Bit Set f Bit Test f, Sip if Clear Bit Test f, Sip if Set LITERAL AND CONTROL OPERATIONS ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN SLEEP SUBLW XORLW Add literal and W AND literal with W Call subroutine Clear Watchdog Timer Go to address Inclusive OR literal with W Move literal to W Return from interrupt Return with literal in W Return from Subroutine Go into standby mode Subtract W from literal Exclusive OR literal with W () () () () 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 bb 0bb 0bb bb x 0 0 xx 0xx 0x lfff 0xxx lfff 0xx0 bfff bfff bfff bfff xxxx 0 0 C,DC, C C C,DC, C,DC, TO,PD TO,PD C,DC, Note : When an I/O register is modified as a function of itself ( e.g., MOVF PORTB, ), the value used will be that value present on the pins themselves. For example, if the data latch is '' for a pin configured as input and is driven low by an external device, the data will be written bac with a '0'. : If this instruction is executed on the TMR0 register (and, where applicable, d = ), the prescaler will be cleared if assigned to the Timer0 Module. 3: If Program Counter (PC) is modified or a conditional test is true, the instruction requires two cycles. The second cycle is executed as a NOP.,,,,,,3,,,3,,,,,,,,, 3 3 997 Microchip Technology Inc. A. mellélet