Está en la página 1de 14

Instituto Tecnolgico de Toluca

Microcontroladores.
Ing. Carlos Eduardo Torres Reyes

Reporte
Contador de 0 a F.

Equipo:
Anguiano Ramrez Alberto
Medina Martnez Sergio Ivn
Eduardo Linares Aldair

Semestre: 8

Fecha: 20/02/2016

ndice
ndice.1
Introduccin..2
Objetivo.3
Marco terico3
Desarrollo..8

Introduccin

Primero que todo comenzaremos definiendo que son los microcontroladores: Los
microcontroladores (abreviado C, UC o MCU) son circuitos integrados que son capaces de
ejecutar ordenes que fueron grabadas en su memoria. Su composicin est dada por varios bloques
funcionales, los cuales cumplen una tarea especfica, son dispositivos que operan uno o ms
procesos, por lo general los microcontroladores estn basados en la arquitectura de Harvard, la cual
consiste en dispositivos de almacenamiento separados (memoria de programa y memoria de datos).
En fin un microcontrolador es un sistema completo, con unas prestaciones limitadas que no pueden
modificarse y que puede llevar a cabo las tareas para las que ha sido programado de forma
autnoma.
Los microcontroladores se utilizan ampliamente en: industria del automvil, industria de los
electrodomsticos, informtica, industria de imagen y sonido. Pero en la industria en general se
utilizan en: regulacin, automatismos, robtica.

Objetivo

Poder realizar un contador de 0 a f, que ser visualizado en un display de 7 segmentos.

Marco Terico
El display de 7 segmentos o visualizador de 7 segmentos es un componente que se utiliza para la
representacin de nmeros en muchos dispositivos electrnicos debido en gran medida a su
simplicidad. Aunque externamente su forma difiere considerablemente de un diodo LED (diodos
emisores de luz) tpico, internamente estn constituidos por una serie de diodos LED con unas
determinadas conexiones internas, estratgicamente ubicados de tal forma que forme un nmero 8.
A cada uno de los segmentos que forman el display se les denomina a, b, c, d, e, f y g y estn
ensamblados de forma que se permita activar cada segmento por separado consiguiendo formar
cualquier dgito numrico. A continuacin se muestran algunos ejemplos:
Si se activan o encienden todos lossegmentos se forma el nmero "8".
Si se activan slo los segmentos: "a, b, c, d, e, f," se forma el nmero "0".
Si se activan slo los segmentos: "a, b, g, e, d," se forma el nmero "2".
Si se activan slo los segmentos: "b, c, f, g," se forma el nmero "4".
No es ni ms ni menos que un conjunto de 7 leds conectados y posicionados apropiadamente.
Encendiendo algunos de ellos y apagando otros podemos ir formando diferentes nmeros. Veamos
la disposicin de los segmentos:

Dependiendo
de la tensin
aplicada
obtendremos
una intensidad. Es aconsejable no sobrepasar la Vcc recomendada. Si se alcanza la Vcc mxima se
puede destruir el segmento.

Microcontrolador
Un microcontrolador es un circuito integrado que incluye en su interior las tres unidades
funcionales de una computadora: unidad central de procesamiento, memoria y perifricos de
entrada y salida.
La memoria del programa en forma de flash ROM a menudo se incluyen en el chip, as como una
pequea cantidad de RAM . Estos son diseados para aplicaciones embebidas, en contraste con los
microprocesadores utilizados en computadoras personales u otras aplicaciones de propsito general.
Algunos microcontroladores pueden utilizar bits de palabras de cuatro y funcionan a la velocidad de
la frecuencia de un reloj incorporado tan bajas como 4 [kHz], de bajo consumo de energa. Por lo
general, tendr la capacidad de conservar la funcionalidad a la espera de un evento como pulsar un
botn u otra interrupcin.
En la imagen siguiente se puede observar la estructura bsica del microcontrolador.

