Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAlba Calabrese Modificato 11 anni fa
1
MCU MCU Micro Controller Unit 23/11/2005 – 14/12/2005 Andrea Aizza
2
MCU A. Aizza - 23/11/05- 2 - Lezione 1 Introduzione ai microcontrollori MCU Microchip PIC16F877 Caratteristiche (prima parte) Set di istruzioni (prima parte) Pratica: come iniziare Hardware: configurazione minima Software: Hello World Tools: programmatore Contenuti
3
MCU A. Aizza - 23/11/05- 3 - Lezione 2 PIC16F877 Caratteristiche (seconda parte) Set di istruzioni (seconda parte) Semplici tecniche di codifica Tools: Tools: ICD – In Circuit Debugger Compilatore ANSI C per PIC18 Contenuti
4
MCU A. Aizza - 23/11/05- 4 - Lezione 3 Pratica: esperienza di laboratorio LED + pulsante LED + pulsante + anti-rimbalzo (hardware/software) Misuratore di tensione con indicatore a LED Trasmissione su porta seriale Contenuti
5
MCU A. Aizza - 23/11/05- 5 - Introduzione ai microcontrollori Microcontrollers: - Use internal RAM and ROM, so the external busses are available for general purpose I/O. Each bit can be assigned as an input or output. - Are generally used in very simple or lowcost designs. - Often have special ports: A/D converters, PWM outputs, USART,...and so on. Microprocessors: - Use external RAM and ROM and require address and data busses to access them. - Are used for designs that require more I/O and memory.
6
MCU A. Aizza - 23/11/05- 6 - MCU Microchip Harvard Architecture Harvard Architecture Instruction Pipelining Instruction Pipelining Long Word Instructions Long Word Instructions Single Cycle Instructions Single Cycle Instructions Single Word Instructions Single Word Instructions Large Register File Large Register File Reduced Instruction Set Reduced Instruction Set Orthogonal Instruction Set Orthogonal Instruction Set
7
MCU A. Aizza - 23/11/05- 7 - MCU Microchip - Architecture Traditional Von Neumann Architecture: –Fetches instructions and data from a single memory space –Limits operating bandwidth Harvard Architecture: –Uses two separate memory spaces for program instructions and data –Improved operating bandwidth –Allows for different bus widths X12 = PIC16C5x, PIC12C5xx x14 = PIC16Cxxx, PIC14Cxxx, PIC12C6xx x16 = PIC17Cxxx x16 Enhanced = PIC18Cxxx
8
MCU A. Aizza - 23/11/05- 8 - MCU Microchip - Pipelining In most micro controllers, instructions are fetched and executed sequentially The pipelined architecture overlaps fetch and execution, making single cycle execution possible Pipelining
9
MCU A. Aizza - 23/11/05- 9 - MCU Microchip – Long Word Instruction Long Word Instruction Separate instruction/data bus allows different bus widths PIC16 word length optimized to 14- bits Harvard architecture allows single word/single cycle instructions 2k x 16 program memory on PICmicro roughly equivalent to 4k x 8 on other 8-bit microcontrollers Single cycle access increases execution bandwidth
10
MCU A. Aizza - 23/11/05- 10 - MCU Microchip - Register File Concept Register File Concept Register File Concept: Unlike other RISC processors, all of data memory is part of the register file, so any location in data memory may be operated on directly All peripherals are mapped into data memory as a series of registers Orthogonal Instruction Set: ALL instructions can operate on ANY data memory location The Long Word Instruction format allows a directly addressable register file Function Examples: addwf MyReg,w; WREG = WREG + MyReg addwf MyReg,f; MyReg = WREG + MyReg
11
MCU A. Aizza - 23/11/05- 11 - PIC16F877 - Caratteristiche Velocita` massima: 20Mhz Fino a 8K words (da 14bit) Pinout compatibile con altri PIC16 Internal timers (8bit e 16bit) PWM (capture, compare) SSP (SPI o IIC) USART PSP (slave) Brown-out detection Caratteristiche principali 10bit A/D converter Brown-out reset Comparatore analogico 256byte internal data EEPROM Oscillatore configurabile ICSP (debug/ICD) Protezione del codice Watch-dog timer Modalita` SLEEP
12
MCU A. Aizza - 23/11/05- 12 - PIC16F877 - Caratteristiche Caratteristiche principali Descrizione generale Descrizione generale Piedinatura Schema a blocchi Schema a blocchi Oscillatore Reset Configuration Bits Configuration Bits Memoria dati Memoria dati Memoria programma Memoria programma Paging memoria programma Paging memoria programma Registri speciali Registri speciali Convertitore A/D Convertitore A/D Interrupts Manuale completo Manuale completo
13
MCU A. Aizza - 23/11/05- 13 - PIC16F877 – Set di istruzioni Indirizzamento – Accesso alla Data Memory Diretto: movwf Indiretto: movwfINDF Immediato (literal) movlw
14
MCU A. Aizza - 23/11/05- 14 - PIC16F877 – Set di istruzioni Indirizzamento – controllo di flusso Assoluto: goto Subroutine: call Istruzioni Skip: btfss,
15
MCU A. Aizza - 23/11/05- 15 - PIC16F877 – Set di istruzioni Classi di istruzioni: Control, Bit e Byte.
16
MCU A. Aizza - 23/11/05- 16 - PIC16F877 – Set di istruzioni
17
MCU A. Aizza - 23/11/05- 17 - Pratica – Configurazione hw minima Alimentazione: +5Vdc (pin 11, 32), 0Vdc (pin 12, 31) Clock: RC (pin 13) Reset: +5Vdc run, 0Vdc reset (pin 1) Schema configurazione hardware minima Configurazione hardware minima
18
MCU A. Aizza - 23/11/05- 18 - Pratica – Software Software: Hello World Per far funzionare un PIC serve: -Il codice da eseguire caricato nella program memory, -I configuration bits programmati in modo da rispecchiare le caratteristiche hardware. ll file.hex, creato per esempio dallassemblatore a partire dallassembler o da un compilatore+assemblatore a partire dal linguaggio-C, contiene sempre il codice da eseguire assemblato. Puo` anche contenere i configuration bits. In caso contrario i configuration bits possono essere direttamente impostati tramite il programmatore. Il codice da eseguire (e i configuration bits) vengono caricati nellMCU tramite il programmatore.
19
MCU A. Aizza - 23/11/05- 19 - Pratica – Software Multiple Source File Projects Object File(s) Library File (Collection of Pre-Compiled Object Files) Linker Script File C Source File(s) Assembly Source File(s) Common Object File Format (COFF) Object Module File Map File Used to generate HEX, COD and LST files: mp2cod.exe COD and LST mp2hex.exe HEX Relocatable Code
20
MCU A. Aizza - 23/11/05- 20 - Pratica – Software Hello World – ASM Software: Hello World Header: LIST P=16F877, F=INHX8M include __CONFIG _CP_ALL & _DEBUG_OFF &... errorlevel -302, -306, -202 radix dec Inizio Codice:ASM – hello.asmASM – hello.asm org 0x00 goto Start org 0x04 gotoISR Codice: Start...
21
MCU A. Aizza - 23/11/05- 21 - Pratica – Software – documenti utili Suggerimento... Quando si scrive codice ASM e` bene avere a disposizione: 1)Manuale ASM: Quick ASM reference / ASM reference manualQuick ASM reference ASM reference manual 2)Il datasheet del PIC che si sta usandodatasheet del PIC che si sta usando 3)Il circuito per il quale si sta scrivendo il codicecircuito
22
MCU A. Aizza - 23/11/05- 22 - Pratica – Tools: programmatore Come programmare un PIC? IC-Prog + JDM! Codice in program memory Configuration bits Data EEPROM Read, Write e Verify
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.