Post on 06-Jul-2018
transcript
8/17/2019 PRACTICA1 Senales
1/13
“UNIVERSIDAD NACIONAL DE LOJA”
ÁREA DE LA ENERGÍA, LAS INDUSTRIAS Y LOS RECURSOSNATURALES NO RENOVABLES
CARRERA DE INGENIERÍA EN ELECTRÓNICA Y
TELECOMUNICACIONES
CICLO V
INFORME DE LA
PRÁCTICA # 1 DE MICROCONTROLADORES
PROGRAMACION DE MICROCONTROLADORES PARA ENCENDIDO DE LEDS
INTEGRANTES:
Fernanda Macas Torres cjnarvaez@hotmail.com
Eduardo Parra Celi egparrax@gmail.com
DOCENTE:
Ing. Ximena Acaro
FEC A:
!"#!$#%!&'
Lo(a ) Ec*a+or
8/17/2019 PRACTICA1 Senales
2/13
1 TEMA: PROGRAMACION DE MICROCONTROLADORES PARA ENCENDIDO DE LEDS
2 OB ETI!OS:
• Conocer el funcionamiento del microcontrolador PIC16F877A.•
Reconocer los puertos que dispone el PIC16F877A.• Programar el PIC16F877A con las especificaciones mencionadas en la guía.
3 MATERIALES " REACTI!OS # PorGru$o
E%ui$os & 'erra(ien)as # Por Gru$o
• PIC16F877A• 1 cristal de !"#• 8 resistencias de 33$%• 1 resistencia de 1$& %• ' capacitores de ''pF• 8 leds• 1pulsador• (atas)eet PIC16F877A
• 1 fuente de corriente continua de *+• 1 quemador de PIC ,PIC&it3-• 1 multímetro• 1 proto oard• 1 computadora• ' /a&s• ' puntas de prue a para multímetro• ca le para cone0i n en proto oard• pin#as2 alicates2 corta ca les2 pela ca les
* INSTR+CCIONES:• Colocar las moc)ilas en los casilleros•
Pro)i ido consumo de alimentos• Pro)i ido equipo de di ersi n2 celulares etc.• Pro)i ido /ugar • Pro)i ido mo er o intercam iar los equipos de los ancos de tra a/o• Pro)i ido sacar los equipos del la oratorio sin autori#aci n.• 4 icar los equipos 5 accesorios en el lugar dispuesto por el responsa le del la oratorio2 luego de
terminar las pr cticas.• 4so adecuado de equipos• 4so o ligatorio del mandil• Presentar el preparatorio al docente a cargo de la materia al inicio de la /ornada.
, ACTI!IDADES POR DESARROLLAR:
Encendido de led
1. Reali#ar la programaci n utili#ando el soft are !icro C Pro.'. Construir el circuito electr nico de la Fig. 1.12 utilice el soft are especiali#ado dispuesto en el
la oratorio.
8/17/2019 PRACTICA1 Senales
3/13
RA0/AN02
RA1/AN13
RA2/AN2/VREF-4
RA4/T0CKI6
RA5/AN4/SS7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PG 36RB2 35RB1 34
RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/R!/DT 26RC6/T!/CK 25
RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF"5
RC0/T1OSO/T1CKI 15
CLR/V##/T$V1
U1
PIC16F877
C1
22#
C2
22#
1
2
4 $%CR&STAL
R1
330
D1
LED-RED
R610'
Fi-. 1.1 Encendido de led con PIC1,F/00A
3. Crear un programa que encienda 5 apague un led2 u icado en la terminal R(7 del puerto (. ltiempo de encendido es de 1$$$ milisegundo 5 el de apagado de *$$ milisegundos .
Luces secuenciales
1. Reali#ar la programaci n utili#ando el soft are !icro C Pro.'. Construir el circuito electr nico de la Fig. 1.'2 utilice el soft are especiali#ado dispuesto en el
la oratorio.
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PG 36RB2 35RB1 34
RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/R!/DT 26RC6/T!/CK 25
RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF"5
RC0/T1OSO/T1CKI 15
CLR/V##/T$V1
U1
PIC16F877A
12345678
2019181716151413
910
1211
U2
LED-BARGRAP$-GRN
R1
R8330 O$)*
C122#
C222#
!1
CR&STAL
R1010'
Fi-. 1.2 Luces secuenciales con PIC1,F/00A
8/17/2019 PRACTICA1 Senales
4/13
3. Crear un programa que encienda una gama de leds de forma secuencial u icados en losterminales del puerto (2 empe#ando por R($ con un tiempo de *$$ms durante la e/ecuci n encada terminal )asta llegar a R(72 una e# llegado )asta este terminal de e ol er a empe#ar.
. Reali#ar tipos de rutinas que se e/ecuten de forma secuencial.
0 MARCO TE RICO:
El PIC1,F/00Al PIC16F877 es un microcontrolador con memoria de programa tipo F9A:"2 lo que representa
gran facilidad en el desarrollo de prototipos 5 en su aprendi#a/e 5a que no se requiere orrarlo conlu# ultra ioleta como las ersiones PR;!2 sino que permite reprogramarlo nue amente sin ser
orrado con anterioridad. l PIC16F877 es un microcontrolador de !icroc)ip line Pin- de $ pines2 propio para usarloen e0perimentaci n. 9a referencia completa es PIC16F877>$ para el dispositi o que utili#a cristaloscilador de )asta !"#2 PIC16F877>'$ para el dispositi o que utili#a cristal oscilador de )asta '$!"# o PIC16F877A>I para el dispositi o tipo industrial que puede tra a/ar )asta a '$ !"#. :inem argo2 )a5 otros tipos de encapsulado que se pueden utili#ar seg=n el dise?o 5 la aplicaci n que sequiere reali#ar. Por e/emplo2 el encapsulado tipo surface mount ,monta/e superficial- tiene unreducido tama?o 5 a/o costo2 que lo )ace propio para producciones en serie o para utili#arlo enlugares de espacio mu5 reducido.
• Carac)er s)icas $rinci$ales@ !emoria de programa F9A:"2 8 B de instrucciones de 1 its c u.@ !emoria de datos 368 5tes RA!2 '*6 5tes PR;!.@ Pila ,:tac&- 8 ni eles ,1 its-.@ Fuentes de interrupci n 13@ Instrucciones 3*@ ncapsulado (IP de $ pines.@ Frecuencia oscilador '$ !"# ,m 0ima-@
8/17/2019 PRACTICA1 Senales
5/13
> Comparaci n 16 its. Resoluci n m 0. G '$$ nseg. > PE! Resoluci n m 0. G 1$ its.@ Con ertidor An logo (igital de 1$ its multicanal ,8 canales de entrada-.@ Puerto serial síncrono ,::P- con us :PI ,modo maestro- 5 us IHC ,maestro escla o-.@ 4:AR< ,4ni ersal :5nc)ronous As5nc)ronous Recei er
8/17/2019 PRACTICA1 Senales
6/13
8/17/2019 PRACTICA1 Senales
7/13
9as constantes literales enteras que empie#an con $ se consideran n=meros octales. Por e/emplo2$3*7.
9as constantes con el prefi/o $ ,o $ - se consideran n=meros inarios. Por e/emplo2 $ 1$1$$1$1.
/emplo de las constantes literales
9611 ,literal )e0adecimal equi ale a literal decimal 17-11 ,literal decimal-911 ,literal octagonal equi ale a literal decimal -9711 ,literal inaria equi ale a literal decimal 3-
/ RES+LTADOS OBTENIDOS.
Si(ulaci3n reali ada del $ri(er circui)o de la $r;c)ica:
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16RC2/CCP1 17
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PG 36RB2 35RB1 34
RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/R!/DT 26RC6/T!/CK 25
RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF"5
RC0/T1OSO/T1CKI 15
CLR/V##/T$V1
U1
PIC16F877A
1
2
!1CR&STAL
C1
22#
C2
22#
R110'
D1
LED-RED
R2
330
Fi-ura *. ncendido 5 Apagado de un 9ed
8/17/2019 PRACTICA1 Senales
8/13
Fi-ura ,. ncendido 5 Apagado de un 9ed
C3di-o reali ado $ara el encendido & a$a-ado de un led.
#define led PORTD.RD7void main() {
TRISD = 0x00;// Config !a! lo" ine" de PORTD $omo "alida" PORTD = 0x00;// % aga! lo" &'D" en PORTD do{ led = 0x ; // 'n$iende el &'D en PORTD.RD7
Dela *m"(+000);// Re,!a"o de n "eg ndo led = 0x00;// % aga el &'D en PORTD.RD7 Dela *m"(-00);// Re,!a"o de medio"eg ndo ile(+);// 1 $le infini,o Si(ulaci3n del se-undo circui)o reali ado en la $r;c)ica:
8/17/2019 PRACTICA1 Senales
9/13
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PG 36RB2
35RB1 34
RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/R!/DT 26RC6/T!/CK 25
RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF"5
RC0/T1OSO/T1CKI 15
CLR/V##/T$V1
U2
PIC16F877A
1
2
!2CR&STALC3
22#F
R310'
C4
22#F
12345678
2019181716151413
910
1211
U3
LED-BARGRAP$-GRN
Fig*ra - . Encendido de luces secuenciales.
Fig*ra . Encendido de luces secuenciales.
C3di-o reali ado $ara el encendido de las luces secuenciales.
8/17/2019 PRACTICA1 Senales
10/13
$on", ,ime=-00; n"igned $on,=0; void main() { TRISD = 0x00;// Config !a! lo" ine"de PORTD $omo "alida" PORTD = 0x00;// % aga! lo" &'D" enPORTD
ile($on,23){
PORTD.RD0=0x ; // 'n$iende el &'Den PORTD.RD0 Dela *m"(,ime);// Re,!a"o de n"eg ndo PORTD.RD0= 0x00;// % aga el &'D enPORTD.RD0 PORTD.RD+ = 0x ; // 'n$iende el&'D en PORTD.RD+ Dela *m"(,ime);// Re,!a"o de n"eg ndo
PORTD.RD+= 0x00;// % aga el &'D enPORTD.RD+ PORTD.RD4 = 0x ; // 'n$iende el&'D en PORTD.RD4 Dela *m"(,ime);// Re,!a"o de n"eg ndo PORTD.RD4= 0x00;// % aga el &'D enPORTD.RD4 PORTD.RD5 = 0x ; // 'n$iende el&'D en PORTD.RD5
Dela *m"(,ime);// Re,!a"o de n"eg ndo PORTD.RD5= 0x00;// % aga el &'D enPORTD.RD5 PORTD.RD3 = 0x ; // 'n$iende el&'D en PORTD.RD3 Dela *m"(,ime);// Re,!a"o de n"eg ndo PORTD.RD3= 0x00;// % aga el &'D enPORTD.RD3 PORTD.RD- = 0x ; // 'n$iende el&'D en PORTD.RD- Dela *m"(,ime);// Re,!a"o de n"eg ndo PORTD.RD-= 0x00;// % aga el &'D enPORTD.RD- PORTD.RD6 = 0x ; // 'n$iende el&'D en PORTD.RD6 Dela *m"(,ime);// Re,!a"o de n"eg ndo
PORTD.RD6= 0x00;// % aga el &'D enPORTD.RD6 PORTD.RD7 = 0x ; // 'n$iende el&'D en PORTD.RD7 Dela *m"(,ime);// Re,!a"o de n"eg ndo PORTD.RD7= 0x00;// % aga el &'D enPORTD.RD7 $on, ;
PORTD = 0x00;
Si(ulaci3n del )ercer circui)o reali ado en la $r;c)ica:
RA0/AN02
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB7/PGD 40RB6/PGC 39
RB5 38RB4 37
RB3/PG 36RB2 35RB1 34
RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/R!/DT 26RC6/T!/CK 25
RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF"5
RC0/T1OSO/T1CKI 15
CLR/V##/T$V1
U2
PIC16F877A
1
2
!2CR&STALC3
22#F
R310'
C4
22#F
12345678
2019181716151413
910
1211
U3
LED-BARGRAP$-GRN
Fig*ra / . Encendido de luces secuenciales (con rutinas diferentes)
8/17/2019 PRACTICA1 Senales
11/13
C3di-o u)ili ado $ara el encendido de las luces secuenciales 4con ru)inas di
8/17/2019 PRACTICA1 Senales
12/13
C3di-o reali ado $ara el encendido de las luces de los se(;
8/17/2019 PRACTICA1 Senales
13/13
Compro ar que el c digo funciones correctamente2 con la a5uda de un simulador.+erificar que el microcontrolador se encuentre correctamente2 quemado2 con el c digo de
programaci n.
12 PREG+NTAS DE CONTROL
18 >Cu;les son los $uer)os de en)rada & salida )iene el PIC1,F/00?"a5 en total puertos de los cuales
9as entradas 5 salidas del Puerto A son configuradas usando el registro 4p.
Al igual que todos los puertos el registro