Los registros Son un espacio de memoria muy reducido pero necesario para cualquier
microprocesador, de aqu se toma los datos para varias operaciones que debe realizar el resto de los
circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecucin de
instrucciones, cargar datos desde la memoria externa o almacenarlos en ella. Mientras mayor sea el
nmero de bits de los registros de datos del procesador, mayores sern sus prestaciones, en cuanto a
poder de cmputo y velocidad de ejecucin, ya que este parmetro determina la potencia que se
puede incorporar al resto de los componentes del sistema.

La unidad de control es de las ms importantes en el procesador, en ella recae la lgica necesaria


para la decodificacin y ejecucin de las instrucciones, el control de los registros, la ALU, los buses
y cuanta cosa ms se quiera meter en el procesador. La unidad de control es uno de los elementos
fundamentales que determinan las prestaciones del procesador, ya que su tipo y estructura,
determina parmetros tales como el tipo de conjunto de instrucciones, velocidad de ejecucin,
tiempo del ciclo de mquina, tipo de buses que puede tener el sistema, manejo de interrupciones y
un buen nmero de cosas ms que en cualquier procesador van a parar a este bloque.

La unidad aritmtico-lgica
Como los procesadores son circuitos que hacen bsicamente operaciones lgicas y matemticas, se
le dedica a este proceso una unidad completa, con cierta independencia. Aqu es donde se realizan
las sumas, restas, y operaciones lgicas tpicas del lgebra.
Actualmente este tipo de unidades ha evolucionado mucho y los procesadores ms modernos tienen
varias ALU, especializadas en la realizacin de operaciones complejas como las operacionesen
coma flotante.

Memoria

El microcontrolador est diseado para que en su memoria de programa se almacenen todas las
instrucciones del programa de control. Como ste siempre es el mismo, debe estar grabado de forma
permanente.
Existen algunos tipos de memoria adecuados para soportar estas funciones, de las cuales se
describen las siguientes:
- ROM con mscara: se graba mediante el uso de mscaras. Slo es recomendable para series muy
grandes debido a su elevado coste.
- EPROM: se graba elctricamente con un programador controlador por un PC. Disponen de una
ventana en la parte superior para someterla a luz ultravioleta, lo que permite su borrado. Puede
usarse en fase de diseo, aunque su coste unitario es elevado.
- OTP: su proceso de grabacin es similiar al anterior, pero stas no pueden borrarse. Su bajo coste
las hacen idneas para productos finales.
- EEPROM: tambin se graba elctricamente, pero su borrado es mucho ms sencillo, ya que
tambin es elctrico. No se pueden conseguir grandes capacidades y su tiempo de escritura y su
consumo es elevado.
- FLASH: se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar en
circuito al igual que las EEPROM, pero que suelen disponer de mayor capacidad que estas ltimas.
Son recomendables aplicaciones en las que es necesario modificar el programa a lo largo de la vida
del producto. Por sus mejores prestaciones, est sustituyendo a la memoria EEPROM para contener
instrucciones.

Lenguaje
Lenguaje de mquina es el sistema de cdigos directamente interpretable por un circuito
microprogramable, como el microprocesador de una computadora o el microcontrolador de un
autmata. Este lenguaje est compuesto por un conjunto de instrucciones que determinan acciones a
ser tomadas por la mquina. Un programa consiste en una cadena de estas instrucciones de lenguaje
de mquina (ms los datos). Estas instrucciones son normalmente ejecutadas en secuencia, con
eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de
mquina es especfico de cada mquina o arquitectura de la mquina, aunque el conjunto de
instrucciones disponibles pueda ser similar entre ellas.

El lenguaje ensamblador, o programacin de bajo nivel otros circuitos integrados programables.


