microcontroladores clase 2

14
Por: Oswaldo Sánchez Escalante Microcontroladores pic Segunda clase

Upload: tallermicros

Post on 22-Jul-2015

1.421 views

Category:

Documents


0 download

TRANSCRIPT

Por: Oswaldo Sánchez Escalante

Microcontroladores picSegunda clase

• Opciones• Plugins• Instalación de plugin “fuses”• Instalación del bootloader o programador.

Descripción del entorno Proton IDE

Proceso de compilación

Lenguaje fuente en

BASIC

Lenguaje ensamblador

hex

• Declaración de dispositivodevice=18fxx50

• Declaración de relojXtal= 20

• Declaraciones de fuses• Declaración de registros tris• Declaración de variables• Cuerpo del programa

Partes de un programa en proton

Números binarios

• Este sirve para decirle al microcontrolador como va a ser usadas sus periféricos como entrada o como salida.

• Cada registro tris tiene 8 bits(pines)• 1=entrada(in)• 0=salida(out)• Ejemplo:• Trisa=%00001111• Es lo mismo que Trisa=15

Registro tris

•Tipo es bit, byte , word , dword or float.

Algunos ejemplos de declaración de variables de cada tipo son:

DIM Var1 AS BYTE ' Crea una variable de 8-bit sin signo (0 - 255)DIM Var2 AS BIT ' Crea una variable de un simple bit (0 - 1)DIM Var3 AS WORD ' Crea una variable de 16-bit sin signo (0-65535)DIM Var4 AS DWORD ' Crea a variable de 32-bit con signo (-2147483647 , +2147483647)DIM Var5 AS FLOAT ' Crea una variable de 32-bit punto flotante.DIM ST AS STRING * 20 ' Crea una cadena con capacidad de 20 caracteres (8-bit)

Tipos de variables

• Sirve para nombrar pinesSYMBOL PORTA.1=LEDSymbol porta=todos• Iniciacion de una variableDim t as byteT=100

ALIAS

• Un microcontrolador tiene una serie de funciones especiales pero hay que decirle cual necesitamos y cual no

• Para el bootloader estos ya están predefinidos(gran ventaja)

• Mientras mas poderoso sea el PIC mas fuses a configurar

• El plugin de Proton IDE

FUSES

• HIGH sirve para mandar un una lógico(5v) a algún pin del microcontrolador y su sintaxis es:

• High nombre del pin o aliasejemplo:

High porta.1Hiigh led

• Low sirve para manda un cero lógico(0v) a algún pin del microcontrolador y su sintaxis es:

• Low nombre del pin o aliaslow porta.1low led

• Toggle cambia al estado contrario algún pin del microcontrolador y su sintaxis es:

• Toggle nombre del pin o aliastoggleporta.1toggle led

Primeras instrucciones high ,low y toggle

• Ay dos tipos de pausas • Delayms detiene el programa por un intervalo de

milisegundos• Delayus detiene el programa por un intervalo de

microsegundos• Sintaxis:

DelayMS 500'detiene el programa 500 milisegundos

DelayUS 500'detiene el programa 500 microsegundos

Instrucción delay

• Programa con bootloader• Include “bootloader.inc”• TRISC=0• Dim led As PORTC.0• inicio:• High led• DelayMS 500• Low led• DelayMS 500• Goto inicio

• Programa con pic 16f628a• Device =16F628A• Config BOREN_ON, CP_OFF, DATA_CP_OFF, PWRTE_ON, WDT_ON, LVP_OFF,

MCLRE_OFF, RC_OSC_NOCLKOUT• TRISA=0• Dim led As PORTA.0• inicio• High led• DelayMS 500• Low led• DelayMS 500• GoTo inicio

Primer programa “blink led”

• Include “bootloader.inc”• TRISC=0• Dim led As PORTC.0• Led=1• inicio:• Toggle led• Delayms 500• Goto inicio

Mismo proograma con toggle

• Hacer que dos led parpadeen imparmente (uno enciende y el otro se apaga) con un intervalo de un segundo para los que tienen bootloader usar portc.0 y portc.1 ya tienen un led bicolor puesto

• Hacer que un puerto completo sea intermitente con un intervalo de 500 ms

• Genere 6 parpadeos de un led con intervalos de 300 mls. luego haga 2 parpadeos de 1

segundo con un segundo led, luego haga que los 2 ledsparpadeen 3 veces, repita el proceso indefinidamente.

Programa para que hagan