Anda di halaman 1dari 21

PROGRAMACION DEL MICROCONTROLODADOR PIC16F877

Ing. Carlos Guerra Cordero

INTRODUCCION
Los Microcontroladores son utilizados en muchas reas de la actividad humana como: electrnica de consumo, telecomunicaciones, automotriz, domtica, etc. El microprocesador esta diseado para buscar, decodificar y ejecutar instrucciones sin detenerse. La diferencia entre un microcontrolador y un microprocesador, es que en este ultimo la memoria es externa requiriendo de un bus de datos y direcciones. Un microcontrolador es un dispositivo que integra el CPU, la memoria y los puertos de entrada y salida.

Objetivos
Determinar las caractersticas microcontroladores de los

Determinar las instrucciones de la arquitectura de la gama media


Programar instrucciones aplicados a sistemas digtales del uCo. 16F877

Caractersticas de los uCo. PIC16F877 Arquitectura es Harvard Usa arquitectura en la Gama Baja, Media y Alta Lenguaje de Maquina Interpreta las instrucciones, que indican el cdigo de operacin y los operandos Usa el software MPLAB para la programacin Usa el PROTEUS como herramienta de simulacin

U1
13 14 1 2 3 4 5 6 7 8 9 10 O S C 1 /C L K IN O S C 2 /C L K O U T M C L R /V p p /T H V R A 0 /A N 0 R A 1 /A N 1 R A 2 /A N 2 /V R E F R A 3 /A N 3 /V R E F + R A 4 /T 0 C K I R A 5 /A N 4 /S S R E 0 /A N 5 /R D R E 1 /A N 6 /W R R E 2 /A N 7 /C S R B 0 /IN T RB1 RB2 R B 3 /P G M RB4 RB5 R B 6 /P G C R B 7 /P G D R C 0 /T 1 O S O /T 1 C K I R C 1 /T 1 O S I/C C P 2 R C 2 /C C P 1 R C 3 /S C K /S C L R C 4 /S D I/S D A R C 5 /S D O R C 6 /T X /C K R C 7 /R X /D T R D 0 /P S P 0 R D 1 /P S P 1 R D 2 /P S P 2 R D 3 /P S P 3 R D 4 /P S P 4 R D 5 /P S P 5 R D 6 /P S P 6 R D 7 /P S P 7 P IC 1 6 F 8 7 7 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

ARQUITECTURA DE LA GAMA MEDIA

C = 2{13} x 14 Bits = 8192 Instrucciones = 8 KBytes

C = 2{7} x 8 Bits = 128 Bytes

Determinar las instrucciones de la arquitectura de la gama media


a) Instrucciones con Inmediato:
Aritmtico: ADDLW SUBLW Lgicos: ANDLW IORLW XORLW Transferencia: INMED INMED INMED ; (W INMED AND W) ; (W INMED OR W) ; (W INMED XOR W) INMED INMED ; (W INMED + W) ; (W INMED W)

MOVLW
RETLW

INMED
INMED

; (W INMED)
; (W INMED)

b) Instruccin con Acceso a Memoria:


Aritmtico:

ADDWF
SUBWF Lgico: ANDWF IORWF XORWF

F, d
F, d

; (d {dato} + W)
; (d {dato} W) ; (d {dato} AND W) ; (d {dato} OR W) ; (d {dato} XOR W) ; (d {dato} + 1) ; (d {dato} 1)

F, d F, d F, d

--------------------------------------------------------------------------------------------------------------------------------INCF DECF F, d F, d

MOVF
SWAPF COMF RLF RRF

F, d
F, d F, d F, d F, d

; (d {dato})
; (Intercambiar) ; (d {dato}) ; (Rotar Izquierda) ; (Rotar Derecha)

---------------------------------------------------------------------------------------------------------------------------------INCFSZ DECFSZ F, d F, d ; (Incrementar y saltar cero) ; (Decrementar y saltar cero)

c) Instrucciones para manipular bits:


