Práctica 5

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 31

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA


UNIDAD PROFESIONAL TICOMÁN

PRÁCTICA 5:

“MICROCONTROLADORES PROGRAMABLES”

Alumnos:
• Cruz Martínez Erick Emmanuel.
• Huerta Osorio Raúl Alejandro.
• Utrilla Rincón José.
• Velazco Rangel Ary Olaf.

Materia: Sistemas electrónicos digitales.

Profesor: Hernández Bárcenas Raymundo.

Grupo: 6AV2.

Fecha de realización: 25/Febrero/2020.

Fecha de entrega: 2/Marzo/2020.


ÍNDICE
Objetivo. .......................................................................................................................... 3
Marco teórico. ................................................................................................................. 3
Definición de microcontrolador. ................................................................................... 3
Diferencia entre microprocesador y microcontrolador. ................................................ 3
Arquitectura interna. .................................................................................................... 5
Arquitectura Von Neumann. ..................................................................................... 5
Arquitectura Harvard. ............................................................................................... 5
Partes principales. ....................................................................................................... 6
Procesador. .............................................................................................................. 6
Memoria de programa. ............................................................................................. 7
Memoria de datos. ................................................................................................... 7
Líneas de E/S para los controladores periféricos. .................................................... 7
Recursos auxiliares. ................................................................................................. 8
Microcontroladores PIC ............................................................................................... 8
Características. ........................................................................................................ 8
Clasificación. ............................................................................................................ 9
Investigación de microcontroladores. ............................................................................ 10
DSPIC30f4013.................................................................................................... 10
PIC18F67J60...................................................................................................... 11
PIC16F877A ....................................................................................................... 13
TIVA TM4C123G ................................................................................................ 15
MSP-EXP430FR5739 ......................................................................................... 17
23K640 ............................................................................................................... 18
dsPIC30F4011.................................................................................................... 19
dsPIC30F4013.................................................................................................... 22
PIC16F877A/ PIC16LF877A .............................................................................. 24

1
Desarrollo. ..................................................................................................................... 26
Conclusiones. ................................................................................................................ 29
Bibliografía. ................................................................................................................... 29

2
Objetivo.
En esta práctica se busca conocer los fundamentos teóricos de los microcontroladores,
como lo son: definición, características, arquitectura, etc. También es importante
diferenciar los microcontroladores de los microprocesadores y dar una breve introducción
a los microcontroladores PIC (circuito integrado programable).
Conociendo estos fundamentos, se busca realizar algunos ejercicios especificados
con microcontroladores mediante el uso de programación en C y el software Proteus para
la visualización de los circuitos desarrollados.

Marco teórico.
Definición de microcontrolador.
Un microcontrolador, también conocido como microcomputadora, es un circuito integrado
programable que contiene todos los componentes de un computador. Se emplea para
controlar el funcionamiento de una tarea determinada y, debido a su reducido tamaño,
suele ir incorporado en el propio dispositivo al que gobierna.

Diferencia entre microprocesador y microcontrolador.


Como lo dice su nombre, un microprocesador es la unidad central de procesamiento,
éstos no incorporan puertos para el control de periféricos ni memoria de programa ni
tampoco memoria de datos. Están diseñados con el fin de procesar grandes cantidades
de datos y son muy susceptibles al ruido eléctrico.
Por otro lado, un microcontrolador es de cierta manera “una pequeña computadora
inyectada en un chip”. Están diseñados para el control industrial, éstos no son diseñados
para el procesamiento de datos en cantidades grandes.
La principal ventaja de los microcontroladores es la alta inmunidad al ruido, así como
su bajo costo y la minimización de espacio.
Otra manera de definir la diferencia entre microcontroladores y microprocesadores es
la establecida por Angulo, J. y Angulo, I. en el libro Microcontroladores PIC. Diseño
práctico de aplicaciones, quienes definen esta diferencia de la siguiente manera:

3
Un microprocesador es un sistema abierto con el que puede construirse un
computador con las características que se desee, acoplándole los módulos necesarios.
En la ilustración 1 podemos observar que la disponibilidad de buses en el exterior permite
que se configure el microprocesador a la medida de la aplicación.

Ilustración 1. Estructura de un sistema abierto basado en un microprocesador.

