You are on page 1of 31

UNIVERSIDAD TECNOLGICA DE HONDURAS

INFORME SOBRE PROYECTO PROGRAMA PARA PIC 18F45K22 EN LENGUAJE DE PROGRAMACIN DE ALTO NIVEL MIKOBASIC UTILIZANDO DISPLAY DE SIETE SEGMENTOS.

ASIGNATURA MICROCONTROLADORES

CATEDRTICO: ING. EDUIN FIGUEROA

PRESENTADO POR: LAURA EDELMIRA MIRANDA DOMNGUEZ

SAN PEDRO SULA, 03 DE DICIEMBRE DE 2012

CONTENIDO

Artculo I. Artculo II.

Resumen ....................................................................................................................................... 3 Objetivos....................................................................................................................................... 4 Objetivos generales .............................................................................................................. 4 Objetivos especificos ........................................................................................................... 4 Introduccin ............................................................................................................................. 5 Descripcin del proyecto .......................................................................................................... 6

Seccin 2.01 Seccin 2.02 Artculo III. Artculo IV.

Artculo V. Procedimiento ............................................................................................................................... 6 Artculo VI. Artculo VII. Artculo VIII. Artculo IX. Seccin 9.01 Seccin 9.02 Seccin 9.03 Seccin 9.04 Seccin 9.05 (a) (b) Diagrama de Flujo del programa .............................................................................................. 7 La Funcion Main: ..................................................................................................................... 8 Caractersticas de los Microcontroladores................................................................................ 9 Recursos ................................................................................................................................... 9 MikroBasic .......................................................................................................................... 9 mikroElektronika EasyPIC v7 ........................................................................................ 9 mikroProg Suite para PIC ......................................................................................... 10 mikroProg on board ...................................................................................................... 10 PIC 18F45K22 ................................................................................................................... 10

Caractersticas ............................................................................................................................... 11 Descripcin .................................................................................................................................... 11

Artculo X. Marco conceptual ....................................................................................................................... 12 Artculo XI. Artculo XII. Artculo XIII. Conclusiones .......................................................................................................................... 13 Bibliografa ............................................................................................................................ 14 Anexo ..................................................................................................................................... 15 Anexo. Codigo en MikroBasic Pro .................................................................................... 15

Seccin 13.01

ARTCULO I.

RESUMEN

El proyecto propone crear un programa para el PIC 18F45K22, haciendo uso del lenguaje de programacin de alto nivel MikroBasic utilizando cuatro display de siete segmentos y comprobarlo en el kit de entrenamiento EasyPIC V7. Un microcontrolador es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los elementos que configuran un controlador y que contiene todos los componentes fundamentales de un ordenador, aunque de limitadas prestaciones y que se suele destinar a gobernar una sola tarea. En su memoria slo reside un programa que controla en funcionamiento de una tarea determinada, sus lneas de entrada/salida se conectan a los sensores y actuadores del dispositivo a controlar y, debido a su pequeo tamao, suele ir integrado en el propio dispositivo al que gobierna. MikroBasic PRO es un IDE para desarrollo de aplicaciones especiales para la programacin de Microntroladores especficamente la familia PIC. El Kit EasyPIC v7 es un programador de PIC, el cual realiza de funcin de almacenar el cdigo generado en el IDE dentro de la memoria de programa del PIC. La finalidad del proyecto es crear un programa en MikroBasic Pro el cual el cual consiste inicialmente en un ciclo que muestra las opciones de un men, una a la vez en los display de siete segmentos contenidos en el programador EasyPIC.

ARTCULO II.

OBJETIVOS

SECCIN 2.01

OBJETIVOS GENERALES

Conocer las ventajas de la utilizacin de los programas de alto nivel para la programacin de Microcontroladores. Conocer las ventajas de los programas de alto nivel para la programacin de PICs

SECCIN 2.02

OBJETIVOS ESPECFICOS