Implementa una representacin simblica de los de mquina binaria y otras constantes necesarias
para programar una constituyen la representacin ms directa del legible por un programador. Esta
representa de hardware, los registros del procesador, las posicione lenguaje. Un lenguaje
ensamblador es por lo tanto especfico a cierta computador fsica (o virtual). Esto est en contraste
con la mayora de los lenguajes de programacin de alto nivel, que, idealmente son
Un programa utilitario llamado ensamblador al cdigo de mquina del computador objetivo. El
ensamblador realiza una traduccin ms o menos isomorfa las instrucciones y datos de mquina.

Esto est en contraste con los lenguajes de alto nivel, en los cuales una sola declaracin genera
numeracin es de base decimal e cualquier sistema de numeracin posicional.

Desarrollo
El programa fue realizado en lenguaje ensamblador, el cual nos apoyamos utilizando MPLAB, a
continuacin se agrega el programa.
list p=18f4550
#include<P18F4550.INC>
;/***************** PRAGMA CONFIG */

;// CONFIG1L
config PLLDIV = 5
; // Queremos 4MHz a la entrada del PLL, cuya salida es de 96MHz =>
20/5 = 4 (el PLL multiplca por 24 la f de entrada)
config CPUDIV = OSC1_PLL2 ;// Como el reloj se conecta al PLL de 96MHz, queremos que el
pic trabaje a la mitad, es decir 48MHz, que es la max del PIC
config USBDIV = 2
;// El reloj del USB viene del divisor que est a la salida del PLL, para
que la f sea de 48MHz => 96MHz/2 = 48MHz que es la f de un USB de alta velocidad

;// CONFIG1H
config FOSC
config FCMEN
config IESO
arranca

= HSPLL_HS ;// Tenemos XT de alta velocidad y queremos el PLL


= OFF
= OFF

;// Si falla el osc.ppal. NO entra el osc. sec.


;// Al polarizar el PIC NO inicia con el osc.sec mientras el osc.ppal.

;// CONFIG2L
config PWRT

config BOR
umbral
config BORV

= ON

= OFF
=3

config VREGEN = ON
3.3V

;// Retraza el arranque del osc cuando el pic es polarizado

;// NO genera int cuando el voltaje de alimentacin baje de cierto


;// el umbral (no utilizado)

;// ENCENDIDO el Regulador de voltaje del USB, que es de

;// CONFIG2H
config WDT

= OFF

config WDTPS

;// NO se usa el perro guardian

= 32768

;// escala del perro guardian, en caso de utilizarlo

;// CONFIG3L NO HAY

;// CONFIG3H
config CCP2MX = ON

;// CCP2 aparece en RC1 (si fuese OFF, CCP2 aparece en RB3)

config PBADEN = OFF


;// Los pines PB<4:0> se configuran como digitales (si fuese ON, se
configuran como analgicas) al resetear
config LPT1OSC = OFF
config MCLRE

= ON

;// EL Timer1 NO trabaja en modo de bajo consumo


;// la pata del reset SI est

;// CONFIG4L
config STVREN = OFF
config LVP

= OFF

;// NO resetear cuando se desborde la pila


;// NO se quiere voltaje de programacin bajo (Single-Supply ICSP)

config ICPRT = OFF

;// Dedicated In-Circuit Debug/Programming (44 pines)

config XINST = OFF

;// Extended Instruction Set

config DEBUG
= OFF
;// NO modo debug RB6 y RB7 como lneas normales, en
caso contrario, RB6 y RB7 estan dedicadas

;// CONFIG4H NO HAY

;// CONFIG5L
son proteccin de memoria

// Los siguientes

config CP0

= OFF

;// NO protege acceso a 000800-001FFF

config CP1

= OFF

;// NO protege acceso a 002000-003FFF

config CP2

= OFF

;// NO protege acceso a 004000-005FFF

config CP3

= OFF

;// NO protege acceso a 006000-007FFF

;// CONFIG5H

// Los siguientes son proteccin de memoria

config CPB

= OFF

;// NO protege acceso a 000000-0007FF

config CPD