Un microcontrolador es un sistema cerrado que contiene un computador completo


y de prestaciones limitadas que no se pueden modificar. En la ilustración 2 podemos
observar que todas las partes del computador están contenidas en su interior y sólo salen
al exterior las líneas que gobiernan los periféricos.

Ilustración 2. Microcontrolador en un sistema cerrado.

4
Arquitectura interna.
Dentro de los microcontroladores existen dos arquitecturas básicas de hardware, las
cuales sirven para definir la estructura del funcionamiento del microcontrolador, éstas
son: la arquitectura Von Neumann y la arquitectura Harvard.
Arquitectura Von Neumann.
Se caracteriza por tener una memoria única para los datos y las instrucciones del
programa. A dicha memoria se accede a través de un sistema de buses único (control,
direcciones y datos).

Ilustración 3. Esquema de arquitectura Von Neumann.

Arquitectura Harvard.
Este modelo tiene la unidad central de proceso (CPU) conectada a dos memorias, una
con las instrucciones y otra con los datos, por medio de dos buses diferentes. Una de las
memorias contiene solamente las instrucciones del programa (Memoria de Programa), y
la otra sólo almacena datos (Memoria de Datos).

Ilustración 4. Esquema de arquitectura Harvard.

5
Partes principales.
Independientemente del tipo de arquitectura que tenga el microcontrolador, éste
posee todos los componentes de un computador, pero con unas características fijas
que no pueden alterarse. Las partes principales de un microcontrolador son:
1) Procesador.
2) Memoria no volátil para contener el programa.
3) Memoria de lectura y escritura para guardar datos.
4) Líneas de Entrada y Salida para controladores periféricos:
a) Comunicación en paralelo.
b) Comunicación en serie.
c) Diversas puertas de comunicación.
5) Recursos auxiliares:
a) Circuito de reloj.
b) Temporizadores.
c) Perro Guardián (watchdog).
d) Conversores AD y DA.
e) Comparadores analógicos.
f) Protección ante fallos de la alimentación.
g) Estado de reposo o de bajo consumo.
Procesador.
Es el elemento más importante del microcontrolador y determina sus principales
características, tanto a nivel hardware como software. Se encarga de direccionar la
memoria de instrucciones, recibir el código OP de la instrucción en curso, su
decodificación y la ejecución de la operación que implica la instrucción, así como la
búsqueda de los operandos y el almacenamiento del resultado.
La necesidad de conseguir elevados rendimientos en el procesamiento de las
instrucciones ha desembocado en el empleo generalizado de procesadores de
arquitectura Harvard frente a los tradicionales que seguían la arquitectura de von
Neumann.
En la arquitectura Harvard son independientes la memoria de instrucciones y la
memoria de datos, de igual forma, cada una dispone de su propio sistema de buses para
el acceso. Esta dualidad, además de propiciar el paralelismo, permite la adecuación del
tamaño de las palabras y los buses a los requerimientos específicos de las instrucciones
y de los datos.

6
Memoria de programa.
El microcontrolador está diseñado para que en su memoria de programa se almacenen
todas las instrucciones del programa de control. Como el programa a ejecutar siempre
es el mismo, debe estar grabado de forma permanente. Los tipos de memoria adecuados
para soportar esta función admiten cinco versiones diferentes:

