Anda di halaman 1dari 19

Haciendo Funcionar el uC PIC

Preparado por: jhuircan


Depto. Ingeniera Elctrica
Universidad de La Frontera
Semestre primavera 2008

Aplicaciones de mControladores

Objetivos
q Programar una aplicacin que permita verificar el
funcionamiento del uC 16F873A
q Uso del MPLAB
q Uso del Programador

Aplicaciones de mControladores

q
q
q
q
q

Generar un proyecto
Grabar el programa
Implementar Circuito Bsico
Energizar la protoboard
Verificar Funcionamiento

Aplicaciones de mControladores

Circuito Bsico

20

28

9
21
10
8

19

Aplicaciones de mControladores

Circuito Bsico

20

28

9
21

XTAL -20MHz

10
8

19

Aplicaciones de mControladores

Circuito Bsico

20

28

9
22pF

21

XTAL -20MHz

10
22pF

19

Aplicaciones de mControladores

Circuito Bsico

20

28

9
22pF

21

XTAL -20MHz

10
22pF

19

Aplicaciones de mControladores

Circuito Bsico

5V

20

28

9
22pF

21

XTAL -20MHz

10
22pF

19

Aplicaciones de mControladores

Circuito Bsico
5V
5V
1K
Reset

20

28

9
22pF

21

XTAL -20MHz

10
22pF

19

Aplicaciones de mControladores

Circuito Bsico
5V
5V
1K
Reset

20

28

PORTB.7

21

PORTB.0

9
22pF

XTAL -20MHz

10
22pF

19

Aplicaciones de mControladores

Circuito Bsico
5V
5V
1K
Reset

20

28

PORTB.7

21

PORTB.0

9
22pF

XTAL -20MHz

10
22pF

19

Aplicaciones de mControladores

Programacin
q Gran Parte de la Programacin se basa en el manejo
de registros, por lo general de 8 bit.
q La memoria de programas es un arreglo de registros
q Los puertos de Entrada Salida se consideran como
registros
q Todos los subsistemas del uC se configuran
asignndole valores a los registros internos.
q Cada subsistema
q ADC
q PWM
q PORTX (X:A,B,C)
q Comunicaciones
q Etc

q Tiene sus registros de configuracin


Aplicaciones de mControladores

q Desde el punto de vista de programacin C, estos


registros se usan como variables de 8 bit, es
decir tipo char.
q Una de las grandes prestaciones del compilador
orientado a uC es el acceso a los bit de cada
variable (o registro).
q Ej.

PORTB es un registro de 8 bit


y puede almacenar un nmero entre 0 y 255.

PORTB.0 es el bit 0 del registro


y solo almacena un 0 o 1.

Aplicaciones de mControladores

q El caso de las variables de 8,16 y 32 bit estndar


tienen el mismo tratamiento.
q Para las 16 bit tambin se pueden separar en los 8
ms significativos y los 8 menos significativos.
q Ej

uns16 dato;
dato.low8 corresponde a los 8 bit menos significativos
dato.high8 son los 8 bit ms significativos

Ver lenguaje C del cc5x

Aplicaciones de mControladores

Test01.C
void main()
{
TRISB.7=0;
PORTB.7=1;
while(1)
{
if(PORTB.7==1)PORTB.7=0;
else PORTB.7=1;
}
}

Aplicaciones de mControladores

Circuito Bsico
5V
5V
1K
Reset

PORTB.7

20

28
LED

9
22pF

21

XTAL -20MHz

10
22pF

19

Aplicaciones de mControladores

Test02.C
void ret(uns16 r)
{
while(r>0)
{
r--;
}
}
void main()
{
TRISB.7=0;
PORTB.7=1;
while(1)
{
if(PORTB.7==1)PORTB.7=0;
else PORTB.7=1;
ret(5000);
}
}
Aplicaciones de mControladores

Test03.C
void ret(uns16 r)
{
while(r>0)
{
r--;
}
}
void main()
{
char dato;
TRISB=0x00;
dato=0xAA;
while(1)
{
PORTB=dato;
dato=!dato;
ret(5000);
}
}

Aplicaciones de mControladores

Circuito Bsico
5V
5V
1K

220W
20
1

Reset

LED

28
27
26

16F873A
9

22pF

XTAL 20MHz

22pF

25
24
23

10

22
8

19

21

Aplicaciones de mControladores

Anda mungkin juga menyukai