Documentos de Académico
Documentos de Profesional
Documentos de Cultura
co 1
TUTORIAL
OBJETIVOS
INTRODUCCIÓN:
FUNDAMENTOS TEÓRICOS:
Recuérdese que tenemos un pulsador en el pin RA4 (TOCKI) el cual nos permitirá
incrementar la cuenta y otro pulsador en RB0 (INT) el cual nos permitirá
INTERRUPCIONES:
Control de interrupciones:
Aparte de estos bits existe el bit GIE y el PEIE, el GIE (Habilitador global de
interrupción) debe estar en uno para habilitar las interrupciones, si esta en cero no
permite la interrupción sin importar el estado de los habilitadores individuales. El
PEIE habilita las interrupciones por periféricos.
En esta practica trabajaremos con las interrupciones de internas y las del TMR0
por lo tanto trabajaremos el registro INTCON, más adelante se podra trabajar
algunos periféricos con sus respectivas interrupciones.
Registro INTCON:
Para todos los bits del registro anterior la lógica es positiva es decir, un uno
habilita y un cero deshabilita.
//Código de la rutina
//de servicio a interrupción
Paso previo a la visualización: Como puede notarse, para poder visualizar un dato
numérico con displays de siete segmentos, es necesario primero dividirlo en
dígitos (en nuestro caso solo unidades y decenas) para luego enviar cada dígito al
display correspondiente usando los códigos correspondientes.
Necesitamos entonces una función que nos permita realizar dicha separación, el
compilador nos presenta una función que permite realizar divisiones y obtener en
La función div recibe dos argumentos tipo entero (int aunque también funciona
para char) y realiza su división computando su cociente y su residuo, el resultado
se obtiene de una variable tipo estructura que contiene tanto el residuo como el
cociente y debe ser leído de manera especial.
6
VCC
ESQUEMA DE CONEXIONES:
R1
10k
ndmunoz@elpoli.edu.co
ndmunoz@elpoli.edu.co
GND U1 RN1
1 15 1 16
RE3/MCLR/VPP RC0/T1OSO/T1CKI
16 2 15
RC1/T1OSI/CCP2
2 17 3 14
RA0/AN0/ULPWU/C12IN0- RC2/P1A/CCP1
3 18 4 13
RA1/AN1/C12IN1- RC3/SCK/SCL
4 23 5 12
RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA
5 24 6 11
RA3/AN3/VREF+/C1IN+ RC5/SDO
6 25 7 10
RA4/T0CKI/C1OUT RC6/TX/CK
7 26 8 9
RA5/AN4/SS/C2OUT RC7/RX/DT
14
RA6/OSC2/CLKOUT
13 19 330
RA7/OSC1/CLKIN RD0
R2 RD1
20
10k 33 21
RB0/AN12/INT RD2
34 22
RB1/AN10/C12IN3- RD3
35 27
RB2/AN8 RD4
Curso de Microcontroladores
36 28
Curso de Microcontroladores
RB3/AN9/PGM/C12IN2- RD5/P1B
37 29
RB4/AN11 RD6/P1C
38 30
RB5/AN13/T1G RD7/P1D
39
RB6/ICSPCLK
40 8
RB7/ICSPDAT RE0/AN5
9
RE1/AN6
10
RE2/AN7
PIC16F887
R3
10k
Curso de Microcontroladores ndmunoz@elpoli.edu.co 7
CODIFICACIÓN:
div_t cocienteresiduo;
void main(void)
{ ADCON1=6; //Desactivo entradas analogas
ANSEL=0x00;
ANSELH=0x00;