1) ROM con máscara. En este tipo de memoria el programa se graba en el chip durante
el proceso de su fabricación mediante el uso de «máscaras».
2) EPROM. La grabación de esta memoria se realiza mediante un dispositivo físico
gobernado desde un computador personal, que recibe el nombre de grabador. En la
superficie de la cápsula del microcontrolador existe una ventana de cristal por la que
se puede someter al chip de la memoria a rayos ultravioletas para producir su borrado
y emplearla nuevamente.
3) OTP (Programable una vez). Este modelo de memoria sólo se puede grabar una
vez por parte del usuario, utilizando el mismo procedimiento que con la memoria
EPROM.
4) EEPROM. La grabación es similar a las memorias OTP y EPROM, pero el borrado es
mucho más sencillo al poderse efectuar de la misma forma que el grabado, o sea,
eléctricamente
5) FLASH. Se trata de una memoria no volátil, de bajo consumo, que se puede escribir
y borrar en circuito al igual que las EEPROM, pero suelen disponer de mayor
capacidad que estas últimas. El borrado sólo es posible con bloques completos y no
se puede realizar sobre posiciones concretas.
Memoria de datos.
Los datos que manejan los programas varían continuamente, y esto exige que la
memoria que les contiene debe ser de lectura y escritura, por lo que la memoria RAM
estática (SRAM) es la más adecuada, aunque sea volátil.
Hay microcontroladores que también disponen como memoria de datos una de lectura
y escritura no volátil, del tipo EEPROM. De esta forma, un corte en el suministro de la
alimentación no ocasiona la pérdida de la información, que está disponible al reiniciarse
el programa.
Líneas de E/S para los controladores periféricos.
Las líneas de Entrada y Salida (E/S) permiten comunicar al procesador con el mundo
exterior, a través de interfaces, o con otros dispositivos mediante puertos. Estos puertos
son la principal utilidad de las patas o pines de un microprocesador. Las líneas de E/S
que se adaptan con los periféricos manejan información en paralelo y se agrupan en
conjuntos de ocho, que reciben el nombre de Puertas.

7
Recursos auxiliares.
Según las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador,
incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del
dispositivo. Entre los recursos más comunes, se encuentran los siguientes:
a) Circuito de reloj. Es el encargado de generar los impulsos que sincronizan el
funcionamiento de todo el sistema.
b) Temporizadores. Se emplean para controlar periodos de tiempo
(temporizadores) y para llevar la cuenta de acontecimientos que suceden en el
exterior (contadores).
c) Perro Guardián (watchdog). Recurso destinado a provocar un reinicio cuando el
programa queda bloqueado.
d) Conversores AD y DA. Convertidores encargados de transformar las señales
analógicas a digitales y viceversa para el manejo de los datos procesados.
e) Comparadores analógicos. Amplificador Operacional que actúa como
comparador entre una señal fija de referencia y otra variable que se aplica por una
de las patitas de la cápsula.
f) Protección ante fallos de la alimentación.
g) Estado de reposo o de bajo consumo. Estado en el cual el sistema queda
“congelado” y el consumo de energía se reduce al mínimo.

Microcontroladores PIC
Los microcontroladores PIC de Microchip han tenido un gran éxito en los últimos años
debido a:

• Buena relación precio/prestaciones.


• Facilidad de desarrollo de aplicaciones basadas en ellos.
• Facilidad de reprogramación (la mayoría usan memoria tipo FLASH).
• Existencia de diversas herramientas de programación de libre distribución, así
como extensa documentación de los microcontroladores.
• Disponibilidad como circuitos normalizados.
Características.
Los microcontroladores PIC cuentan con las siguientes características generales:

• Arquitectura interna. Tipo Harvard, la memoria de datos se estructura en


palabras de ocho bits y la memoria de programa en palabras de 12, 14 o 16 bits.
• Repertorio de instrucciones. Son procesadores tipo RISC porque el número
de instrucciones de su repertorio es reducido (varía entre 33 y 77).

8
• Memoria. Poseen una memoria de datos volátil (RAM) de pequeña capacidad
comprendida entre 25 y 3840 octetos y direccionada por la memoria no volátil
que contiene el programa.
• Programación. Su programación se realiza mediante un canal de comunicación
serie denominado ICSP (In-Circuit Serial Programming).
Clasificación.
Los microcontroladores PIC se clasifican en cuatro gamas, las cuales se diferencian en
el número de bits de sus instrucciones:

• Gama baja (Base line). Posee instrucciones de 12 bits.


• Gama media (Mid range). Posee 14 bits de instrucciones.
• Gama alta (High End). Instrucciones de 16 bits.
• Mejorada (Enhanced). Al igual que la gama alta, posee instrucciones de 16 bits.

Tabla 1. Clasificación y nomenclatura de las gamas de microcontroladores PIC.

9
Investigación de microcontroladores.
DSPIC30f4013

• Controlador digital de señales de 16 bits


