You are on page 1of 19

PIC Simulador IDE Introduccin Page

Hay once ejemplos incluidos con PIC Simulador IDE. Estn ubicados en la carpeta de aplicaciones. Este es corta gua paso a paso para los principiantes que les ayudarn a probar estos ejemplos y de esa manera explorar las caractersticas ms importantes de la PIC Simulador IDE. Ejemplo 1: Timer0 mdulo de simulacin, TMR0 interrumpe Ejemplo 2: interrupciones externas RB0/INT Ejemplo 3: La memoria de datos EEPROM simulacin acceso Ejemplo 4: Rutina multiplican Matemticas, la demostracin de compilador, ensamblador y depurador Ejemplo 5: Un mdulo de simulacin / D Ejemplo 6: Comparador de tensin y mdulos de referencia simulacin Ejemplo 7: Mdulo de simulacin LCD Ejemplo 8: Hardware mdulo UART simulacin Ejemplo 9: Interfaz UART simulacin Software Ejemplo 10: 7 segmentos pantallas LED de simulacin Ejemplo 11: Generador de seal y mdulos de simulacin de osciloscopio Ejemplo 1 - Examinar archivo timer0.bas de la carpeta de la aplicacin. Este programa Basic utiliza Timer0 interrupciones del mdulo para cambiar peridicamente el valor en los pines PORTB. Timer0.asm archivo se gener usando compilador Basic integrado. Archivo timer0.hex se gener usando ensamblador integrado. TRISB = 0x00 'set all PORTB pins as outputs PORTB = %11111111 'make all PORTB pins high INTCON.T0IE = 1 'enable Timer0 interrupts INTCON.GIE = True 'enable all un-masked interrupts OPTION_REG.T0CS = False 'set Timer0 clock source to internal instruction cycle clock End On Interrupt 'interrupt routine PORTB = PORTB - 1 'decrement the value on PORTB INTCON.T0IF = 0 'enable new TMR0 interrupts Resume - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F84' y haga clic en el botn Seleccionar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo timer0.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ microcontrolador View. Esto abrir la ventana de vista microcontrolador.

- Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Este programa Basic utiliza Timer0 interrupciones del mdulo para cambiar peridicamente el valor en los pines PORTB. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. Imagen: Vista

Ejemplo 2 - Examinar archivo rb0int.bas de la carpeta de la aplicacin. Este programa Basic utiliza RB0/INT interrupciones basadas en PIN para cambiar el valor en PORTA. Rb0int.asm archivo se gener usando compilador Basic integrado. Archivo rb0int.hex se gener usando ensamblador integrado. TRISA = 0x00 'set all PORTA pins as outputs PORTA = 0xff 'make all PORTA pins high INTCON.INTE = 1 'enable RB0/INT interrupts INTCON.GIE = 1 'enable all un-masked interrupts End On Interrupt 'interrupt routine PORTA = PORTA - 1 'decrement the value on PORTA INTCON.INTF = 0 'enable new RB0/INT interrupts Resume Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador.

- Seleccione 'PIC16F84' y haga clic en el botn Seleccionar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo rb0int.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ microcontrolador View. Esto abrir la ventana de vista microcontrolador. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Este programa Basic utiliza RB0/INT interrupciones basadas en PIN para cambiar el valor en PORTA. - Al hacer clic en el botn T asociado con pin RB0/INT seguir alternando el estado lgico de este pin. Las interrupciones se activarn en el flanco ascendente de los impulsos. Cada vez que el valor sobre el Porta ser cambiado. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. Imagen: Vista

Ejemplo 3 - Examinar archivo eeprom.bas de la carpeta de la aplicacin. Este ejemplo llena la memoria EEPROM de datos y entra en un bucle infinito. Eeprom.asm archivo se gener usando compilador Basic integrado. Archivo eeprom.hex se gener usando ensamblador integrado. Dim a As Byte 'eeprom address Dim b As Byte 'eeprom data

