cap5 - microcontroladores - parte1 -2007 pkgs special features flash/ee data flash/ee code part #...
TRANSCRIPT
1
Microcontroladores - Parte 1 1
Microcontrolador
• MCU– Microcomputadora en un solo circuito que
cumple funciones de CONTROL
Microcontroladores - Parte 1 2
Filosofía del bit
MOV C,P1.4 ;Se trae al CY el estado del pin 4 de la puerta 1ANL C,P1.5 ;AND lógico con el estado de la pata 5 del port 1ANL C,P1.6 ;AND lógico del reultado anterior con el estado
;de la pata 6 del port 1CPL C ;Se complementa el resultadoMOV P1.7,C ;Se escribe el resultado a la pata 7 del port 1
2
Microcontroladores - Parte 1 3
Microcontrolador
Registros deFuncionesEspeciales
Microcontroladores - Parte 1 4
Arquitectura
3
Microcontroladores - Parte 1 5
8x51
Temporizadores
A/D
D/A
Serie RTC
Watchdog
PLL
PWM
USBCAN, etc
ISP
Microcontroladores - Parte 1 6
Ejemplos de FamiliasRB2 RC2 / IC2 RD2 / ED2 / ID2 15 AC2 AC3
Pins 40/44 40/44 44/64 24/32 44 44Flash (KB) 16 32 64 16 32 32Mask ROM Yes Yes Yes - - -SRAM (B) 1280 1280 2048 512 1280 2304EEPROM (KB) - - 2 (ED2 / ID2) 2 2 2U(S)ART 1 1 1 1 1 1SPI Yes Yes Yes - - YesTWI - IC2 ID2 - - -ADC - - - 10 b 10b 10bKeyboard Yes Yes Yes - - -Timers 3 3 3 3 3 3PCA / PWM Yes Yes Yes Yes Yes YesWatchdog Yes Yes Yes Yes Yes YesPOR / PFD - - Yes - - YesISP Yes Yes Yes Yes Yes YesSelf Program. Yes Yes Yes Yes Yes YesSamples Now Now Now Now Now NowProduction Now Now Now Now Now Now
High End AT89C51…
4
Microcontroladores - Parte 1 7
“Fast-Core” Upgradeto ADuC836
52-PQFP56-CSP
256-byte+2K-byte4K-byte8K,32K,62
K-byte1-clock
8052Sngl 12-bit+Dual PWM
Dual16-bitADuC846 *
“Fast-Core” Upgradeto ADuC832
52-PQFP56-CSP
256-byte+2K-byte4K-byte8K,32K,62
K-byte1-clock
8052Dual 12-bit+Dual PWM
8-chan12-bitADuC842 *
“Fast-Core” ΣΔ with Multi-Channel Input
52-PQFP56-CSP
256-byte+2K-byte4K-byte8K,32K,62
K-byte1-clock
8052Sngl 12-bit+Dual PWM
10-chan 24-bitADuC845 *
“Fast-Core” Upgradeto ADuC834
52-PQFP56-CSP
256-byte+2K-byte4K-byte8K,32K,62
K-byte1-clock
8052Sngl 12-bit+Dual PWM
24-bit+ 16-bitADuC844 *
stripped-down ADuC84552-PQFP56-CSP
256-byte+2K-byte4K-byte8K,32K,62
K-byte1-clock
8052(none)10-chan 24-bitADuC847 *
1-clock8052
1-clock8052
12-clock8052
12-clock8052
12-clock8052
12-clock8052
12-clock8052
12-clock8052
12-clock8052
12-clock8052
MCU
stripped-down ADuC84252-PQFP56-CSP
256-byte+2K-byte4K-byte8K,32K,62
K-byteDual PWM8-chan12-bitADuC843 *
“Fast-Core” Upgradeto ADuC831
52-PQFP56-CSP
256-byte+2K-byte4K-byte8K,32K,62
K-byteDual 12-bit+Dual PWM
8-chan12-bitADuC841 *
“Big-Memory” Upgradeto ADuC812
52-PQFP56-CSP
256-byte+2K-byte4K-byte62K-byteDual 12-bit
+Dual PWM8-chan12-bitADuC831
Small, Low-Cost28-TSSOP256-byte640-byte8K-byteDual12-bit
6-chan12-bitADuC814
Same As ADuC831,But With PLL Clock
52-PQFP56-CSP
256-byte+2K-byte4K-byte62K-byteDual 12-bit
+Dual PWM8-chan12-bitADuC832
“Big-Memory” Upgradeto ADuC816
52-PQFP56-CSP
256-byte+2K-byte4K-byte62K-byteSngl 12-bit
+Dual PWMDual16-bitADuC836
“Big-Memory” Upgradeto ADuC824
52-PQFP56-CSP
256-byte+2K-byte4K-byte62K-byteSngl 12-bit
+Dual PWM24-bit
+ 16-bitADuC834
Pin-Compatible Upgradeto ADuC816
52-PQFP56-CSP256-byte640-byte8K-byteSingle
12-bit24-bit
+ 16-bitADuC824
Buffered PGA Input52-PQFP56-CSP256-byte640-byte8K-byteSingle
12-bitDual16-bitADuC816
5µs ADC52-PQFP56-CSP256-byte640-byte8K-byteDual
12-bit8-chan12-bitADuC812
Special FeaturesPKGsRAMFlash/EE Data
Flash/EE CodeDACADCPart #
Microcontroladores - Parte 1 8
Ejemplos
5
Microcontroladores - Parte 1 9
Herramientas• Compilador / Simulador / Depurador
– Keil, IAR, Tasking, Raisonance, Crossware, Hi-Tech, SDCC...
• Emuladores– Signum, Hitex, Ceibo, Phyton, Metalink, Raisonance, Nohau,
Brendes, Isystem…
• Programadores– Advantech, Advin, BP, Ceibo, Data I/O, Dataman, Eetools,
Elnec, HiLo, ICE technology, Leap, MQP, Needhams, Phyton, Stag, System General, Xeltek...
Microcontroladores - Parte 1 10
Características Generales
• Single-Cycle Núcleo 8051: 1MIPS / MHz• 20 MIPS a 20 MHz @ 2.4V - 5.5V • 12 Times Faster than Traditional 8051 Core• Bajo consumo
– Reducido en 85%– Consumo a 3V
• Modo activo 3 mA @ 12 MHz• Modo suspendido 1 mA @ 12 MHz• Bajo consumo hasta 1 uA
6
Microcontroladores - Parte 1 11
Arquitectura
Depende
Del
Dispositivo
Microcontroladores - Parte 1 12
Identificación y Nomenclatura
8 _ _ 5_
Nada : HMOSC : CMOS
0 : ROM7 : EPROM9 : FLASH PROM
1 : 128b RAM, 4Kb ROM, 2 timers2 : 256b RAM, 8Kb ROM, 3 timers
8
Microcontroladores - Parte 1 15
Memoria De datos InternaRegistros dePropósitogeneral
Microcontroladores - Parte 1 16
Registros
9
Microcontroladores - Parte 1 17
Mapas de memoria
Microcontroladores - Parte 1 18
Instrucciones
• ADD A,R4• ADD A,04h• SETB 24h• MOV 20h,#0FFh Equivale a SETB 00h
SETB 01h……..SETB 07h
• MOV P0,#01h Equivale a SETB 80h
10
Microcontroladores - Parte 1 19
SFRsDirección
80H 81H 82H 83H 87H 88H 89H 8AH 8BH 8CH 8DH
SFR P0 SP
DPL DPH
PCON TCON TMOD TLO TL1 TH0 TH1
Microcontroladores - Parte 1 20
SFRsDirección
90H 98H 99H A0H A8H B0H B8H D0H E0H
SFR P1
SCON SBUF
P2 IE P3 IP
PSW ACC
11
Microcontroladores - Parte 1 21
SFRs
Microcontroladores - Parte 1 22
SFRs
• P0 (Port 0, Dirección 80h, Bit-Addressable)• SP (Stack Pointer, Dirección 81h)
Incrementa• DPL/DPH (Data Pointer Low/High,
Direcciones 82h/83h)• PCON (Power Control, Dirección 87h)• TCON (Timer Control, Dirección 88h, Bit-
Addressable)
12
Microcontroladores - Parte 1 23
SFRs
• TMOD (Timer Mode, Dirección 89h)• TL0/TH0 (Timer 0 Low/High, Dirección
8Ah/8Ch)• TL1/TH1 (Timer 1 Low/High, Dirección
8Bh/8Dh)• P1 (Port 1, Dirección 90h, Bit-Addressable)
Microcontroladores - Parte 1 24
SFRs
• SCON (Serial Control, Dirección 98h, Bit-Addressable) Se usan SCON, TCON y TMOD
• SBUF (Serial Control, Dirección 99h)• P2 (Port 2, Dirección A0h, Bit-Addressable)• IE (Interrupt Enable, Dirección A8h)• P3 (Port 3, Dirección B0h, Bit-Addressable)• IP (Interrupt Priority, Direcciones B8h, Bit-
Addressable)
13
Microcontroladores - Parte 1 25
SFRs
• PSW (Program Status Word, Direcciónes D0h, Bit-Addressable)
• ACC (Accumulator, Dirección E0h, Bit-Addressable)
• B (B Register, Dirección F0h, Bit-Addressable)
• Los propios de cada Microcontrolador
Microcontroladores - Parte 1 26
SFRs
• MOV 50h,#01h• MOV 99h,#01h
14
Microcontroladores - Parte 1 27
Registros• Acumulador• Los Registros R
– MOV A,R3– ADD A,R4– MOV R5,A– MOV A,R1– ADD A,R2– SUBB A,R5
• El Registro B• DPTR• PC• SP• PSW
Microcontroladores - Parte 1 28
PSW
15
Microcontroladores - Parte 1 29
PSW
Microcontroladores - Parte 1 30
Manipulación de bits• Para conmutar cada bit del Puerto 1 existen 3 modos:• Modo 1: Enviar los datos a P1 a través del ACC
– BACK: MOV A,#55H ;A=01010101B MOV P1,A ACALL DELAYMOV A,#0AAH ;A=10101010B MOV P1,A ACALL DELAYSJMP BACK
16
Microcontroladores - Parte 1 31
Manipulación de bits• Modo 2: Acceder al Puerto 1 directamente
BACK: MOV P1,#55H ;P1=01010101B ACALL DELAYMOV P1,#0AAH ;P1=10101010B ACALL DELAYSJMP BACK
• Modo 3: Read-modify-write�MOV P1,#55H ;P1=01010101B
AGAIN: XRL P1,#0FFH ACALL DELAYSJMP AGAIN
Microcontroladores - Parte 1 32
Manipulación de bits(a) Observar el estado de P1.2 hasta que pase a alto.(b) Cuando P1.2 pase a alto, escriba 45H al puerto 0 y(c) Genere un pulso alto a bajo en P2.3.
SETB P1.2 ;programo P1.2 como entradaMOV A,#45H ;A=45H
AGAIN:JNB P1.2,AGAIN ;salir cuando P.2=1MOV P0,A ; sacar A a P0SETB P2.3 ; P2.3 altoCLR P2.3 ; Transición H-L en P2.3
17
Microcontroladores - Parte 1 33
Modos de Direccionamiento
• Direccionamiento Inmediato: MOV A,#20h• Direccionamiento Directo: MOV A,30h (SFRs)
• Direccionamiento Indirecto: MOV A,@R0• Externo Directo: MOVX A,@DPTR• Código Indirecto: MOVC A,@A+DPTR
Microcontroladores - Parte 1 34
Saltos• Condicionales
JB 45h,PEPENOP
PEPE:....• Directos
LJMP Por_ahi……..
Por_ahi:• SJMP (+127/-128)
• AJMP (2K)
18
Microcontroladores - Parte 1 35
Subrutinas
• LCALL• RET
Microcontroladores - Parte 1 36
Diagrama Circuital-Mem. Prog. Externa
19
Microcontroladores - Parte 1 37
Diagrama Circuital-Mem. Prog. Externa
U3
27512
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
A1326
A1427
A151
CE20
OE22
U2
8051
EA/VP31
X119
X218
RESET9
INT012
INT113
T014
T115
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P0.0 39
P0.138
P0.2 37
P0.3 36
P0.435
P0.5 34
P0.633
P0.7 32
P2.0 21
P2.122
P2.2 23
P2.324
P2.4 25
P2.526
P2.6 27
P2.7 28
RD 17
WR16
PSEN 29
ALE/P30
TXD 11
RXD10
U1
74LS373
D03
D14
D27
D38
D413
D514
D617
D718
OC1
G11
Q0 2
Q15
Q2 6
Q39
Q4 12
Q515
Q6 16
Q7 19
Microcontroladores - Parte 1 38
Diagrama Circuital-Mem. Datos Externa
20
Microcontroladores - Parte 1 39
Diagrama Circuital-Mem. Datos Externa
Vcc
U2
8051
EA/VP31
X119
X218
RESET9
INT012
INT113
T014
T115
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P0.0 39
P0.1 38
P0.2 37
P0.3 36
P0.4 35
P0.534
P0.6 33
P0.7 32
P2.0 21
P2.1 22
P2.2 23
P2.3 24
P2.425
P2.5 26
P2.6 27
P2.7 28
RD 17
WR 16
PSEN 29
ALE/P30
TXD 11
RXD 10
U1
74LS373
D03
D14
D27
D38
D413
D514
D617
D718
OC1
G11
Q0 2
Q15
Q2 6
Q3 9
Q4 12
Q5 15
Q6 16
Q7 19
U3
6264
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
CS120
CS226
WE27
OE22
D0 11
D1 12
D2 13
D3 15
D416
D5 17
D6 18
D7 19
U4
74LS138
A1
B2
C3
G16
G2A4
G2B5
Y0 15
Y1 14
Y2 13
Y3 12
Y4 11
Y5 10
Y6 9
Y77
Microcontroladores - Parte 1 40
Diagrama de las patas