• Memoria de programa flash de 48 kB
• RAM de 2048 Bytes
• EEPROM de datos de 1024 Bytes
• Velocidad de la CPU hasta 30 MIPS
• Oscilador externo: DC hasta 40 MHz
• 33 fuentes de interrupciones (3 externas)
• ADC de 12 bits, 200 ksps y 13 canales
• Funciones DSP de un solo ciclo
• Desplazamiento de ±16 bits de un solo ciclo
• Modos de direccionamiento de módulo y bit-inverso
• 2 acumuladores de 40 bits con lógica de saturación opcional
• Multiplicador de enteros y fraccionarios por hardware de 17bits x 17bits y un solo
ciclo de instrucciones
• Interfaz de conversión de datos que soporta codecs de audio comunes incluyendo
AC'97 y I²S
• 5 timers de 16 bits (Se pueden aparejar para formar de 32 bits)
• 2 UART's
• Puertos SPI, I²C, y CAN
• Voltaje de operación 2.5 V a 5.5 V
• Bajo consumo de potencia
• Reset Brown-Out programable
• Power-on Reset, Power-up Timer y Oscillator Start-up Timer
• Flexible Watchdog Timer (WDT)
• Soporta 10,000 ciclos de borrado/escritura en memoria flash para el rango de
temperatura industrial

10
• Soporta 100,000 ciclos de borrado/escritura en memoria EEPROM para el rango
de temperatura industrial
• Protección de código y datos programable
• Encapsulado DIP de 40 pines

PIC18F67J60

• Fabricante: Microchip
• Categoría de producto: Microcontroladores de 8 bits - MCU
• RoHS: Detalles
• Estilo de montaje: SMD/SMT
• Paquete / Cubierta: TQFP-64
• Núcleo: PIC
• Ancho de bus de datos: 8 bit
• Frecuencia de reloj máxima: 41.667 MHz
• Tamaño de memoria del programa:128 kB
• Tamaño de RAM de datos: 12 kB
• Resolución del conversor de señal analógica a digital (ADC): 10 bit
• Número de entradas / salidas: 39 I/O
• Voltaje de alimentación operativo: 2 V to 2.7 V
• Temperatura de trabajo mínima: - 40 C
• Temperatura de trabajo máxima: + 100 C
• Altura: 1 mm
• Longitud: 10 mm
• Producto: MCU
• Tipo de memoria de programa: Flash
• Ancho:10 mm
• Marca: Microchip Technology
• Tipo de Ram de datos: RAM
• Tipo de interfaz: Display Driver, EUSART, Ethernet, I2C, MSSP, SPI
• Sensibles a la humedad: Yes
• Cantidad de canales del conversor de señal analógica a digital (ADC): 11 Channel
• Cantidad de temporizadores/contadores: 5 Timer
• Serie de procesadores: PIC18
• Tipo de producto: 8-bit Microcontrollers - MCU
• Subcategoría: Microcontrollers - MCU
• Voltaje de alimentación - Máx.: 2.7 V, 3.6 V, 3.9 V
• Voltaje de alimentación - Mín.: 1.7 V, 2 V
• Peso de la unidad: 360.600 mg

11
12
PIC16F877A

• Memoria ROM: 8Kb


• Memoria RAM: 368 x 8 bytes
• Pines I/O: 33
• Frecuencia: 20 Mhz con cristal externo
• Permite programación ICSP

• Frecuencia de operación 0-20 MHz


• Oscilador interno de alta precisión
• Calibrado de fábrica
• Rango de frecuencia de 8MHz a 31KHz seleccionado por software.
• Voltaje de la fuente de alimentación de 2.0V a 5.5V
• Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de
espera)
• Ahorro de energía en el Modo de suspensión
• Brown-out Reset (BOR) con opción para controlar por software
• 33 pines de entrada/salida
• alta corriente de fuente y de drenador para manejo de LED
• resistencias pull-up programables individualmente por software
• interrupción al cambiar el estado del pin
• memoria ROM de 8K con tecnología FLASH
• El chip se puede re-programar hasta 100.000 veces
• Opción de programación serial en el circuito
• El chip se puede programar incluso incorporado en el dispositivo destino.