For a = 0 To 63 'go through whole eeprom memory b = 255 - a 'set the data value to be written Write a, b 'perform the writing to eeprom Next a - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F84' y haga clic en el botn Seleccionar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo eeprom.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ EEPROM Memory Editor. Eso abrir la ventana del Editor de memoria EEPROM. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Haga clic en Opciones \ Cambiar EEPROM escribir a tiempo. Introduzca 100 en el valor nuevo y haga clic en Aceptar. Usted debe tener mucho cuidado al elegir este valor, ya que el valor real es de aproximadamente 20.000 ciclos de reloj de 4 MHz. En este sencillo ejemplo vamos a utilizar el valor a corto, ya que no puede afectar a la funcionalidad del programa, pero se puede reducir significativamente el tiempo de ejecucin de la simulacin. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Opciones \ Infinite Loop Paradas simulacin para seleccionar esa opcin. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Este ejemplo llena la memoria EEPROM de datos y entra en un bucle infinito. - Tras la deteccin del bucle infinito, el simulador se detendr automticamente la simulacin Imagen: Vista

Ejemplo 4

- Examinar archivo multiply.bas de la carpeta de la aplicacin. En este ejemplo se multiplique dos nmeros 123 (7B hex) y 234 (hex EA) y obtener el resultado 28782 (hex 706E). Multiply.asm archivo se gener usando compilador Basic integrado. Archivo multiply.hex se gener usando ensamblador integrado. Dim a As Word 'first number Dim b As Word 'second number Dim x As Word 'result a = 123 'set first number b = 234 'set second number x = a * b 'calculate result - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F84' y haga clic en el botn Seleccionar. - Haga clic en Tools \ BASIC Compiler - Haga clic en Archivo \ Abrir - Seleccione multiply.bas archivo y haga clic en Abrir. El programa de cdigo bsico se muestra en el editor. Haga clic en Tools \ Compile. El compilador generar archivo multiply.asm con fuente de ensamblador. - Cierre la ventana del compilador BASIC. - Haga clic en Tools \ ensamblador - Haga clic en Archivo \ Abrir - Seleccionar archivo multiply.asm y haga clic en Abrir. El programa de cdigo ensamblador se mostrar en el editor. - Haga clic en Tools \ montar. Despus de que se complete la operacin el ensamblador generar dos archivos: multiply.lst y multiply.hex. Aparecer el multiply.lst archivo de salida. - Cerrar la ventana ensamblador. - Haga clic en Archivo \ Program Load. - Seleccionar archivo multiply.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. Haga clic en Tools \ Breakpoints Manager. Eso abrir la ventana del Administrador de Puntos de interrupcin. - Haga clic en S para utilizar el archivo listado en ensamblador existente. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Haga clic en la lnea correspondiente a 0018 direcciones para definir el punto de interrupcin en esta instruccin. - Seleccionar el PC Hold En la opcin de enfoque - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Una vez finalizada esta rutina matemtica el programa entra en el bucle infinito en la direccin 0018, pero debido al punto de ruptura, el simulador pasar automticamente al paso a velocidad de la simulacin Paso.

- Usted puede parar la simulacin ahora haciendo clic en Simulacin \ Detener y reanudar la ejecucin en la limpieza del punto de interrupcin definido y haciendo clic en Cambio \ extremadamente rpido. - Un par de registros de propsito general (19H-18H) llevar a cabo la primera 007B argumento. - GPR par (1BH-1AH) llevar a cabo la segunda 00EA argumento. - El 706E resultado residir en (1DH-1CH) par de registros. Imagen: Vista

Ejemplo 5 - Examinar archivo adc.bas de la carpeta de la aplicacin. Este programa lee el valor analgico en AN0 entrada analgica y muestra de resultados de conversin de 8 bits en PORTB. Adc.asm archivo se gener usando compilador Basic integrado. Archivo adc.hex se gener usando ensamblador integrado. Symbol ad_action = ADCON0.GO_DONE 'set new name for A/D conversion start bit Symbol display = PORTB 'set new name for PORTB used to display the conversion result TRISB = %00000000 'set PORTB pins as outputs TRISA = %111111 'set PORTA pins as inputs ADCON0 = 0xc0 'set A/D conversion clock to internal source

ADCON1 = 0 'set PORTA pins as analog inputs High ADCON0.ADON 'turn on A/D converter module main: Gosub getadresult 'go to conversion routine display = ADRESH 'display the result of the conversion Goto main 'repeat forever End getadresult: 'conversion routine High ad_action 'start the conversion While ad_action 'wait until conversion is completed Wend Return - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F877' y haga clic en el botn Seleccionar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo adc.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ microcontrolador View. Esto abrir la ventana de vista microcontrolador. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Haga clic en un botn asociado RA0/AN0 pin. - Con el control deslizante cambia el valor analgico en este pin y haga clic en el botn Aceptar. - Ver cmo este cambio afecta al estado en los pines PORTB. - Los tres ltimos pasos se pueden repetir. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. Imagen: Vista