a) Escritura (Forzar) BSF BCF b) Lectura (Testear) BTFSS BTFSC F, Bit F, Bit ; (Bit = 1?) ; (Bit = 0?) F, Bit F, Bit ; (poner 1 en la direccin del bit) ; (poner 0 en la direccin del bit)

------------------------------------------------------------------------------------------------------------

d) Instrucciones de salto:
GOTO Direccin

CALL

Direccin

Otras Instrucciones:
CLRW CLRF MOVWF F ; Borrar Instruccin ; Borrar Direccin ; (Mover W Direccin)

SLEEP
CLRWDT NOP

; Descansa
; Perro Guardin ; No hace nada

SFR : Son registros propios del CPU que se encuentran en la memoria de datos, y son: STATUS, INDF, FSR, INTCON, PLC y PCLATH

Hay parte de los registros del CPU que se encuentran en la memoria de datos Configuran los puertos como entrada/salida:

* TRISX (A, B, C, D, E) ; Define la configuracin de los puertos y determina el sentido (in/out)


TRSIB { 1 = Entrada y 0 = Salida } * PORTX (A, B, C, D, E); Determina si entra 0 o 1 al puerto

Registro de Control

USO DEL MPLAB:


MPLAB Proyect New Configure Select Device Project Set Language Tool Locations microchip MPASM Toolsuite Executables MPASM Assembler (mpasmwin.exe) Debugger Select Tool MPLAB SIM File New Despues de copiar el archivo fuente, procedemos a guardarlo en una carpeta OK

Simulacin en Proteus 6 Professional C Program Files Labcenter Electronics Proteus 6 Professional BIN ISIS - yes

; Activar Led
LIST INCLUDE ORG CLRF BSF BCF BCF BSF GOTO END P=16F877 <P16F877.INC> 0000H PORTB STATUS,RP0 TRISB,0 STATUS,RP0 PORTB,0 $ ; 00000000 ; BNK-1 ; RBO COMO SALIDA ; BNK 0 ; LED ON

U 1
13 14 1 2 3 4 5 6 7 8 9 10 O C1/CLK S IN O C2/CLK U S OT M CLR /Vpp/T V H R 0/IN B T R1 B R2 B R 3/P M B G R4 B R5 B R 6/P C B G R 7/P D B G 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

R1
0.3k

R A0/AN 0 R A1/AN 1 R A2/AN 2/VR FE R A3/AN 3/VR F+ E R A4/T 0CK I R A5/AN S 4/S R C0/T S /T 1O O 1CK I R C1/T S 1O I/CCP 2 R 0/AN D E 5/R R C2/CCP 1 R 1/AN R E 6/W R C3/S /S CK CL R 2/AN E 7/CS R C4/S DI/S DA R C5/S DO R C6/T /CK X R C7/R /DT X R D0/P P S0 R D1/P P S1 R D2/P P S2 R D3/P P S3 R D4/P P S4 R D5/P P S5 R D6/P P S6 R D7/P P S7 P IC16F877

D1
LE D-G E N RE

; Controlar el Led con un Boton


LIST INCLUDE ORG BSF BSF BCF P=16F877 <P16f877.INC> 0000H STATUS,RP0 TRISC,0 TRISB,0 ; BNK-1 ; RC0 COMO ENTRADA ; RB0 COMO SALIDA

BCF STATUS,RP0 ; BNK-0 ;-----------------------------------------------------------------------------------------------------------------------------------TESTEA BTFSS PORTC,0 ; RC0=1? GOTO APAGAR BCF GOTO ACTIVAR BSF GOTO END PORTB,0 TESTEA ; (LED ON)(RB0=1) PORTB,0 TESTEA ; (LED OFF)(RB0=0) ACTIVAR

U1
13 14 1 2 3 4 5 6 7 8 9 10 O SC1/CLKIN O SC2/CLKO T U M /Vpp/TH CLR V R A0/AN 0 R A1/AN 1 R A2/AN EF2/VR R A3/AN EF+ 3/VR R A4/T0CKI R A5/AN 4/SS R E0/AN D 5/R R E1/AN R 6/W R E2/AN 7/CS R B0/IN T R B1 R B2 R G B3/P M R B4 R B5 R G B6/P C R G B7/P D R C0/T1O /T1CKI SO R C1/T1O SI/CCP 2 R C2/CCP 1 R C3/SCK/SCL R C4/SDI/SDA R C5/SDO R C6/TX/CK R X/DT C7/R R SP D0/P 0 R SP D1/P 1 R SP D2/P 2 R SP D3/P 3 R SP D4/P 4 R SP D5/P 5 R SP D6/P 6 R SP D7/P 7 P IC16F877 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

