Vous êtes sur la page 1sur 10

UNIVERSIDA NACIONAL DEL ALTIPLANO – PUNO

FACULTAD DE INGENIERIA MECANICA ELECTRICA, ELECTRONICA Y SISTEMAS

ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

CURSO : MAQUINAS Y
COMPUTADORAS

GRUPO : UNICO

NUMERO de 01
EXPERIENCIA
:
INFORME : PERFIL

PRESENTADO Ochoa Apaza, Wilder Jherson


POR :

PUNO – PERÚ

2018 - I
CRONOMETRO CON PIC 16F877A

INTRODUCCION

Los microcontroladores se programan en Assembler y cada microcontrolador varía su conjunto


de instrucciones de acuerdo a su fabricante y modelo. De acuerdo al número de instrucciones
que el microcontrolador maneja se le denomina de arquitectura RISC (reducido) o CISC
(complejo).

Los microcontroladores poseen principalmente una ALU (Unidad Lógico Aritmética), memoria
del programa, memoria de registros, y pines I/O (entrada y/0 salida). La ALU es la encargada de
procesar los datos dependiendo de las instrucciones que se ejecuten (ADD, OR, AND), mientras
que los pines son los que se encargan de comunicar al microcontrolador con el medio externo;
la función de los pines puede ser de transmisión de datos, alimentación de corriente para l
funcionamiento de este o pines de control especifico.

En este proyecto se utilizo el PIC 16F877. Este microcontrolador es fabricado por MicroChip
familia a la cual se le denomina PIC. El modelo 16F877 posee varias características que hacen a
este microcontrolador un dispositivo muy versátil, eficiente y practico para ser empleado en la
aplicación que posteorimente será detallada.

DESARROLLO DEL PROYECTO

Tomando como referencia el diagrama que se ilustra en la figura, se desea diseñ ar e


implementar un cronómetro cuyo conteo esté dado en décimas de segundo (0.0 - 0.1 - 0.2 ---
9.8 - 9.9 - 0.0 --). Un pulsador permite iniciar o continuar el conteo, otro permite detener y
otro borrar.

1. MATERIALES Y COMPONENTES
- x1 Programador de PICS (Pickit2)

- x1 PIC16F877A

- x2 Displays 7 segmentos

- x3 leds pequeños

- x3 pulsadores normales

- x3 resistencias de 220 ohms

- x2 Capacitores de 15pF

- Jumpers o puentes de conexión

- x1 Protoboard

- x1 fuente de voltaje, 5V está bien para trabajar

- x1 Cristal de Cuarzo de 4MHz

- x2 resistencias de 330 ohms

- x1 resistencia de 10k ohms

- x1 capacitor de 0,1Uf

2. CALCULOS DE RESISTENCIAS Y MAS

Este paso es opcional pues prácticamente más arriba di los números precisos de cada
componente, pero, si deseas saber como se hizo aquí te lo explico, este paso es para
determinar a exactitud que valor de resistencias usar para los leds y displays, ¡Vamos que
si llevan por seguridad!

Resistencias de los LEDS, sabemos que la máxima corriente de salida de los puertos del
micro que usamos, es decir, el PIC es de 25mA, pero, en este caso sólo se usará 15mA. El
voltaje promedio son 5V y en los leds irán 3,5V usarán los leds, ahora, por ley de ohm
nuestro pequeño despeje queda:

Resistencias para los displays, aplicamos el mismo principio anterior, ley de Ohm, entonces
nos da:
Retardo en mS, para el retardo incialmente se había propuesto 100mS, pero, después del
retardo siguen algunas instrucciones antes de volver a incrementar, se propone un retardo
de 45mS aproximadamente:

3. SIMULACION EN PROTEUS
4. PROGRAMA PIC

018 LIST p=16F877A