Ejemplo 6 - Examinar archivo comp.bas de la carpeta de la aplicacin. En este ejemplo se utiliza mdulo comparador analgico para detectar el estado de AN0 y AN1 entradas analgicas en lo que se refiere a la tensin de referencia de 2,5 V generada por el mdulo interno. Comp.asm archivo se gener usando compilador Basic integrado. Archivo comp.hex se gener usando ensamblador integrado. Symbol comp_change = PIR1.CMIF 'comparator interrupt flag CMCON = outputs TRISA = VRCON = to RA2 TRISB = 0x06 'set comparator mode to two common reference comparators with 0x07 'set RA0, RA1 and RA2 as inputs, other PORTA pins as outputs 0xec 'turn on, configure voltage reference module for 2.5V and connect it 0x00 'set PORTB pins as outputs

loop1: While Not comp_change 'wait for comparator output change Wend PORTB = CMCON 'display CMCON register on PORTB pins, RB6 and RB7 are comparator outputs comp_change = 0 'reset comparator interrupt flag Goto loop1 'repeat forever - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F628' y haga clic en el botn Seleccionar. - Haga clic en Archivo \ Program Load.

- Seleccionar archivo comp.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ microcontrolador View. Esto abrir la ventana de vista microcontrolador. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Haga clic en un botn asociado o AN0 AN1 pin. - Con el control deslizante cambia el valor analgico en ese pin y haga clic en el botn Aceptar. - Ver cmo este cambio afecta al estado en los pines PORTA y PORTB. - Los tres ltimos pasos se pueden repetir. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. Imagen: Vista

Ejemplo 7 - Examinar archivo lcd.bas de la carpeta de la aplicacin. Este programa lee el valor analgico en AN0 entrada analgica y muestra el formato de salida en el mdulo LCD 2x16 adjunto. Lcd.asm archivo se gener usando compilador Basic integrado. Archivo lcd.hex se gener usando ensamblador integrado. Define Define Define lines Define ADC_CLOCK = 3 'default value is 3 ADC_SAMPLEUS = 10 'default value is 20 LCD_BITS = 8 'allowed values are 4 and 8 - the number of data interface LCD_DREG = PORTB

Define LCD_DBIT = 0 '0 or 4 for 4-bit interface, ignored for 8-bit interface Define LCD_RSREG = PORTD Define LCD_RSBIT = 1 Define LCD_EREG = PORTD Define LCD_EBIT = 3 Define LCD_RWREG = PORTD 'set to 0 if not used, 0 is default Define LCD_RWBIT = 2 'set to 0 if not used, 0 is default Define LCD_COMMANDUS = 2000 'delay after LCDCMDOUT, default value is 5000 Define LCD_DATAUS = 50 'delay after LCDOUT, default value is 100 Define LCD_INITMS = 2 'delay used by LCDINIT, default value is 100 'the last three Define directives set the values suitable for simulation; they should be omitted for a real device Dim an0 As Word TRISA = 0xff 'set all PORTA pins as inputs ADCON1 = 0 'set all PORTA pins as analog inputs Lcdinit 'initialize LCD module; cursor is off loop: Adcin 0, an0 Lcdcmdout LcdClear 'clear LCD display Lcdout "Analog input AN0" 'text for the line 1 Lcdcmdout LcdLine2Home 'set cursor at the beginning of line 2 Lcdout "Value: ", #an0 'formatted text for line 2 WaitMs 1 'larger value should be used in real device Goto loop 'loop forever - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F877' y haga clic en el botn Seleccionar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo lcd.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ microcontrolador View. Esto abrir la ventana de vista microcontrolador. - Haga clic en Tools \ del mdulo LCD. Eso abrir la ventana del simulador del mdulo LCD. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Haga clic en el botn Configuracin en la ventana del mdulo LCD. - Haga clic en el campo "Lneas de datos" y ponerlo a PORTB. - Haga clic en el campo "Interfaz" y ponerlo a 8 bits. - Haga clic en el campo "Lnea RS 'y ponerlo a PORTD, 1. - Haga clic en el campo 'E Line' y ponerlo a PORTD, 3. - Haga clic en el campo 'R / W Line' y ponerlo a PORTD, 2. - Haga clic en 'Aplicar' para cerrar el dilogo de configuracin inteface LCD. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio.

- Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Haga clic en un botn asociado RA0/AN0 pin. - Con el control deslizante cambia el valor analgico en este pin y haga clic en el botn Aceptar. - Ver cmo este cambio afecta al mdulo LCD. - Los tres ltimos pasos se pueden repetir. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. - Imagen: Vista

Ejemplo 8 - Examinar archivo uart.bas de la carpeta de la aplicacin. Este programa enva primero 6 lneas de salida con formato al puerto de serie del hardware UART y luego responde a los bytes recibidos en ese puerto serie mediante el envo de una lnea de texto con formato para cada byte recibido. Uart.asm archivo se gener usando compilador Basic integrado. Archivo uart.hex se gener usando ensamblador integrado. Dim i As Byte 'declare a variable Hseropen 9600 'open hardware uart port for baud rate 9600 'WaitMs 1000 'this delay should be used in a real device For i = 10 To 5 Step -1 'for-next loop Hserout "Number: ", #i, CrLf 'send formatted output to serial port

'WaitMs 500 'this delay should be used in a real device Next i loop: Hserin i 'wait to receive a byte on serial port Hserout "Number: ", #i, CrLf 'send formatted output to serial port Goto loop 'loop forever - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F877' y haga clic en el botn Seleccionar. - Haga clic en Opciones \ Cambiar frecuencia de reloj. - Introduzca '4 'y haga clic en el botn Aceptar. - Haga clic en Opciones \ Change UART transmisin / recepcin Time. - Introducir '100 'y haga clic en el botn Aceptar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo uart.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en \ Hardware Interface Simulacin UART Tools. Esto abrir la ventana de la interfaz hardware UART durante la simulacin. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Espere hasta que el programa haya terminado de enviar 6 lneas de texto con formato en el puerto serie. - Uso de uno de los tres botones disponibles en la seccin de entrada de la interfaz UART UART enviar un byte al puerto serie. - Mira cmo el programa responde enviando una lnea de salida formateada. - Los dos ltimos pasos se pueden repetir. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener Imagen: Vista

Ejemplo 9 - Examinar archivo softuart.bas de la carpeta de la aplicacin. Este programa enva primero 6 lneas de salida con formato al puerto serie UART software (TX line: PORTB.1) y reacciona a los bytes recibidos en ese puerto serie (lnea RX: PORTB.2) mediante el envo de una lnea de texto con formato para cada byte recibido. Softuart.asm archivo se gener usando compilador Basic integrado. Archivo softuart.hex se gener usando ensamblador integrado. Define SEROUT_DELAYUS = 500 Dim i As Byte 'declare a variable 'WaitMs 1000 'this delay should be used in a real device For i = 10 To 5 Step -1 'for-next loop Serout PORTB.1, 9600, "Number: ", #i, CrLf 'send formatted output to PORTB.1 (TX line of software UART) 'WaitMs 500 'this delay should be used in a real device Next i loop: Serin PORTB.2, 9600, i 'wait to receive a byte on PORTB.2 (RX line of software UART) Serout PORTB.1, 9600, "Number: ", #i, CrLf 'send formatted output to serial port Goto loop 'loop forever - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador.

- Seleccione 'PIC16F84' y haga clic en el botn Seleccionar. - Haga clic en Opciones \ Cambiar frecuencia de reloj. - Introduzca '4 'y haga clic en el botn Aceptar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo softuart.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en \ Simulation Interface UART Software Tools. Esto abrir la ventana de la interfaz de software UART durante la simulacin. - Se deben establecer los ajustes predeterminados: RX Line ---> PORTB.2, TX Line ---> PORTB.1, velocidad ---> 9600, Niveles Lgicos ---> simple. Si no es as, con los comandos de men Ajustes realizar los cambios necesarios. - Haga clic en Tools \ microcontrolador View. Esto abrir la ventana de vista microcontrolador. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione el tipo de simulacin \ final (No Refresh) Rate. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - Espere hasta que el programa haya terminado de enviar 6 lneas de texto con formato en el puerto serie. Preste atencin a la situacin de PORTB.1 pin en la ventana de vista microcontrolador. - Uso de uno de los tres botones disponibles en la seccin de entrada de la interfaz UART UART enviar un byte al puerto serie. Preste atencin a la situacin de PORTB.2 pin en la ventana de vista microcontrolador. - Mira cmo el programa responde enviando una lnea de salida formateada. - Los dos ltimos pasos se pueden repetir. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. - Imagen: Vista