= OFF

;// NO protege EEPROM

;// CONFIG6L

seccin de boot

// Los siguientes son proteccin de memoria

config WRT0

= OFF

;// NO protege escritura de 000800-001FFF

config WRT1

= OFF

;// NO protege escritura de 002000-003FFF

config WRT2

= OFF

;// NO protege escritura de 004000-005FFF

config WRT3

= OFF

;// NO protege escritura de 006000-007FFF

;// CONFIG6H
son proteccin de memoria

// Los siguientes

config WRTB

= OFF

config WRTC
3000FF

= OFF

;// NO protege escrituta de bits de configuracin 300000-

config WRTD

= OFF

;// NO protege escritura de EEPROM

;// CONFIG7L
son proteccin de memoria

;// NO protege escritura de 000000-0007FF seccion de boot

// Los siguientes

config EBTR0 = OFF


001FFF

;// NO protege de lectura desde otros bloques a 000800-

config EBTR1 = OFF


003FFF

;// NO protege de lectura desde otros bloques a 002000-

config EBTR2 = OFF


005FFF

;// NO protege de lectura desde otros bloques a 004000-

config EBTR3 = OFF


007FFF

;// NO protege de lectura desde otros bloques a 006000-

;// CONFIG7H

REG1 EQU 0CH


REG2 EQU 0DH

REG3 EQU 0EH

ORG 00H
MOVLW 00H
MOVWF TRISB,0

INICIO
;MOVLW 3FH
MOVLW 40H
MOVWF PORTB,0
CALL RETARDO
MOVLW 79H
MOVWF PORTB,0
CALL RETARDO
MOVLW 24H
MOVWF PORTB,0
CALL RETARDO
MOVLW 30H
MOVWF PORTB,0
CALL RETARDO
MOVLW 19H
MOVWF PORTB,0
CALL RETARDO
MOVLW 12H
MOVWF PORTB,0
CALL RETARDO
MOVLW 02H
MOVWF PORTB,0
CALL RETARDO
MOVLW 78H
MOVWF PORTB,0
CALL RETARDO

MOVLW 00H
MOVWF PORTB,0
CALL RETARDO
MOVLW 10H
MOVWF PORTB,0
CALL RETARDO
MOVLW 08H
MOVWF PORTB,0
CALL RETARDO
MOVLW 03H
MOVWF PORTB,0
CALL RETARDO
MOVLW 46H
MOVWF PORTB,0
CALL RETARDO
MOVLW 21H
MOVWF PORTB,0
CALL RETARDO
MOVLW 06H
MOVWF PORTB,0
CALL RETARDO
MOVLW 0EH
MOVWF PORTB,0
CALL RETARDO
GOTO INICIO

RETARDO
MOVLW 60
MOVWF REG1
TRES
MOVLW 70

MOVWF REG2
DOS
MOVLW 80
MOVWF REG3
UNO
DECFSZ REG3,1
GOTO UNO
DECFSZ REG2,1
GOTO DOS
DECFSZ REG1,1
GOTO TRES
RETURN

END

Posteriormente se realiz la simulacin en proteus, para comprobar si el programa echo


anteriormente cumpla lo que se quera realizar, se agrega la imagen de la simulacin.

Como paso final se realiz en fsico, obteniendo los resultados como se mostraron en la simulacin.

Conclusin

En esta prctica se pudo obtener lo que tenamos en mente, pues se puso en prctica en dar
de alta puertos del pic, como salidas, como tambin para ir comenzando a entender ms
sobre el funcionamiento del mismo, por otra parte en el tipo de lenguaje se utilizamos nos
queda ms claro de cmo lo va ejecutando como tambin que hace cada una de las
instrucciones.
Otro punto fue que con el programa realizado este mismos pudo ser observado en un
display de 7 segmentos, para esto se realiz un retardo el cual nos da la pauta, para nosotros
podamos observarlo.

También podría gustarte