Desarrollar un programa para el microcontrolador PIC 18F45K22, utilizando MikroBasic Pro como IDE de desarrollo. Implementar el uso del kit de entrenamiento Easy PIC v7, para programar el microcontrolador. Mostrar las salidas del programa a travs de display de siete segmentos incluidos en el programador EasyPIC.

ARTCULO III.

INTRODUCCIN

Los Microcontroladores son computadores digitales integrados en un chip que cuentan con un microprocesador o unidad de procesamiento central (CPU), una memoria para almacenar el programa, una memoria para almacenar datos y puertos de entrada salida.

Los PIC son una familia de Microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la divisin

de microelectrnica de General Instrument.


Para que se usan? Por nombrar varios ejemplos de aplicaciones, tenemos mandos a distancia, termmetros digitales, controles de acceso por puertas de seguridad, los sistemas ABS o EPS de los coches, control y sensrica de maquinaria, domtica del hogar, microrobtica, monederos electrnicos con esto tenemos una idea del uso actual de los Microcontroladores.

El funcionamiento de los Microcontroladores esta determinado por el programa almacenado en su memoria. Este puede escribirse en distintos leguajes de programacin. En la actualidad existen una gran variedad de lenguajes de alto nivel para programacin de PICs.

MikroBasic es una versin especial del lenguaje Basic. La mayora de los otros Microcontroladores requieren alguna forma de programacin que puede ser muy difcil de aprender. Con el MikroBasic se puede crear circuitos simples y programas en poco tiempo incluso proyectos muy sofisticados.

ARTCULO IV.

DESCRIPCIN DEL PROYECTO

El proyecto consta del desarrollo de un programa para el PIC 18F45K22, utilizando como IDE de desarrollo el lenguaje MikroBasic Pro, el cual al ser un lenguaje de alto nivel hace que la escritura de cdigo fuente para este tipo de PICs sea mas sencilla y rpida. Adems de escribir el cdigo fuente para este PIC el cual contiene una rutina main que llama a otros procedimientos los cuales tienen como funcin mostrar un men en forma de letreros cuatro display de siete segmentos una opcin a la vez contenida dentro de un ciclo while, tambin se debe hacer uso del programador EasyPIC v.7 para mostrar el resultado del programa.

ARTCULO V.

PROCEDIMIENTO

Paso 1. Instalacin de la suit mikroProg Suite para PIC Paso 2. Ejecucin del software MikroBasic Pro Paso 3. Crear un nuevo proyecto Paso 4. Seleccin del PIC en nuestro caso el PIC 18F45K22. Paso 5. Escritura del cdigo (ver en anexos), haciendo uso del diagrama de flujo bsico del programa (ver en seccin V). Paso 6. Probar el cdigo haciendo uso del programador EasyPic v7

ARTCULO VI.

DIAGRAMA DE FLUJO DEL PROGRAMA

Es siguiente diagrama de flujo muestra la lgica del programa, el cual consiste inicialmente en un ciclo que muestra las opciones de un men, una a la vez en un los cuatro display de siete segmentos.

ARTCULO VII.

LA FUNCION MAIN:

La funcin main es el cdigo que inicia la operacin de la aplicacin, la funcin main: contiene la inicializacin de las variables y configuracin de puertos tanto de entrada como de salida. Desde aqu se llamara a cada sub procedimiento llamado desde main. main: Configuracion de puertos como digitales ANSELA = 0 ANSELB = 0 ANSELC = 0 ANSELD = 0 ANSELE = 0 portb=%11111111 TRISA = %11110000 TRISB = %11111111 TRISC = %11111111 TRISD = %00000000 TRISE = %11111111 lata = 0 latb = 0 latc= 0 latd= 0 late = 0 Inicializar variables x=1 numero=64 Inicio del bucle While para mostrar el menu principal del sistema. while portb.0 =1 delay_ms(500) guiones 'guiones delay_ms(500) delay_ms(300) MenU 'Menu delay_ms(500) delay_ms(500) PArA 'Para delay_ms(500) delay_ms(500) USUA 'Usua delay_ms(500) delay_ms(500) Prog 'Prog delay_ms(500) wend end.

