Escolar Documentos
Profissional Documentos
Cultura Documentos
Material
9 resistencias de 220k
8 LED’s
PIC628A
1 push button
Protoboard
Software MPLAB
DIPSWITCH de 8
OBJETIVO
Se pretende diseñar sistemas digitales con ayuda del microcontrolador de la
familia PIC628A, de tal manera así poder reducir costos y espacio dentro de una
tarjeta.
INTRODUCCIÓN
Desarrollo:
PARTE I
En esta parte se nos pidió implementar una función que nos permita encender los
1 LED’S cuando se presione el push button y el segundo tendrá que parpadear en
un lapso de 500ms. Se debe tomar en cuenta que el ciclo de retardo debe
contener la evaluación del PUSH BUTTON si contiene un cero o un 1 lógico.
1) En esta parte el segundo LED se mantiene parpadeando
#include "p16f628a.inc"
; CONFIG
; __config 0xFF10
__CONFIG _FOSC_INTOSCIO & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF &
_BOREN_OFF & _LVP_OFF & _CPD_OFF & _CP_OFF
;
==========================================================================
=====
CONT1 EQU 0X20
CONT2 EQU 0X21
CONT3 EQU 0X22
;=========================================================================
======
org 00h
GOTO INICIO
org 05h
;
==========================================================================
====
PONER1:
BSF PORTB, 0
RETURN
;
==========================================================================
=====
PONER0:
BCF PORTB, 0
RETURN
;
==========================================================================
=====
RETARDO: MOVLW H'20'
MOVWF CONT3
CALL PREGUN
CICLO3: MOVLW H'66'
MOVWF CONT2
CALL PREGUN
CICLO2: MOVLW H'31'
MOVWF CONT1
CALL PREGUN
CICLO: DECFSZ CONT1, f
GOTO CICLO
DECFSZ CONT2, f
GOTO CICLO2
DECFSZ CONT3, f
GOTO CICLO3
CALL PREGUN
RETURN
;
==========================================================================
=====
PREGUN: BTFSC PORTA, 0 ;SI EL BIT 0 DEL PUERTO A ES 0 SALTA
CALL PONER1 ;ENVIA 1 A PB0
BTFSS PORTA, 0 ;SI EL BIT 0 DEL PUERTO A ES 1 SALTA
CALL PONER0 ;ENVIA 0 A PB0
RETURN
;
==========================================================================
=====
INICIO: MOVLW H'07'
MOVWF CMCON
CLRF PORTB
VUELVE:
BSF PORTB, 1
CALL RETARDO
BCF PORTB, 1
CALL RETARDO
GOTO VUELVE
END
PARTE II
En esta parte se nos pidió implementar un sumador de 8 bits que nos permite
ingresar los datos al presionar el PUSH BUTTON
En la simulación de PROTEUS se deben de tomar en cuenta los puertos de la
resistencia donde marca el cero o uno lógico con sus respectivos colores.
#include "p16f628a.inc"
; CONFIG
; __config 0xFF10
__CONFIG _FOSC_INTOSCIO & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF
& _BOREN_OFF & _LVP_OFF & _CPD_OFF & _CP_OFF
ORG 00H
INICIO
BSF STATUS,RP0
BSF TRISA,0
MOVLW 0FFH
MOVWF TRISB
BCF OPTION_REG,7
BCF STATUS,RP0
MOVLW 07H
MOVWF CMCON
MOVLW 00H
MOVWF 20H
MOVF PORTB,W
MOVWF 21H
MOVF PORTB,W
ADDWF 21H,W
BTFSC STATUS,C
INCF 20H,F
BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0
MOVWF PORTB
CALL CINCO_SEG
MOVF 20H,W
MOVWF PORTB
CALL CINCO_SEG
CINCO_SEG
MOVLW .118
;MOVLW .60
MOVWF 22H
D3 MOVWF 23H
D2 MOVWF 24H
D1 DECFSZ 24H,F
GOTO D1
DECFSZ 23H,F
GOTO D2
DECFSZ 22H,F
GOTO D3
RETURN
END
CONCLUSIÓN
Los microcontroladores de la familia MICROCHIP cuenta con su propio lenguaje
ensamblador, de esta manera al estar familiarizado con este lenguaje, se nos
permite manipular de manera más sencilla este microcontrolador y ejecutar tareas
específicas.
pgfedcba
11000001
10110000
10011001
11000110
11001000
10000111
10001001
10001100
10000110
10010001