019 #INCLUDE "p16F877A.inc"
020 ;
021 __CONFIG 3F71
022 ;
023 ;
; ************* DECLARACIÓN DE
024
VARIABLES *******************************
025 ;
026 CBLOCK 20
027 UNID,DEC, R1, R2
028 ENDC
029 ;
030
031 ;EQU
032
033 ;
; ******************** DEFINICIONES
034
GENERALES ******************************
035 #DEFINE BOTON_START PORTB,7
036 #DEFINE BOTON_STOP PORTB,6
037 #DEFINE BOTON_RESET PORTB,5
038 #DEFINE LED_VERDE PORTB,0
039 #DEFINE LED_ROJO PORTB,1
040 #DEFINE LED_AZUL PORTB,2
041
042 ;
043
044 ;
;
04
___________________________________________________________________
5
_____________________
046 ;| |
047 ;| DECLARACIÓN DE MACROS |
04 ;|_________________________________________________________________
8 _______________________|
049 INI_PUERTOS MACRO
050 BCF STATUS,RP1 ;BK1
051 BSF STATUS,RP0 ;BK0
052 BCF OPTION_REG,7 ;PULL UP
053 BSF TRISB,7 ;RB7 ENTRADA
054 BSF TRISB,6 ;RB6 ENTRADA
055 BSF TRISB,5 ;RB5 ENTRADA
056 BCF TRISB,0 ;RB0 SALIDA
057 BCF TRISB,1 ;RB1 SALIDA
058 BCF TRISB,2 ;RB2 SALIDA
059 CLRF TRISC ;PORTC SALIDA
060 CLRF TRISD ;PORTD SALIDA
061 BCF STATUS,RP0 ;BK0
062 ENDM
063
064
065
;-----------------------------------------------------------------
066
------------------------
067 ;
068 ORG 00 ; VECTOR DE RESET
069 GOTO INICIO
070 ;
071 ;
;
07
___________________________________________________________________
2
_____________________
073 ;| |
074 ;| TABLAS Y PROCEDIMIENTOS |
07 ;|_________________________________________________________________
5 _______________________|
076 ;TABLA DECO
077 TABLA_DECO ;ANODO COMÚN
078 CLRF PCLATH
079 ADDWF PCL,F
080 DT 40, 79, 24, 30, 19, 12, 2, 78, 0, 10
081 RETURN
;-----------------------------------------------------------------
082
-----------------------------
083 ;VISUALIZA
084 VISUALIZA
085 MOVFW UNID
086 CALL TABLA_DECO
087 MOVWF PORTC
088 MOVFW DEC
089 CALL TABLA_DECO
090 MOVWF PORTD
091 RETURN
092
093 ;INCREMENTA
094 INCREMENTA
095 INCF UNID,F
096 MOVLW .10
097 XORWF UNID,W
098 BTFSS STATUS,Z
099 GOTO SALE_INC
100 CLRF UNID
101 INCF DEC,F
102 MOVLW .10
103 XORWF DEC,W
104 BTFSS STATUS,Z
105 GOTO SALE_INC
106 CLRF DEC
107 SALE_INC
108 RETURN
109
110 ;RESET
111 REINICIAR
112 CLRF UNID
113 CLRF DEC
114 CALL VISUALIZA
115 RETURN
116
117 ;RETARDO_100MS
118 RETARDO_100MS
119 MOVLW .122
120 MOVFW R2
121
122 CICLO2
123 MOVLW .122
124 MOVWF R1
125
126 CICLO1
127 DECFSZ R1,F
128 GOTO CICLO1
129 DECFSZ R2,F
130 GOTO CICLO2
131
132 RETURN
133 ;LEDS
134 LED_1
135 BTFSC PORTB,7
136 GOTO SALE_L1
137 BCF PORTB,0
138 SALE_L1
139 RETURN
140
141 LED_2
142 BTFSC PORTB,6
143 GOTO SALE_L2
144 BCF PORTB,1
145 SALE_L2
146 RETURN
147
148 LED_3
149 BTFSC PORTB,5
150 GOTO SALE_L3
151 BCF PORTB,2
152 SALE_L3
153 RETURN
154
155 APAGA1
156 BSF PORTB,0
157 RETURN
158
159 APAGA2
160 BSF PORTB,1
161 RETURN
162
163 APAGA3
164 BSF PORTB,2
165 RETURN
166
167
168
169
170 ;
171
172 ;
173 ;
17 ;******************************************************************
4 ************************
175 ;* *
176 ;* PROGRAMA PRINCIPAL *
177 ;* *
17 ;******************************************************************
8 ************************
179 ;
180 ;
181 ;
182 INICIO
183 INI_PUERTOS
184 CLRF UNID
185 CLRF DEC
186 CALL VISUALIZA
187
188 PRINCIPIO
189 BTFSC BOTON_START
190 GOTO PRINCIPIO
191
192 INCREMENTO
193 CALL APAGA2
194 CALL APAGA3
195 CALL LED_1
196 CALL INCREMENTA
197 CALL VISUALIZA
198 CALL RETARDO_100MS
199
200 BTFSC BOTON_STOP
201 GOTO INCREMENTO
202 CALL APAGA1
203 CALL LED_2
204 CALL VISUALIZA
205 GOTO MIENTRAS
206
207 MIENTRAS
208 BTFSC BOTON_START
209 GOTO REINICIO
210 GOTO INCREMENTO
211
212 REINICIO
213 BTFSC BOTON_RESET
214 GOTO MIENTRAS
215 CALL APAGA2
216 CALL LED_3
217 CALL REINICIAR
218 GOTO PRINCIPIO
219
220 END