Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MICROPROCESADORES
Compilador CCS en lenguaje C
2018
INTRODUCCIÓN
#include <18f4550.h>
#use delay(clock=4000000)
#fuses XT, NOWDT
#use standard_io B
#device PIC12f675
#device PIC12f675
#fuses XT, NOWDT, PU, NOPROJECT
#include <12f675.h>
#fuses XT, NOWDT, PUT, NOPROJECT
#INCLUDE <12f675.h>
#use delay(clock=4000000)
#asm
bsf TATUS,RP0
Movlw 0x8
Movwf PORTB
Bcf STATUS,RP0
#endasm
ENTORNO DE TRABAJO
COMANDO DE
MANEJO DE BARRA DE
FICHEROS COMANDOS
BARRA DE
SUBCOMANDOS
PESTAÑA DEL
PROGRAMA
ZONA DE
CÓDIGO
BARRA DE
VENTANAS
AUXILIARES
BARRA DE INFORMACIÓN
MACROS
- Memoria
o 1024 palabras de memoria programable y reprogramable
o 64 bytes de RAM
o 128 bytes de datos de almacenamiento en la EEPROM.
Data Sheet
TRISB = 0xAA; //Puerto B con pines pares como salida e impares como
entrada;
TRISB = 0x55; // Puerto B con pines pares como entrada e impares como
salida.
GESTIÓN DE PUERTOS EN C
Escritura de puertos:
Lectura de puertos:
Manejo de sentencias:
TRISD = 0x0F;
If (PORTD & 0xOF) PORTD |= 0xA0; //comprueba los 4 bits de
//de menor peso del puerto D
//si son 1111 saca por los 4 bits
//más significativos el dato
//1010
Existen unas funciones de C que permiten trabajar bit a bit con los
registros o variables definidas previamente. Estas funciones son las
siguientes:
#define PIN_A0 40
#define PIN_A1 41
output_low(pin); //pin a 0
output_high(pin); //pin a 1
output_bit(pin,valor); //pin al valor especificado
output_toogle(pin); //complementa el valor del pin
output_float(pin); //pin de entrada, quedando a tensión flotante
input_state(pin); //lee el valor del pin sin cambiar el sentido
input(pin); //lee el valor del pin
Ejemplo 3: Configure el pin GP2, GP4 y GP5 como salida para que
produzca una secuencia de un semáforo con un tiempo de encendido y
apagado de 500 ms, considerando un oscilador interno de 4Mhz. El
montaje se presenta a continuación.
Laboratorio práctico
Por favor tener el orden de los pines para evitar problemas. Ver figura 1.
Favor fijarse que es necesario una resistencia (4.7K a 10K) entre los
pines ̅̅̅̅̅̅̅̅
𝑀𝐶𝐿𝑅 y VDD como se presenta en la siguiente figura. De los 6 pines
solo se usan 5, como se presenta a continuación.
Vpp/MCLR
VDD
VSS
PGD/DAT
PGC/CLK