' ' (Siete Segmentos)

ARTCULO VIII.

CARACTERSTICAS DE LOS MICROCONTROLADORES

Un microcontrolador dispone normalmente de los siguientes componentes: Procesador o CPU (Unidad Central de Proceso). Memoria RAM para contener los datos. Memoria para el programa tipo ROM/EPROM/EEPROM/Flash. Lneas de E/S para comunicarse con el exterior. Diversos mdulos para el control de perifricos (temporizadores, puertos serie y paralelo, CAD: Conversores Analgico/Digital, CDA: Conversores Digital/Analgico, etc.). Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.

ARTCULO IX.

RECURSOS

SECCIN 9.01

MIKROBASIC

MikroBasic para PIC es un compilador BASIC con todas las caractersticas para Microcontroladores PIC de Microchip. Est diseado para desarrollar, construir y deparar aplicaciones embebidas basadas en PIC. Este entorno de desarrollo cuenta con una amplia variedad de caractersticas tales como: una sintaxis BASIC fcil de aprender, IDE fcil de usar, un cdigo muy compacto y eficiente, muchos equipos y bibliotecas de software, la documentacin completa, el simulador de software, un depurador de hardware, la generacin de archivos COFF, etc. Adems incluye muchos ejemplos prcticos que permiten un rpido inicio en laprogramacin de Microcontroladores PIC .

SECCIN 9.02 MIKROELEKTRONIKA EASYPIC V7


mikroElektronika EasyPIC v7 Junta de Desarrollo es la sptima generacin de la placa de desarrollo EasyPIC. Est equipado con muchos mdulos incorporados, incluyendo mikroProg - programador rpido con mikroICD (depurador en circuito) de apoyo. mikroElektronika EasyPIC v7 Junta de Desarrollo tiene que ver con la conectividad, con cuatro conectores diferentes para cada puerto, de modo que el usuario puede conectar tarjetas accesorias, sensores y aparatos electrnicos personalizados. El potente a bordo mikroProg programador y depurador en circuito puede programar y depurar ms de 250 microcontroladores PIC,

y es compatible con 3,3 V y 5V MCU. El EasyPIC v7 tambin cuenta con el PIC18F45K22 ms potente con 16 MIPS operacin, 64Kb de memoria de programa lineal, 3896 bytes de memoria de datos lineales, y soporte para una amplia gama de alimentacin de 1.8V a 5V.Este chip ofrece muchos mdulos de propsito general, incluyendo 36 I / O pins, 30 pins de entrada analgicas (AD), Digital-to-Analog Converter (DAC), el apoyo de Percepcin tctiles capacitivos con Tiempo de carga de la unidad de medida (CTMU), tres de 8-bits temporizadores, y cuatro temporizadores de 16-bit. Tambin tiene un par cada uno de SPI, I2C, CCP, y los mdulos de comparacin.

SECCIN 9.03 MIKROPROG SUITE PARA PIC


mikroProg programador EasyPIC v7 requiere un software especial de programacin llamado mikroProg Suite para PIC . Este software se utiliza para la programacin de todas las familias de microcontroladores Microchip , incluyendo pic10, PIC12, PIC16, PIC18, dsPIC30/33, PIC24 y PIC32. El software tiene una interfaz intuitiva y SingleClick tecnologa de programacin .

10

SECCIN 9.04 MIKROPROG ON BOARD


Potente bordo mikroProg programador y depurador en circuito puede programar y depurar ms de 250 microcontroladores. Usted lo necesita, si usted es un profesional o un principiante.

SECCIN 9.05 PIC 18F45K22

(A) CARACTERSTICAS