R1
0.3k

D2
LED-BLU E

R2
10k

LABORATORIO # 3 Hacer un programa y simularlo y que haga lo siguiente: 1.2.3.Hay 8 Leds conectados al puerto B y que se comporte como un contador Se desea que el Led se desplace a la izquierda uno a la vez y debe retroceder y as sucesivamente. Que en el Display salga los # de 0 al 9

R 1
1k 0

U 1
1 3 OC/CK S 1 L IN 1 4 OC/CK U S 2 L OT 1 ML /Vp H CR p /T V 2 3 4 5 6 7 R0 T B/IN R1 B R2 B R3 G B/P M R4 B R5 B R6 G B/P C R7 G B/P D 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 1 5 1 6 1 7 1 8 2 3 2 4 2 5 2 6 1 9 2 0 2 1 2 2 2 7 2 8 2 9 3 0

U 1
1 3 O C/CK S 1 L IN 1 4 O C/CK U S 2 L OT 1 ML /V p H CR p /T V 2 3 4 5 6 7 R0 T B /IN R1 B R2 B R3 G B /P M R4 B R5 B R6 G B /P C R7 G B /P D 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 1 5 1 6 1 7 1 8 2 3 2 4 2 5 2 6 1 9 2 0 2 1 2 2 2 7 2 8 2 9 3 0

R0 N A /A 0 R1 N A /A 1 R 2 N/V E A /A 2 R F R 3 N/V E + A /A 3 R F R4 0 K A /T CI R 5 N/S A /A 4 S R 0 1 S /T C I C/T O O 1 K R1 1 S C2 C/T O I/C P 8 R 0 N/R E /A 5 D R2 C1 C/C P 9 R 1 N/W E /A 6 R R 3 C /S L C/S K C 1 0 R 2 N/C E /A 7 S R4 D D C/S I/S A R5 D C/S O R6 X K C/T /C R7 X T C/R /D R0 S 0 D/P P R1 S 1 D/P P R2 S 2 D/P P R3 S 3 D/P P R4 S 4 D/P P R5 S 5 D/P P R6 S 6 D/P P R7 S 7 D/P P P 1 F7 IC6 8 7

R0 N A/A 0 R1 N A/A 1 R 2 N/V EA/A 2 R F R 3 N/V E+ A/A 3 R F R4 0 K A/T C I R 5 N/S A/A 4 S R 0 1 S /T C I C/T OO 1 K R1 1 S C2 C/T OI/C P 8 R 0 N/R E/A 5 D R2 C1 C/C P 9 R 1 N/W E/A 6 R R 3 C /S L C/S K C 1 0 R 2 N/C E/A 7 S R4 D D C/S I/S A R5 D C/S O R6 X K C/T /C R7 X T C/R /D R0 S 0 D/P P R1 S 1 D/P P R2 S 2 D/P P R3 S 3 D/P P R4 S 4 D/P P R5 S 5 D/P P R6 S 6 D/P P R7 S 7 D/P P P 1 F7 IC6 8 7

D 8

D 7

D 6

D 5

D 4

D 3

D 2

D 1

D 8

D 7

D 6

D 5

D 4

D 3

D 2

D 1

L D RE L D RE L D RE L D RE L D RE L D RE L D RE L D RE E -GE N E -GE N E -GE N E -GE N E -GE N E -GE N E -GE N E -GE N

L D RE L D RE L D RE L D RE L D RE L D RE L D RE L D RE E -G E N E -G E N E -G E N E -G E N E -G E N E -G E N E -G E N E -G E N

Problema 1

Problema 2

Problema 3

FIN

Anda mungkin juga menyukai