256 bytes de memoria EEPROM
• Los datos se pueden grabar más de 1.000.000 veces
• 368 bytes de memoria RAM
• Convertidor A/D:
• 14 canales
• resolución de 10 bits
• 3 temporizadores/contadores independientes
• Temporizador perro guardián
• Módulo comparador analógico con
• Dos comparadores analógicos
• Referencia de voltaje fija (0.6V)
• Referencia de voltaje programable en el chip
• Módulo PWM incorporado
• Módulo USART mejorado
• Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
• Auto detección de baudios
• Puerto Serie Síncrono Maestro (MSSP)
Soporta los modos SPI e I2C.

13
14
TIVA TM4C123G
La TM4C Series TM4C123G LaunchPad es una mejora de la TI de la Stellaris LaunchPad
añadiendo opciones de soporte de PWMs para control de movimiento y con soporte de
USB Host.

15
16
MSP-EXP430FR5739

El circuito MSP-EXP430FR5739 Experimenter es una plataforma de desarrollo para


los dispositivos MSP430FR57xx. Soporta la nueva generación de
microcontroladores MSP430 con memoria de acceso aleatorio ferroeléctrica
integrada (FRAM). El circuito es compatible con módulos de evaluación inalámbricos
RF de baja potencia TI como el CC2520EMK. El circuito Experimenter ayuda al
diseñador rápidamente a aprender y desarrollar usando los nuevos MCUs
MSP430FR57xx, siendo los dispositivos de más bajo consumo de la industria, baja
lectura/escritura de datos y de un imbatible rendimiento de memoria. El dispositivo
MSP430FR5739 en el circuito de experimentación puede ser alimentado y depurado
a través del integrado ezFET, ó vía TI Flash Emulation Tool, como el MSP-
FET430UIF.
• MSP430FR5739 integrado: 16kB FRAM / 1kB SRAM, 16bit RISC
Architecture hasta 8MHz
• Acelerómetro ADXL335
• Termistor NTC como sensor de temperatura
• Ocho LEDs para mostrar la salida
• Superficie adicional para sensor LDR
• Dos interruptores de entrada de usuario y un interruptor reset
• Conectividad para el circuito MSP-EXP430F5438 Experimenter
• Código de demostración preinstalado
• Conectividad a placas daughter tipo CCxxx radio
• Pins fácilmente accesibles para propósitos de depuración ó como socket
para añadir extensiones

17
23K640

Módulo Serial de SRAM de bajo consumo de 64 Kbit con una


interfaz SPI (Serial Peripheral Interface). Se requiere de una
señal de reloj además de líneas de entrada y salida de datos
independiente.

• Rango de voltaje: 2.7 -3.6 V


• Rango de temperatura:
o Industrial: -40°C - 85°C
o Automotriz: -40°C - 125°C
• Máxima frecuencia de reloj: 20 MHz
• Página: 32 Bytes
• Lectura/Escritura secuencial
• Modos de operación:
o Lectura y escritura por Byte
o Por página (32 Bytes)
o Modo secuencial

18
Nombre Función
CS Chip Select Selección de chip
Input
SO Serial Data Salida de datos
Output
Vss Ground Tierra
SI Serial Data Entrada de datos
Input
SCK Serial Clock Reloj
Input
HOLD Hold Input Botón hold
Vcc Supply Voltage Voltaje de
alimentación

dsPIC30F4011

Es un controlador de señales
digitales de 16 bits de alto
rendimiento con arquitectura
Harvard modificada y optimizado
para bloques de instrucciones en
C.

Características:

• Memoria Flash: 48 Kilobytes


• RAM on-chip: 2Kilobytes
• Convertidor análogo-digital de 10 bits
• 30 fuentes de interrupción
• Módulo de 40/44 pines
• Oscilador de bajo consumo
• Perro guardián (WDT)
• 30 líneas I/O digitales (PB:9, PC:4, PD:4, PE:7, PF:7)
• Corriente de descarga/suministro en puertos: 25 mA
• Rango de alimentación: 2.5 – 5.5 V
• Frecuencia máxima de 40 MHz