Memory Type : Program Memory KBytes : Program Memory KWords : Self-write : EEPROM Data Memory : RAM : I/O Pins : Pin count : Max. CPU Speed MHz : CPU Speed MIPS : Internal Oscillator :

Flash 32 16 Yes 256 1536 36 40 64 16 16 MHz 32 kHz

11

# of A/D Ch. : Digital Communication :

28 2 -A/E/USART 2 -MSSP(SPI/I2C)

Timers :

3 - 8-bit 4 - 16-bit 0 - 32-bit

(B) DESCRIPCIN

ARTCULO X.
Microcontrolador:

MARCO CONCEPTUAL

Un microcontrolador (abreviado C, UC o MCU) es un circuito integrado programable, capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea especfica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y perifricos deentrada/salida.
Compilador. La programacin en un lenguaje de alto nivel (como C o Basic) permite disminuir el tiempo de desarrollo de un producto y si adems est familiarizado con C o Basic es una buena opcin. No obstante, cuando el compilador convierta el cdigo del programa a

un lenguaje ensamblado, cada lnea de cdigo del programa en lenguaje de alto nivel habr generado bastantes ms lneas de cdigo en lenguaje ensamblador, normalmente en una relacin de uno a tres. Esto significa que para utilizar un lenguaje de alto nivel necesitaremos un microcontrolador con una capacidad de memoria relativamente grande. Si el programa que estamos desarrollando necesita utilizar nmeros con decimales, o con notacin cientfica o se utilizan operaciones complejas, como pueden ser las trigonomtricas, es casi obligado utilizar un lenguaje de alto nivel. Pero si lo que se va a hacer es manipular bits en registros, entradas, salidas y clculos sencillos, el lenguaje ensamblado es la mejor opcin.
Visualizador de siete segmentos:

12

Tambin llamado lmpara siete segmento, es un dispositivo usado para presentar informacin de forma visual. Esta informacin es especficamente un dgito decimal del 0 (cero) al 9 (nueve), por lo que se deduce que el cdigo BCD est involucrado. Cada segmento tiene la forma de una pequea lnea incandescente.
Programador. Es un dispositivo que conectado a un PC permite grabar en el microcontrolador el

programa desarrollado.
RISC: Tanto la industria de los computadores comerciales como la de los Microcontroladores estn

decantndose hacia la filosofa RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.
Puertos de Entrada y Salida:

La principal utilidad de las patillas que posee la cpsula que contiene un microcontrolador es soportar las lneas de E/S que comunican al computador interno con los perifricos exteriores y segn los controladores de perifricos que posea cada modelo de microcontrolador, se destinan a proporcionar el soporte a las seales de entrada, salida y control. Todos los Microcontroladores destinan algunas de sus patillas a soportar lneas de E/S de tipo digital, esto es, todo o nada. Por lo general, estas lneas se agrupan de ocho en ocho formando Puertos. Las lneas digitales de los Puertos pueden configurarse como Entrada o como Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a su configuracin.
Paquetes IDE:

Actualmente existen paquetes de software denominados "Entornos de Desarrollo Integrado", IDE, que suelen funcionar bajo Windows y que incluyen editores de texto para el ensamblador o el compilador, permiten la simulacin del programa y tambin pueden integrar el control de emuladores y programadores de dispositivos. Ejemplo de estos programas es el MikroBasic pro.

ARTCULO XI.

CONCLUSIONES

Los lenguajes de alto nivel facilitan la generacin de cdigos para microcontroladores PICs, adems que ahorran tiempo, tambin nos brindan la ventaja de escribir cdigos fuente con mucho menos cantidad de lneas que cuando se programa en lenguaje ensamblador. Por mi parte considero que la a educacin es un proceso interminable, puesto que cada da se aprende cosas nuevas o se actualizan las ya conocidas o aprendidas, es decir, que la educacin es un proceso permanente, por eso debemos estar in con las tecnologas del momento y preparado para recibir las nuevas. Por lo expresado anteriormente la elaboracin de este proyecto me sirvi para comprender un poco ms la teora de los microcontroladores y su aplicacin; de ah la importancia del mismo, pues a travs de l se puede apreciar lo interesante que es la programacin en nuestra vida cotidiana. Adems aprend a utilizar muchas de los comandos del lenguaje Basic que ya casi tenia olvidadas.