Ejemplo 10 - Examinar archivo 7segment.bas de la carpeta de la aplicacin. Este programa muestra los nmeros de 0 a 99 en las dos pantallas LED de 7 segmentos con conexin en paralelo y dos lneas de habilitacin utilizando TMR0 procedimiento de multiplexacin de interrupcin. 7segment.asm archivo se gener usando compilador Basic integrado. Archivo 7segment.hex se gener usando ensamblador integrado. Dim Dim Dim Dim Dim Dim Dim Dim digit As Byte 'input variable for GETMASK subroutine digit1 As Byte 'current high digit digit2 As Byte 'current low digit mask As Byte 'output variable from GETMASK subroutine mask1 As Byte 'current high digit mask mask2 As Byte 'current low digit mask i As Byte phase As Bit

Symbol d1enable = PORTC.0 'enable line for higher 7-segment display Symbol d2enable = PORTC.1 'enable line for lower 7-segment display TRISB = %00000000 'set PORTB pins as outputs TRISC.0 = 0 'set RC0 pin as output TRISC.1 = 0 'set RC1 pin as output d1enable = False d2enable = False mask1 = 0 mask2 = 0 phase = 0 INTCON.T0IE = 1 'enable Timer0 interrupts INTCON.GIE = 1 'enable all un-masked interrupts OPTION_REG.T0CS = 0 'set Timer0 clock source to internal instruction cycle clock loop: For i = 0 To 99 digit1 = i / 10 'get current high digit digit2 = i Mod 10 'get current low digit TMR0 = 0 'reset Timer0 to prevent its interrupt before both masks are determined digit = digit1 Gosub getmask 'get mask for high digit mask1 = mask digit = digit2 Gosub getmask 'get mask for low digit mask2 = mask Gosub show1 'display new mask Gosub show2 'display new mask WaitUs 500 'delay interval suitable for simulation 'use large delay for the real device, say WAITMS 500 Next i Goto loop End On Interrupt 'Timer0 interrupt routine 'continuously switch between high and low digit displays If phase = 0 Then phase = 1 Gosub show1 Else phase = 0 Gosub show2

Endif INTCON.T0IF = 0 'enable new TMR0 interrupts Resume getmask: 'get appropriate 7-segment mask for input digit mask = LookUp(0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f), digit Return show1: 'show high digit on its display d2enable = False PORTB = mask1 d1enable = True Return show2: 'show low digit on its display d1enable = False PORTB = mask2 d2enable = True Return - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F877' y haga clic en el botn Seleccionar. - Haga clic en Opciones \ Cambiar frecuencia de reloj. - Introduzca '4 'y haga clic en el botn Aceptar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo 7segment.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ 7 segmentos LED Displays de panel. Eso abrir la ventana con cuatro displays de 7 segmentos. - Haga clic en el botn Configuracin bajo el nmero de pantalla 2. - Haga clic en el campo de naranja al lado de la pantalla Activar etiqueta para seleccionar pin que se utiliza para activar / desactivar esta visualizacin. - Introduzca 4 para seleccionar PORTC y luego haga clic en Aceptar. - Introduzca 0 para seleccionar pin RC0 y luego haga clic en Aceptar. - Haga clic en el botn Configuracin debajo del nmero de la pantalla 1. - Haga clic en el campo de naranja al lado de la pantalla Activar etiqueta para seleccionar pin que se utiliza para activar / desactivar esta visualizacin. - Introduzca 4 para seleccionar PORTC y luego haga clic en Aceptar. - Introduzca 1 para seleccionar pin RC1 y luego haga clic en Aceptar. - Haga clic en el botn Configuracin Hide para ahorrar algo de espacio en la pantalla. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione el tipo de simulacin \ final (No Refresh) Rate.

- Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - El programa mostrar los nmeros de 0 a 99 en las dos pantallas LED de 7 segmentos con TMR0 procedimiento de multiplexacin de interrupcin. - Experimentar con la opcin Mantener la ltima pantalla. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. - Imagen: Vista

