Sei sulla pagina 1di 2

24.05.

2016

4.12 Ejemplo 10 | Microcontroladores PIC Programacin en BASIC

PRODUCTS

SHOP

LEARN

BOOKS

LIBSTOCK

FORUM

HELP DESK

Tabla de
contenido

4.12 EJEMPLO 10

MIKROELEKTRONIKA

Utilizar el visualizador LCD


Este ejemplo muestra cmo utilizar un visualizador LCD alfanumrico. Las libreras de funciones simplifican
este programa.
Dos mensajes escritos en dos lneas aparece en el visualizador:
mikroElektronika
LCD example
Dos segundos ms tarde, el segundo mensaje se susituye por el voltaje presente en la entrada del convertidor
A/D (el pin RA2). Por ejemplo:
mikroElektronika
voltage:3.141V
En un dispositivo real se puede visualizar temperatura actual o algn otro valor medido en vez de voltaje.

Para que este ejemplo funcione apropiadamente, es necesario marcar las siguientes libreras en la ventana
Library Manager antes de compilar el programa:
BOOKS

Microcontroladores PIC Programacin en BASIC

ADC
LCD
1
2
3
4

'Cabecera******************************************************
program example_10 ' Nombre de programa

dim LCD_RS as sbit at RB4_bit ' Conexiones del mdulo Lcd

http://learn.mikroe.com/ebooks/microcontroladorespicbasic/chapter/ejemplo-10/

1/2

24.05.2016
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

4.12 Ejemplo 10 | Microcontroladores PIC Programacin en BASIC


LCD_EN as sbit at RB5_bit
LCD_D4 as sbit at RB0_bit
LCD_D5 as sbit at RB1_bit
LCD_D6 as sbit at RB2_bit
LCD_D7 as sbit at RB3_bit
LCD_RS_Direction as sbit at TRISB4_bit
LCD_EN_Direction as sbit at TRISB5_bit
LCD_D4_Direction as sbit at TRISB0_bit
LCD_D5_Direction as sbit at TRISB1_bit
LCD_D6_Direction as sbit at TRISB2_bit
LCD_D7_Direction as sbit at TRISB3_bit ' Final de las conexiones del mdulo Lcd
dim text as string [16] ' Variable text es de tipo string
dim ch, adc_rd as word' Variables ch y adc_rd son de tipo word
dim tlong as longword ' Variable tlong es de tipo longword
main: ' Inicio del programa
TRISB = 0 ' Todos los pines del puerto PORTB se configuran como salidas
PORTB = 0xFF
INTCON = 0' Todas las interrupciones deshabilitadas
ANSEL = 0x04' Pin RA2 se configura como una entrada analgica
TRISA = 0x04
ANSELH = 0' Los dems pines se configuran como digitales
Lcd_Init()' Inicializacin del visualizador LCD
Lcd_Cmd(_LCD_CURSOR_OFF)' Comando LCD (apagar el cursor)
Lcd_Cmd(_LCD_CLEAR) ' Comando LCD (borrar el LCD)

text = "mikroElektronika" ' Definir el primer mensaje


Lcd_Out(1,1,text) ' Escribir el primer mensaje en la primera lnea
text = "LCD example"' Definir el segundo mensaje
Lcd_Out(2,1,text) ' Definir el segundo mensaje en la segunda lnea
ADCON1 = 0x80 ' Voltaje de referencia para la conversin A/D es VCC
TRISA = 0xFF' Todos los pines del puerto PORTA se configuran como entradas
Delay_ms(2000)
text = "Voltage=" ' Definir el tercer mensaje

while 1 ' Bucle infinito


adc_rd = ADC_Read(2)' Conversin A/D. Pin RA2 es una entrada.
Lcd_Out(2,1,text) ' Escribir el resultado en la segunda lnea
tlong = adc_rd * 5000 ' Convertir el resultado en milivoltios
tlong = tlong / 1023' 0..1023 -> 0-5000mV
ch = (tlong / 1000) mod 10 ' Extraer voltios (miles de milivoltios)
' del resultado
Lcd_Chr(2,9,48+ch)' Escribir resultado en formato ASCII
Lcd_Chr_CP(".") ' Escribir el punto decimal
ch = (tlong / 100) mod 10 ' Extraer centenas de milivoltios
Lcd_Chr_CP(48+ch) ' Escribir resultado en formato ASCII
ch = (tlong / 10) mod 10' Extraer decenas de milivoltios
Lcd_Chr_CP(48+ch) ' Escribir resultado en formato ASCII
ch = tlong mod 10 ' Extraer unidades de milivoltios
Lcd_Chr_CP(48+ch) ' Escribir resultado en formato ASCII
Lcd_Chr_CP("V") ' Escribir etiqueta para el voltaje "V"
Delay_ms(1) ' Retardo de 1mS
wend

end. ' Final de programa

4.12 Ejem plo 10 por M ikroElektronika se encuentra bajo una Licencia Creative Com m ons Atribucin 4.0
Internacional, excepto cuando se indique lo contrario.

http://learn.mikroe.com/ebooks/microcontroladorespicbasic/chapter/ejemplo-10/

2/2

Potrebbero piacerti anche