19
Nombre Función
AN0-AN8 Analog inputs
AVdd Positive supply for analog module
AVss Ground for analog module
CLK1 External clock source input
CLKO Oscillator crystal output.
CN0-CN7
Input change notification inputs
CN17-CN18
C1RX CAN1 bus receive pin.
C1TX CAN1 bus transmit pin.
EMUD
EMUC
EMUD1
EMUC1
ICD Communication Channel data input/output pins
EMUD2
EMUC2
EMUD3
EMUC3
IC1, IC2, IC7,
Capture inputs
IC8
INDX Quadrature Encoder Index Pulse input
QEA Quadrature Encoder Phase A input in QEI mode
QEB Quadrature Encoder Phase B input in QEI mode
INT0
INT1 External interrupts
INT2
MCLR Master Clear (Reset) input or programming voltage input.

20
OCFA
Compare Fault A input
OC1-OC4
OSC1 Oscillator crystal input
OSC2 Oscillator crystal input/output
PGD In-Circuit Serial Programming data input/output pin.
PGC In-Circuit Serial Programming clock input pin.
RB0-RB8
RC13-RC15
RD0-RD3
Bidirectional I/O ports
RE0-RE5,
RE8
RF0-RF6
SCK1 Synchronous serial clock input/output for SPI1
SDI1 SPI1 data in
SDO1 SPI1 data out
SS1 SPI1 slave synchronization
SCL Synchronous serial clock input/output
SDA Synchronous serial data input/output for
SOSCO 32 kHz low-power oscillator crystal output
SOSCI 32 kHz low-power oscillator crystal input
T1CK
External clock inputs
T2CK
U1RX
U1TX
U1ARX (UxRx)UART receive
U1ATX (UxTx)UART transmit
U2RX
U2TX
VDD Positive supply for logic and I/O pins
VSS Ground reference for logic and I/O pins
VREF+ Analog voltage reference (high) input
VREF- Analog voltage reference (low) input

21
dsPIC30F4013

Al igual que el integrado anterior,


se trata de un controlador de
señales digitales de 16 bits de
alto rendimiento con arquitectura
Harvard modificada con ciertas
mejoras.

Características:

• Memoria Flash: 48 Kilobytes


• RAM on-chip: 2Kilobytes
• Convertidor análogo-digital de 12 bits (13 entradas, disponibilidad Sleep & Idle)
• 30 fuentes de interrupción
• Módulo de 40/44 pines
• Oscilador de bajo consumo
• Perro guardián (WDT)
• 28 líneas I/O digitales (PA:1, PB:13, PC:3, PD:5, PF:6)
• Corriente de descarga/suministro en puertos: 25 mA
• Rango de alimentación: 2.5 – 5.5 V
• Frecuencia máxima de 40 MHz

22
Nombre Función
AN0-AN12 Analog inputs
AVdd Positive supply for analog module
AVss Ground for analog module
CLK1 External clock source input
CLKO Oscillator crystal output.
CN0-CN7
Input change notification inputs
CN17-CN18
C1RX CAN1 bus receive pin.
C1TX CAN1 bus transmit pin.
COFS Data Converter Interface Frame Synchronization pin
CSCK Data Converter Interface Serial Clock input/output pin
CSDI Data Converter Interface Serial data input pin
CSDO Data Converter Interface Serial data output pin
EMUD
EMUC
EMUD1
EMUC1
ICD Communication Channel data input/output pins
EMUD2
EMUC2
EMUD3
EMUC3
IC1, IC2, IC7,
Capture inputs
IC8
INDX Quadrature Encoder Index Pulse input
QEA Quadrature Encoder Phase A input in QEI mode
QEB Quadrature Encoder Phase B input in QEI mode
INT0
INT1 External interrupts
INT2
LVDIN Low-Voltage Detect Reference Voltage Input pin
MCLR Master Clear (Reset) input or programming voltage input.
OCFA
Compare Fault A input
OC1-OC4
OSC1 Oscillator crystal input
OSC2 Oscillator crystal input/output
PGD In-Circuit Serial Programming data input/output pin.
PGC In-Circuit Serial Programming clock input pin.
RA11
RB0-RB12
RC13-RC15 Bidirectional I/O ports
RD0-RD3
RD8, RD9

23
RF0-RF5
SCK1 Synchronous serial clock input/output for SPI1
SDI1 SPI1 data in
SDO1 SPI1 data out
SS1 SPI1 slave synchronization
SCL Synchronous serial clock input/output
SDA Synchronous serial data input/output for
SOSCO 32 kHz low-power oscillator crystal output
SOSCI 32 kHz low-power oscillator crystal input
T1CK
External clock inputs
T2CK
U1RX
U1TX (UxRx)UART receive
U1ARX (UxTx)UART transmit
U1ATX
VDD Positive supply for logic and I/O pins
VSS Ground reference for logic and I/O pins
VREF+ Analog voltage reference (high) input
VREF- Analog voltage reference (low) input