Ejemplo 11 - Examinar archivo i2c.bas de la carpeta de la aplicacin. Programas de esta rutina de los primeros 32 lugares en el dispositivo EEPROM serial externo mediante protocolo de comunicacin I2C. En este ejemplo se utiliza para demostrar osciloscopio y mdulos de simulacin del generador de seal. I2c.asm archivo se gener usando compilador Basic integrado. Archivo i2c.hex se gener usando ensamblador integrado. Dim addr As Word 'variable for storing EEPROM byte address Dim data As Byte 'variable for storing EEPROM byte data Symbol sda = PORTC.2 'nickname for SDA pin Symbol scl = PORTC.3 'nickname for SCL pin For addr = 0 To 31 'the first 32 bytes will be written data = 255 - addr 'set the data byte to be written I2CWrite sda, scl, 0xa0, addr, data 'perform I2C write operation to serial EEPROM

WaitMs 1 'small delay interval Next addr - Iniciar PIC Simulador IDE. - Haga clic en Opciones \ Select microcontrolador. - Seleccione 'PIC16F877' y haga clic en el botn Seleccionar. - Haga clic en Opciones \ Cambiar frecuencia de reloj. - Introduzca '4 'y haga clic en el botn Aceptar. - Haga clic en Archivo \ Program Load. - Seleccionar archivo i2c.hex y haga clic en Abrir. Eso cargar el programa en la memoria del programa PIC. - Haga clic en Tools \ osciloscopio. Eso abrir la ventana del osciloscopio digital de cuatro canales. - Haga clic en Settings \ Turn On / Off del osciloscopio del canal 1. - Entre 2 para seleccionar PORTC para el canal 1 pin puerto de destino y haga clic en Aceptar. - Entre 2 para seleccionar pin RC2 para el canal 1 pin de destino y haga clic en Aceptar. - Seleccione Pull-up opcin para el canal 1 pin. - Haga clic en Settings \ Activar / Desactivar el canal 2 del osciloscopio. - Entre 2 para seleccionar PORTC de 2 pin puerto de destino del canal y luego haga clic en Aceptar. - Escriba 3 para seleccionar pin RC3 para el canal 2 pin de destino y luego haga clic en Aceptar. - Seleccione Pull-up opcin para pin canal 2. - Haga clic en Settings \ Turn On / Off osciloscopio Canal 3. - Introduzca 1 para seleccionar PORTB para el canal 3 pin puerto de destino y haga clic en Aceptar. - Introduzca 0 para seleccionar pin RB0 para el canal 3 pin de destino y haga clic en Aceptar. - Haga clic en Settings \ Turn On / Off osciloscopio Channel 4. - Introduzca 1 para seleccionar PORTB para el canal 4 pin puerto de destino y haga clic en Aceptar. - Introduzca 1 para seleccionar pin RB1 para el canal 4 pin objetivo y luego haga clic en Aceptar. - Haga clic en Tools \ Generador de seales. Eso abrir el canal generador de pulsos cuatro continuo. - Haga clic en Settings \ Activar / Desactivar el generador de seal 1. - Introduzca 1 para seleccionar PORTB para el canal 1 pin puerto de destino y haga clic en Aceptar. - Introduzca 0 para seleccionar pin RB0 para el canal 1 pin de destino y haga clic en Aceptar. - Entre 500 para definir periodo para el canal 1 pulsos y luego haga clic en Aceptar. - Introduzca 25 para definir el ciclo de trabajo para el canal 1 pulsos y luego haga clic en Aceptar. - Haga clic en Settings \ Activar / Desactivar el generador de seal 2.

- Introduzca 1 para seleccionar PORTB de 2 pin puerto de destino del canal y luego haga clic en Aceptar. - Introduzca 1 para seleccionar pin RB1 para el canal 2 pin de destino y luego haga clic en Aceptar. - Entre 1000 y definir plazo para canal 2 pulsos y luego haga clic en Aceptar. - Introduzca 50 para definir el ciclo de trabajo para el canal 2 pulsos y luego haga clic en Aceptar. - Haga clic en Tools \ microcontrolador View. Esto abrir la ventana de vista microcontrolador. - Vuelva a colocar las ventanas en la pantalla para obtener una mejor vista. - Seleccione la carpeta \ tasa simulacin extremadamente rpido de Cambio. - Haga clic en Simulacin \ Inicio. La simulacin se iniciar inmediatamente. - La comunicacin I2C se puede observar en el mdulo de osciloscopio, as como los impulsos generados por el generador de seal. - La simulacin puede detenerse en cualquier momento haciendo clic en Simulacin \ Detener. - Imagen: Vista

You might also like