13

ARTCULO XII.

BIBLIOGRAFA

Torres Torroti, M.(2007), Tutorial Microntroladores PIC. sn, sl PARALLAX.(200?). Qu es un Microcontrolador?. p.8 Porting de GCC a PIC16.(2006). Qu es un Microcontrolador?. Recuperado el 02 de diciembre de http://pjmicrocontroladores.wordpress.com/2006/11/06/%C2%BFque-es-un-microcontrolador/ Curso PIC MikroBasic. Recuperado el 02 de diciembre de 2012 de https://sites.google.com/site/cursopicmikrobasic/introduccion-a-mikrobasic Especificaciones PIC 18F45K22. Recuperado el 02 de diciembre de 2012 de http://www.mculabs.com/pic/PIC18F45K22.html Especificaciones del EasyPIC. Recuperado el 02 de diciembre de 2012 de http://www.mikroe.com/easypic/ Visualizador de siete segmentos.(2012). Recuperado el 02 de diciembre de 2012 de http://www.ecured.cu/index.php/Visualizador_de_siete_segmentos

14

ARTCULO XIII. SECCIN 13.01

ANEXO ANEXO. CODIGO EN MIKROBASIC PRO

' Programa que genera un MenU con varios sub MenU ' Utiliza portc.2 como selector hacia abajo ' Utiliza portb.0 como Enter ' Utiliza portb.1 como Esc ' Utiliza portb.2 como -->

program Boton1 dim numero as byte dim x as byte

15

sub function botonEnter() as byte while true if (Button(PORTB, 0, 10, 0)) then break end if delay_ms(500) wend delay_ms(5) result =0 end sub

sub procedure activar1() lata.0 =0 lata.1 =0 lata.2 =0 lata.3 =1 end sub sub procedure activar2() lata.0 =0 lata.1 =0 lata.2 =1 lata.3 =0 end sub sub procedure activar3() lata.0 =0 lata.1 =1 lata.2 =0 lata.3 =0 end sub sub procedure activar4()

lata.0 =1 lata.1 =0 lata.2 =0 lata.3 =0 end sub sub procedure PAra us: while portc.2 = 1 activar1 latd = 115 delay_ms(1)

16
activar2 latd = 119 delay_ms(1) activar3 latd = 80 delay_ms(1) activar4 latd = 247 delay_ms(1) if portb.0 = 0 then ' Mostrar numero seleccionado ' durante 1000 ms activar1 latd = numero delay_ms(800) break else goto us end if wend exit end sub sub procedure numero11 no1: while portc.2 =1 latd = 6 delay_ms(1) if portb.0 =0 then numero = 6 delay_ms(1) break else goto no1 end if wend

end sub sub procedure numero12 no2: while portc.2 =1 latd = 91 delay_ms(1) if portb.0 =0 then numero = 91 delay_ms(1) break else goto no2 end if wend end sub sub procedure numero13 no3: while portc.2 =1 latd = 79 delay_ms(1) if portb.0 =0 then numero = 79 delay_ms(1) break else goto no3 end if wend end sub sub procedure numero14 no4: while portc.2 =1 latd = 102 delay_ms(1) if portb.0 =0 then numero = 102 delay_ms(1) break else goto no4 end if wend end sub sub procedure numero15 no9: while portc.2 =1

17

latd = 109 delay_ms(1) if portb.0 =0 then numero = 109 delay_ms(1) break else goto no9 end if wend end sub