PIC16F877A/ PIC16LF877A

Forma parte de una subfamilia de


microcontroladores de PIC
(Peripheral Interface Controller).
Cuentan con memoria de programa
de tipo EEPROM Flash mejorada. La
“A” al final indica que cuenta con un
módulo de comparación analógico.
Caracteristicas:

• Tipo de memoria: Flash


• Rango de voltaje: 2 a 5.5 V
• Rango de temperatura: -40 a 125 ºC
• Tamaño de programas: 14 KB
• Velocidad del CPU: 5 MIPS
• Pines: 40
• RAM: 328 Bytes
• Timers: 2 x 8-bit, 1 x 16-bit

24
Nombre Función
MCLR/Vpp Master clear (input)/Programming voltage(output)
RX0-RX7 Digital I/O
AN0-AN7 Analog input
Vref+ A/D reference (high) voltage output
Vref- A/D reference (low) voltage input
CVref Comparator Vref output
TXCKI Timer external cock input
C1OUT- Comparator output
C2OUT
Vdd Positive supply for logic and I/O pins
Vss Ground reference for logic and I/O pins
OSC1/CLKI Oscillator crystal/Externa clock input
OSC2/CLKO Oscillator crystal/Externa clock output
SS SPI slave select input
INT External interrupt
PGM Low-voltage ICSP programming enable pin
PGC In-circuit debugger and ICSP programming clock
PGD In-circuit debugger and ICSP programming data
T1OSO/T1OSI Timer1 external clock output
CCPX Capture X input, Compare X output
DT USART synchronous data
RX USART asynchronous receive
SCL Synchronous serial clock input/output for I2C mode
SCK Synchronous serial clock input/output for SPI mode
SDI I2C data I/O
SDO SPI data out
TX USART asynchronous transmit
CK USART1 synchronous clock

25
Desarrollo.
La primera parte de la práctica consistía en revisar los archivos del entrenador UNO, y
modificarlos para que se lograran ejecutar las condiciones del ejercicio 1.
Ejercicio 1. Escribe el código fuente de un programa escrito en lenguaje C, el cual
gobierne un micro controlador (PIC16F84), este programa debe configurar las líneas de
la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho programa
debe enviar el siguiente tren de información hacia la PUERTAB del PIC: 1, 2, 4 ,8,
16,32,64 y 128, cada dato debe enviarse a dicho puerto por un periodo de tiempo igual
a 3 milisegundos , es decir se envía un 1 por tres milisegundos y enseguida se envía un
2 por el mismo lapso de tiempo, del mismo modo con los 8 valores solicitados. Una vez
que hallas escrito tu programa compílalo y pruébalo con ayuda del isis..
El problema pide que se muestren potencias de 2, algo que se consigue con un ciclo.
Es cierto que las potencias no son muchas, y se podría escribir manualmente cada valor,
pero esa respuesta es poco elegante. Entonces, se hace uso de un ciclo for, el cual ya
estaba en el código original. Simplemente se modifica la variable ciclos para que llegue
hasta 7. Y se utiliza una variable auxiliar, para obtener las potencias indirectamente. A
continuación se muestra el ciclo for modificado (el resto del código no se modifica,
además, se anexa también).

Cabe aclarar que el delay se aumentó, pues con 3 milisegundos como afirma el
enunciado, los resultados son imposibles de ver. Se ejecuta demasiado rápida la
simulación.

El resultado es que solo se enciende un LED a la vez, y estos LED se muestran en


una especie de escalera descendiente. Y eso es todo en esta parte.

26
La segunda parte consistía en resolver los ejercicios 2 y 3 del PDF. Ambos resultan
muy similares y parten del entrenador básico DOS. Los enunciados son:

Ejercicio 2: Edita el código fuente del programa llamado “DOS.c” escrito en lenguaje C,
el cual gobierne un micro controlador (PIC16F84), este programa configurara las líneas
de la PUERTAA como entradas y las líneas de la PUERTAB como salidas, dicho
programa debe enviar activar un display de 7 segmentos de cátodo común, es decir la
terminal común para los diodos que forman el display debe conectarse a tierra. Debe
visualizarse un conteo ascendente en el display de 0 a 9, cada número se visualizara por
dos segundos, una vez concluido el conteo debe detenerse y apagarse el display. Una
vez que hallas escrito tu programa compílalo y pruébalo con ayuda del isis..

Ejercicio 3: Una vez que hallas concluido el ejercicio número 2, realiza lo siguiente: Edita
el código fuente que realizaste en el ejercicio anterior, el programa debe permitir que el
usuario accione los cinco interruptores conectados a la PUERTAA del micro controlador
(el usuario puede accionar uno o varios interruptores a la vez), dependiendo del estado
del o los interruptores accionados (abierto o cerrado), en el display de debe visualizarse
el número correspondiente. Recuerda que con 5 bits puedes tener hasta 31 valores
diferentes. Pero con un dysplay de 7 segmentos únicamente puedes visualizar del
numero 0 al numero 9.

Para este ejercicio, lo primero fue buscar a que segmento correspondía cada entrada.

27
La figura muestra que:
Segmento Salida en binario
A 1
B 10
C 100
D 1000
E 10000
F 100000
G 1000000

Entonces, a cada segmento corresponde una potencia de 2. Por tanto, ahora se


dibujaron mentalmente qué segmentos se iluminarían para mostrar todos los digitos
pedidos. Depués se escribió como si fuera la salida en binario (la cual no mostraba
ninguna secuencia, así que se ingresaron las 16 opciones manualmente). Finalmente,
esta salida se transformó a decimal, el cual es el valor de la variable “x”.
Por ejemplo, para el número 4, se deben de encender los segmentos B, C, F y G.
Sumando sus salidas, se tiene 11001102, pasado a decimal queda 102. Escrito en el
código:

Y así para todos los dígitos del sistema hexadecimal. Para la parte final, la de los
interruptores; se usó un if para controlar la entrada de los 5 interruptores. Solo se
consideró que hubiera un switch a la vez, en caso de más, no se muestra nada. Entonces,
el control de los interruptores queda:

28
La salida fue propuesta por el equipo, para que muestre los números del 0 al 4, según
el interruptor encendido. Las entradas de voltaje siempre son potencias de 2, y estas son
las condiciones del if, en las cuales se le asigna el valor a x que corresponde con la salida
del dígito a mostrar.

Conclusiones.
La práctica resultó una introducción al entorno de Proteus así como de PIC C. Se
recordaron los conocimientos vistos en los cursos de programación de semestres
pasados, haciendo uso de condicionales, ciclos, apuntadores, etc. Se puso en práctica
la conversión de sistemas de numeración, al interpretar las salidas mostradas en binario
a sistema decimal para las variables int32. Se aprendieron nuevas funciones y librerías
de programación para las simulaciones de circuitos. Se jugó con los códigos ya
proporcionados para que, con un mismo proyecto de Proteus, se realicen acciones
distintas.

Bibliografía.
• Angulo, I. & Angulo, J. (2003). Microcontroladores PIC. Diseño práctico de
aplicaciones (pp. 1-9). España: McGraw-Hill. Recuperado de:
https://electrichead.files.wordpress.com/2008/08/electronica-pic-diseno-practico-
aplicaciones.pdf
• Anónimo. El microcontrolador. Ciudad de México: UNAM. Recuperado de:
http://www.ptolomeo.unam.mx:8080/jspui/bitstream/132.248.52.100/760/4/A4.pdf
• Benchimol, D. (2011). Microcontroladores: funcionamiento, programación y
aplicaciones prácticas (pp. 92, 102-106). Users. Colección: desde cero. Buenos
Aires: Fox Andina.
• Mandado, E. (2007). Microcontroladores PIC: sistema integrado para el
autoaprendizaje (pp. 47-49). Barcelona: Marcombo. Recuperado de:
https://books.google.com.mx/books?id=86uGLMp4vgAC&printsec=frontcover&so
urce=gbs_ge_summary_r&cad=0#v=onepage&q&f=false

29

También podría gustarte