18
sub procedure numero16 no6: while portc.2 =1 latd = 125 delay_ms(1) if portb.0 =0 then numero = 125 delay_ms(1) break else goto no6 end if wend end sub sub procedure numero17 no7: while portc.2 =1 latd = 7 delay_ms(1) if portb.0 =0 then numero = 7 delay_ms(1) break else goto no7 end if wend end sub sub procedure numero18 no8: while portc.2 =1 latd = 127 delay_ms(1) if portb.0 =0 then numero = 127

delay_ms(1) break else goto no8 end if wend end sub sub procedure numero19 no9: while portc.2 =1 latd = 111 delay_ms(1) if portb.0 =0 then numero = 111 delay_ms(1) break else goto no9 end if wend end sub

19

sub procedure numeroa while portc.2 =1 delay_ms(500) numero11 if numero <> 64 then x=1 break end if delay_ms(500) numero12 if numero <> 64 then x=1 break end if delay_ms(500) numero13 if numero <> 64 then x=1 break end if delay_ms(500) numero14 if numero <> 64 then x=1

break end if delay_ms(500) numero15 if numero <> 64 then x=1 break end if delay_ms(500) numero16 if numero <> 64 then x=1 break end if delay_ms(500) numero17 if numero <> 64 then x=1 break end if delay_ms(500) numero18 if numero <> 64 then x=1 break end if delay_ms(500) numero19 if numero <> 64 then x=1 break end if wend PAra end sub sub procedure Guion1 numero = 64 guion1x: while portb.2 = 1 activar1 latd = 128 delay_ms(1) activar2 latd = 8 delay_ms(1)

20

activar3 latd = 8 delay_ms(1) activar4 latd = 8 delay_ms(1) if portb.0 =0 then activar1 numeroa else goto guion1x end if wend end sub sub procedure Guion2 numero =64 guion2x: while portb.2 = 1 activar1 latd = 8 delay_ms(1) activar2 latd = 128 delay_ms(1) activar3 latd = 8 delay_ms(1) activar4 latd = 8 delay_ms(1) if portb.0 =0 then activar2 numeroa else goto Guion2x end if wend exit end sub sub procedure Guion3 numero = 64 guion3x: while portb.2 = 1 activar1

21

latd = 8 delay_ms(1) activar2 latd = 8 delay_ms(1) activar3 latd = 128 delay_ms(1) activar4 latd = 8 delay_ms(1) if portb.0 =0 then activar3 numeroa else goto Guion3x end if wend exit end sub sub procedure Guion4 numero = 64 guion4x: while portb.2 = 1 activar1 latd = 8 delay_ms(1) activar2 latd = 8 delay_ms(1) activar3 latd = 8 delay_ms(1) activar4 latd = 128 delay_ms(1) if portb.0 =0 then activar4 numeroa else goto Guion4x end if wend exit

22

end sub sub procedure subguiones submeq: while true delay_ms(500) Guion1 delay_ms(500) Guion2 delay_ms(500) Guion3 delay_ms(500) Guion4 if portb.1 =0 then break else goto submeq end if wend exit end sub

23

sub procedure guiones ment: while portc.2=1 activar1 latd = 8 delay_ms(1) activar2 latd = 8 delay_ms(1) activar3 latd = 8 delay_ms(1) activar4 latd = 8 delay_ms(1) if portb.0 =0 then subGuiones else goto ment end if

wend end sub

sub procedure Men1 subme1: while portc.2 = 1 activar1 latd = 55 delay_ms(1) activar2 latd = 123 delay_ms(1) activar3 latd = 84 delay_ms(1) activar4 latd = 6 delay_ms(1) if portb.1 =0 then exit else goto subme1 end if wend exit end sub sub procedure Men2 subme2: while portc.2 =1 activar1 latd = 55 delay_ms(1) activar2 latd = 123 delay_ms(1) activar3 latd = 84 delay_ms(1) activar4 latd = 91 delay_ms(1) if portb.1 =0 then

24

break else goto subme2 end if wend exit end sub sub procedure men3 smen3: while portc.2 =1 activar1 latd = 55 delay_ms(1) activar2 latd = 123 delay_ms(1) activar3 latd = 84 delay_ms(1) activar4 latd = 79 delay_ms(1) if portb.1 =0 then break ' Regresa al sub menu else goto smen3 end if wend exit end sub

25

sub procedure subMenU subme: while true delay_ms(500) Men1 delay_ms(500) men2 delay_ms(500) men3 if portb.1 =0 then break else

goto subme end if wend exit end sub

sub procedure MenU men: while portc.2=1 activar1 latd = 55 delay_ms(1) activar2 latd = 123 delay_ms(1) activar3 latd = 84 delay_ms(1) activar4 latd = 62 delay_ms(1) if portb.0 =0 then subMenU else goto men end if wend end sub sub procedure nombre nom: while portc.2 =1 activar1 latd = 56 delay_ms(1) activar2 latd = 95 delay_ms(1) activar3 latd = 28 delay_ms(1) activar4 latd = 208

26

delay_ms(1) if portb.1 =0 then PArA ' Regresa al MenU principal en Para else goto nom end if wend end sub

sub procedure USUA us: while portc.2 = 1 activar1 latd = 62 delay_ms(1) activar2 latd = 109 delay_ms(1) activar3 latd = 62 delay_ms(1) activar4 latd = 247 delay_ms(1) if portb.0 =0 then nombre else goto us end if wend end sub sub procedure Mprog1 p1: while portc.2 =1 activar1 latd = 115 delay_ms(1) activar2 latd = 80 delay_ms(1) activar3 latd = 92 delay_ms(1)

27

activar4 latd = 134 delay_ms(1) if portb.1 =0 then break ' Regresa al MenU principal en Para else goto p1 end if wend exit end sub

28
sub procedure Mprog2 p2: while portc.2 =1 activar1 latd = 115 delay_ms(1) activar2 latd = 80 delay_ms(1) activar3 latd = 92 delay_ms(1) activar4 latd = 219 delay_ms(1) if portb.1 =0 then break ' Regresa al MenU principal en Para else goto p2 end if wend exit end sub sub procedure Mprog3 p3: while portc.2 =1 activar1 latd = 115 delay_ms(1) activar2 latd = 80 delay_ms(1) activar3

latd = 92 delay_ms(1) activar4 latd = 207 delay_ms(1) if portb.1 =0 then break else goto p3 end if wend exit ' regresa al MenU anterior end sub sub procedure subMenUProg subme: while true delay_ms(500) Mprog1 delay_ms(500) Mprog2 delay_ms(500) Mprog3 if portb.1 =0 then break else goto subme end if wend exit end sub sub procedure Prog menx: while portc.2=1 activar1 latd = 115 delay_ms(1) activar2 latd = 80 delay_ms(1) activar3 latd = 92 delay_ms(1) activar4

29

latd = 239 delay_ms(1) if portb.0 =0 then subMenUProg else goto menx end if wend end sub

30
main: Configuracion de puertos como digitales ANSELA = 0 ANSELB = 0 ANSELC = 0 ANSELD = 0 ANSELE = 0 portb=%11111111 TRISA = %11110000 TRISB = %11111111 TRISC = %11111111 TRISD = %00000000 TRISE = %11111111 lata = 0 latb = 0 latc= 0 latd= 0 late = 0 Inicializar variables x=1 numero=64 while portb.0 =1 delay_ms(500) guiones 'guiones delay_ms(500) delay_ms(300) MenU 'Menu delay_ms(500) delay_ms(500) PArA 'Para delay_ms(500)

' ' (Siete Segmentos)

delay_ms(500) USUA 'Usua delay_ms(500) delay_ms(500) Prog 'Prog delay_ms(500) wend end.

31

You might also like