Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tiempo: 01 hr.
Microcontroladores I.
Pgina 1
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RB0
1
RA3
1
RA2
1
RA3
1
RA2
1
TABLA N 02
RB7
RB6
RB5
RB4
RB3
RB2
RB1
Microcontroladores I.
Pgina 2
1
1
RB3
RB2
RB1
TABLA N 03
RB7
RB6
RB5
RB4
RB0
RA3
RA2
1
1
1
1
1
1
1
1
1
1
TABLA N 04
RB7
1
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RA3
RA2
1
1
1
1
1
1
1
1
1
TABLA N 05
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RA3
RA2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
TABLA N 06
Microcontroladores I.
Pgina 3
RB7
RB6
1
1
1
RB5
RB4
1
1
1
1
1
1
1
1
1
1
1
1
RB5
RB4
RB3
RB2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
RB3
1
RB2
1
RB1
RB0
RA3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
RA2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
RB1
RB0
RA3
RA2
TABLA N 07
RB7
RB6
1
1
1
1
TABLA N 08
RB7
1
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RA3
RA2
1
1
1
1
1
1
1
TABLA N 09
RB7
1
RB6
1
RB5
1
RB4
RB3
RB2
RB1
RB0
1
RA3
1
1
1
1
1
RA2
1
1
1
1
1
1
Microcontroladores I.
Pgina 4
TABLA N 10
Elabore un programa que posea como mnimo 10 secuencias. Para ello llene la tabla
inferior que se encuentra vaca. Luego compruebe la operatividad del mismo en el
hardware de Prueba. Considere un tiempo de 200 ms.
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RA3
RA2
Microcontroladores I.
Pgina 5
64
32
16
27
26
25
24
23
22
21
20
23
22
RB7
1
0
RB6
1
0
RB5
1
0
RB4
1
0
RB3
1
0
RB2
1
0
RB1
1
0
RB0
1
0
RA3
1
0
RA2
1
0
TRISB=0
TRISB=0
TRISA.2=0
TRISA.2=0
TRISA.3=0
TRISA.3=0
inicio:
inicio:
PORTB=%11111111
PORTB=255
PORTA=%01100
PORTA=12
GoSub tiempo
GoSub tiempo
PORTB=%00000000
PORTB=0
PORTA=%00000
PORTA=0
GoSub tiempo
GoSub tiempo
GoTo inicio
GoTo inicio
tiempo:
tiempo:
Pause 100
Pause 100
Return
Return
Microcontroladores I.
Pgina 6
ESTRUCTURA DE PROGRAMACION
Tiempo: 01hr.
1. FOR - NEXT Repite un segmento del programa.
Sintaxis:
FOR Index = Start TO End {Step {-} Inc }
{ instructions,
instructions }
NEXT {Index}
Descripcin:
Esta instruccin repite una o ms instrucciones. La expresin determinara cuantas
veces ha de llevarse a cabo la repeticin. "Index" es la variable empleada para el
control de cuantas veces la estructura o lazo for...next a de ser repetida. Si el
parmetro "Step" no es especificado, se entiende que la variable "Index" se
incrementa en uno. (Index = Index + 1).
OPERADORES MATEMTICOS
PBP efecta todas las operaciones matemticas en urden jerrquico. Esto significa
que existe precedencia para los operadores. Multiplicacin y divisin son efectuadas
antes que suma y resta, por ejemplo. Para asegurarse que las operaciones son
efectuadas en el orden que se desea, use parntesis para agrupar las operaciones.
A=(B+C)*(D-E)
Todas las operaciones matemticas se realizan sin signo y con una precisin de 16 bit.
Los operadores soportados son:
Microcontroladores I.
Pgina 7
Multiplicacin
PBP efecta multiplicaciones 16 x 16 bits .El operador * devuelve los 16 bit inferiores
del resultado de 32 bit. Esta es la multiplicacin tpica encontrada en los lenguajes de
programacin.
El operador ** devuelve los 16 bit superiores del resultado de 32 bit. Estos dos
operadores pueden ser utilizados en conjunto para realizar multiplicaciones de 16 x 16
bit que produzcan resultados de 32 bit.
W1 = W0 * 1000 multiplica el valor de W0 por 1000 y coloca el resultado en W1
W2 = W0 ** 1000 W0 por 1000 y coloca los 16 bit superiores (que deben ser 0 ) en
W2
El operador */ los 16 bit medios del resultado de 32 bit.
W3 = W1 */ W0 multiplica W1 por W0 y coloca los 16 bits medios en W3
Divisin
PBP efecta divisiones de 16 x 16 bit . El operador / devuelve el resultado de 16 bit.
El operador // devuelve el resto (mdulo del nmero).
W1 = W0 / 1000 Divide el valor de W0 por 1000 y coloca el resultado en W1
W2 = W0 // 1000 Divide el valor de W0 por 1000 y coloca el resto en W2
Desplazamiento
Los operadores << y >> desplazan un valor hacia la izquierda derecha
respectivamente, 1 a 15 veces. Los bits desplazados se colocan en 0.
B0 = B0 << 3 Desplaza B0 tres lugares a la izquierda (igual a multiplicar por 8)
W1 = W0 >> 1 Desplaza W0 un lugar a la derecha y pone el resultado en W1 (igual a
dividir por 2)
OPERADORES DE COMPARACIN
Microcontroladores I.
Pgina 9
DESPLAZAMIENTO DE UN
(DERECHA E IZQUIERDA)
LED
a VAR BYTE
i VAR BYTE
TRISB=0
inicio:
a=1
For i=0 TO 7
PORTB=a
a=a>>1
Pause 200
Next i
a=128
For i=0 TO 6
PORTB=a
a=a<<1
Pause 200
Next i
I VAR BYTE
TRISB=0
a VAR BYTE
inicio:
For I=0 TO 255
PORTB=I
Pause 500
Next I
GoTo inicio
GoTo inicio
RB6
RB5
RB4
RB3
RB2
RB1
1
1
1
1
1
1
1
RB0
1
Dec
1
2
4
8
16
32
64
128
a VAR BYTE
i VAR BYTE
TRISB=0
inicio:
a=1
For i=0 TO 7
PORTB=a
a=a*2
Pause 200
Next i
GoTo inicio
Microcontroladores I.
Pgina 10
RB6
RB5
RB4
RB3
RB2
RB1
RB0
1
1
1
1
1
1
1
Dec
128
64
32
16
8
4
2
1
a VAR BYTE
i VAR BYTE
TRISB=0
inicio:
a=128
For i=0 TO 7
PORTB=a
a=a/2
Pause 200
Next i
GoTo inicio
SECUENCIAL ASCENDENTE Y DESCENDENTE DE 8 LEDS
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
a VAR BYTE
I VAR BYTE
TRISB=0
inicio:
a=1
For I=0 TO 7
PORTB=a
a=a*2
Pause 200
Dec
1
2
4
8
16
32
64
128
64
32
16
8
4
2
1
Next I
a=64
For I=0 TO 6
PORTB=a
a=a/2
Pause 200
Next I
GoTo inicio
Microcontroladores I.
Pgina 11
WRITE Address,Value
Graba valores Value en el EEPROM incorporado en la direccin (Address)
especificada. Esta instruccin solo puede ser usada con un microPIC que tenga un
EEPROM incorporado como el PIC16F84 PIC16C84.
Es usado para colocar datos en el EEPROM durante el momento de la ejecucin. Para
grabar datos en el EEPROM durante la programacin, se usan las declaraciones DATA
y EEPROM.
Cada WRITE se auto regula en tiempo y toma aproximadamente 10 milisegundos
ejecutarlo en un microPIC.
WRITE 5,B0
READ Address,Var
Lee el EEPROM incorporado en la direccin (Address), y guarda el resultado en Var.
Esta instruccin solo puede ser usada con un microPIC que tenga un EEPROM
incorporado como el PIC16F84 PIC16C84
READ 5,B2
Ejemplo:
SECUENCIAL DE 8 LEDS
RB7
1
RB6
RB5
RB4
RB3
RB2
RB1
1
1
1
1
1
1
1
I VAR BYTE
B VAR BYTE
TRISB=0
Write 1,129
Write 2,66
Write 3,36
Write 4,24
Write 5,36
Write 6,66
RB0
1
129
66
36
24
36
66
PORTB=B
Pause 100
Next I
GoTo inicio
inicio:
For I=1 TO 6
Read I,B
Microcontroladores I.
Pgina 12
h
g
f
E
d
c
b
a
DEC
Portb.7 Portb.6 Portb.5 Portb.4 Portb.3 Portb.2 Portb.1 Portb.0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
2
0
0
1
0
0
1
0
5
1
1
1
1
0
0
0
7
Se desea representar los siguientes nmeros en el Display: 0, 2, 5, 7
inicio:
Low PORTB.3
Low PORTB.0
Low PORTB.4
Low PORTB.1
High PORTB.5
Low PORTB.2
Low PORTB.6
Low PORTB.3
Pause 1000
Low PORTB.4
Low PORTB.5
Low PORTB.0
High PORTB.6
High PORTB.1
Pause 1000
Low PORTB.2
Low PORTB.3
Low PORTB.0
High PORTB.4
Low PORTB.1
Low PORTB.5
High PORTB.2
Low PORTB.6
Microcontroladores I.
Pgina 13
Pause 1000
High PORTB.4
High PORTB.5
Low PORTB.0
High PORTB.6
Low PORTB.1
Pause 1000
Low PORTB.2
Goto inicio
High PORTB.3
Microcontroladores I.
Pgina 14
64
32
16
h
RB7
g
RB6
1
1
0
0
0
0
0
1
0
0
f
RB5
0
1
1
1
0
0
0
1
0
0
e
RB4
0
1
0
1
1
1
0
1
0
1
d
RB3
0
1
0
0
1
0
0
1
0
1
c
RB2
0
0
1
0
0
0
0
0
0
0
b
RB1
0
0
0
0
0
1
1
0
0
0
a
RB0
0
1
0
0
1
0
1
0
0
0
I VAR BYTE
B VAR BYTE
TRISB=0
Write 1,64
Write 2,121
Write 3,36
Write 4,48
Write 5,25
Write 6,18
Write 7,3
Write 8,120
Write 9,0
Write 10,24
inicio:
For I=1 TO 10
Read I,B
PORTB=B
Pause 1000
Next I
GoTo inicio
EMPLEO DEL COMANDO LOOKUP
i VAR BYTE
dato VAR BYTE
TRISB=0
inicio:
For i=0 TO 9
LookUp i, [64,121,36,48,25,18,3,120,0,24], dato
PORTB=dato
Pause 1000
Next i
GoTo inicio
DEC
0
1
2
3
4
5
6
7
8
9
ANODO
COMUN
64
121
36
48
25
18
3
120
0
24
Practica N 01
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
0
1
2
3
4
5
6
7
8
9
RB5
RB4
RB3
RB2
RB1
RB0
Dec
9
8
7
6
5
4
3
2
1
0
RB5
RB4
RB3
RB2
RB1
RB0
Dec
1
3
5
7
9
RB5
RB4
RB3
RB2
RB1
RB0
Dec
2
4
6
8
0
Practica N 02
RB7
RB6
Practica N 03
RB7
RB6
Practica N 04
RB7
RB6
Practica N 05
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
2
0
1
3
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
L
A
P
A
L
A
RB5
RB4
RB3
RB2
RB1
RB0
Dec
E
L
P
A
P
A
RB5
RB4
RB3
RB2
RB1
RB0
Dec
E
L
C
U
Y
RB5
RB4
RB3
RB2
RB1
RB0
Dec
P
A
C
O
Practica N 07
RB7
RB6
Practica N 08
RB7
RB6
Practica N 09
RB7
RB6
Practica N 10
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
E
S
E
G
A
L
L
O
Elabore 02 programas de letras o nmeros. Para ello emplee las tablas de la practica 11 y 12
para rellenar los datos que desea que aparezcan en el display nodo comn.
Practica N 11
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
RB5
RB4
RB3
RB2
RB1
RB0
Dec
Practica N 12
RB7
RB6
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
0
1
2
3
4
5
6
7
8
9
RB5
RB4
RB3
RB2
RB1
RB0
Dec
1
3
5
7
9
RB5
RB4
RB3
RB2
RB1
RB0
Dec
2
4
6
8
0
RB5
RB4
RB3
RB2
RB1
RB0
Dec
2
0
1
1
RB0
Dec
H
0
L
A
Practica N 02
RB7
RB6
Practica N 03
RB7
RB6
Practica N 04
RB7
RB6
RB6
RB5
RB4
RB3
RB2
RB1
Practica N 06
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
P
A
P
A
RB5
RB4
RB3
RB2
RB1
RB0
Dec
E
L
C
U
Y
RB5
RB4
RB3
RB2
RB1
RB0
Dec
P
I
P
O
RB5
RB4
RB3
RB2
RB1
RB0
Dec
E
S
E
G
A
Y
Practica N 07
RB7
RB6
Practica N 08
RB7
RB6
Practica N 09
RB7
RB6
Elabore 01 programa de letras o nmeros. Para ello emplee la tabla de la practica 10 para
rellenar los datos que desea que aparezcan en el display ctodo comn.
Practica N 10
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Dec
ESTRUCTURA DE PROGRAMACION
2. IF - THEN - ELSE. Salto condicional del programa.
Sintaxis:
IF Expression1 {AND / OR Expression2} THEN Label
{instructions}
ELSE
{instructions}
ENDIF
Descripcin:
Esta instruccin selecciona
una
de
dos
posibles
alternativas. La instruccin IF
es fundamental en PIC BASIC
y puede ser empleada de
muchas maneras para lograr
la flexibilidad necesaria para la
toma de decisiones en forma
lgica.
de
10K
para
limitar
la
Practica N 02
TRIS A.0 = 1
TRIS A.1 = 1
TRISB.0 = 0
TRISB.1= 0
inicio:
IF PORTA.0 = 1 Then
High PORTB.0
Else
Low PORTB.0
EndIF
IF PORTA.1 = 1 Then
High PORTB.1
Else
Low PORTB.1
EndIF
GoTo inicio
Practica N 03
inicio:
Sound PORTB.0,[110,255]
GoTo inicio
Practica N 04 (Sirena Policial)
inicio:
Sound PORTB.0,[100,10,50,10]
GoTo inicio
Practica N 05 (Timbre de Celular)
inicio:
Sound PORTB.0, [125,4,123,5]
GoTo inicio
Practica N 06
TRISA.0 =1
TRISA.1.=1
TRISB.0=0
inicio:
IF PORTA.0=1 Then cancion1
IF PORTA.1=1 Then cancion2
GoTo inicio
cancion1:
Sound PORTB.0,[105,50,110,50,120,50]
Pause 200
GoTo inicio
cancion2:
Sound PORTB.0,[120,50,110,50,105,50]
Pause 200
GoTo inicio
MATRIZ DE LEDS 7 X 5
RA2
1
RA1
1
RA0
1
RB7
1
RB6
1
RB5
1
RB4
1
RB3
1
RB2
1
RB1
1
RB0
1
RB4
1
0
RB3
1
0
RB2
1
0
RB1
1
0
RB0
1
0
RB4
0
0
RB3
0
0
RB2
0
0
RB1
0
0
RB0
1
0
RA2
1
0
RA1
1
0
RA0
1
0
RB7
1
0
RB6
1
0
RB5
1
0
RA2
0
0
RA1
0
0
RA0
0
0
RB7
1
1
RB6
0
0
RB5
0
0
RA3
1
RA2
1
RA1
1
RA0
1
RB7
1
RB6
0
RB5
0
RB4
0
RB3
0
RB2
0
RB1
0
RB0
1
RB2
RB1
RB0
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RA2
1
RA1
1
RA0
1
RB7
1
RB6
0
RB5
0
RB4
0
RB3
0
RB2
0
RB1
1
RB0
0
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB4
0
RB3
0
RB2
RB1
RB0
RA2
1
RA1
1
RA0
1
RB7
1
RB6
0
RB5
0
RB2
1
RB1
0
RB0
0
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB4
0
RB3
1
RB2
RB1
RB0
RA2
1
RA1
1
RA0
1
RB7
1
RB6
0
RB5
0
RB2
0
RB1
0
RB0
0
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB4
1
RB3
0
RB2
RB1
RB0
RA2
1
RA1
1
RA0
1
RB7
1
RB6
0
RB5
0
RB2
0
RB1
0
RB0
0
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB4
RB3
RB2
RB1
RB0
RA2
RA1
RA0
RB7
RB6
RB5
RB2
RB1
RB0
RB1
RB0
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB4
0
RB3
0
RB2
RA2
1
RA1
1
RA0
1
RB7
1
RB6
1
RB5
0
RB2
0
RB1
0
RB0
0
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
MANEJO DE COLUMNAS.
TABLA N 18: Activar los 07 Leds de la primera columna.
RA3
0
RA2
0
RA1
0
RA0
0
RB7
1
RB6
1
RB5
1
RB4
1
RB3
1
RB2
1
RB1
1
RB0
1
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RB3
1
RB2
1
RB1
1
RB0
1
RA2
0
RA1
0
RA0
1
RB7
0
RB6
1
RB5
1
RB4
1
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RB3
1
RB2
1
RB1
1
RB0
1
RB1
RB0
RA2
0
RA1
1
RA0
0
RB7
0
RB6
1
RB5
1
RB4
1
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB2
RA2
1
RA1
0
RA0
0
RB7
0
RB6
1
RB5
1
RB4
1
RB3
1
RB2
1
RB1
1
RB0
1
.
TABLA N 25: Activar y desactivar los 07 Leds de la cuarta columna.
RA3
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RA2
0
RA1
0
RA0
0
RB7
0
RB6
1
RB5
1
RB4
1
RB3
1
RB2
1
RB1
1
RB0
1
RA2
RA1
RA0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RA2
0
0
0
1
0
RA1
0
0
1
0
0
RA0
0
1
0
0
0
RB7
1
0
0
0
0
RB6
0
0
0
0
0
RB5
0
0
0
0
0
RB4
0
0
0
0
0
RB3
0
0
0
0
0
RB2
0
0
0
0
0
RB1
0
0
0
0
0
RB0
1
1
1
1
1
RB1
0
1
0
0
0
0
0
RB0
1
0
0
0
0
0
0
RA2
0
0
0
0
0
0
0
RA1
0
0
0
0
0
0
0
RA0
0
0
0
0
0
0
0
RB7
1
1
1
1
1
1
1
RB6
0
0
0
0
0
0
1
RB5
0
0
0
0
0
1
0
RB4
0
0
0
0
1
0
0
RB3
0
0
0
1
0
0
0
RB2
0
0
1
0
0
0
0
DIAGRAMAS DE TIEMPO
Tiempo: 01 hr.
El diagrama de tiempos es una representacin pictrica de la manera como los niveles
lgicos varan en funcin del tiempo. Es de bastante utilidad cuando se desea conocer
de un solo vistazo las caractersticas operacionales de un circuito o de un proceso.
Veamos un ejemplo:
Un motor elctrico solo gira en un determinado sentido si se le
aplica tensin de red. Es decir si le llega energa elctrica ste
gira en un determinado sentido (nivel lgico 1). Pero si se le
retira la energa elctrica este deja de funcionar (nivel lgico
0). Tal como lo muestra el diagrama de tiempo en la parte
inferior.
Luego si el motor elctrico es activado con dos pulsadores. Uno de arranque y uno de
parada, el diagrama de tiempo se amplia.
RB5
RB4
RB3
RB2
RB1
RB0
Tiempo
GoTo inicio
activar:
High PORTB.0
Goto inicio
COMANDO POT
Serout 0,N2400,[#B0]
High PORTB.3
Low PORTB.4
Low PORTB.5
Low PORTB.6
Low PORTB.7
EndIF
IF b0>140 Then
High PORTB.0
High PORTB.1
High PORTB.2
High PORTB.3
High PORTB.4
Low PORTB.5
Low PORTB.6
Low PORTB.7
EndIF
IF b0>168 Then
High PORTB.0
High PORTB.1
High PORTB.2
High PORTB.3
High PORTB.4
High PORTB.5
Low PORTB.6
Low PORTB.7
EndIF
IF b0>196 Then
High PORTB.0
High PORTB.1
High PORTB.2
High PORTB.3
High PORTB.4
High PORTB.5
High PORTB.6
Low PORTB.7
EndIF
IF b0>224 Then
High PORTB.0
High PORTB.1
High PORTB.2
High PORTB.3
High PORTB.4
High PORTB.5
High PORTB.6
High PORTB.7
EndIF
GoTo inicio
COMANDO: LCDOUT
Muestra Items en un visor de cristal lquido inteligente (LCD). PBP soporta mdulos LCD
con un controlador Hitachi 44780 o equivalente. Estos LCD, usualmente, tienen un
cabezal de 14 o 16 pins Simples o duales en un extremo.
Si el signo (#) est colocado antes de un Item, la representacin ASCII para cada dgito
es enviada al LCD. LCDOUT tambin puede usar cualquiera de los modificadores usados
con SEROUT2. Vea la seccin de SEROUT2 para ms informacin.
Un programa debe esperar, por lo menos, medio segundo antes de enviar el primer
comando a un LCD. Puede tomar bastante tiempo a un LCD arrancar. Los comandos son
enviados al LCD, enviando un $FE seguido por el comando. Algunos comandos tiles se
muestran en la siguiente tabla:
Note que hay un comando para mover el cursor al comienzo de la segunda lnea en un
visor de dos lneas. Para muchos LCD, los caracteres y lneas mostrados no son
consecutivos en la memoria del visor puede haber un salto entre las localizaciones.
Para muchos visores 16x2, la primera lnea comienza en $0 y la segunda, en $40. El
comando:
LCDOUT $FE, $C0
Hace que el visor comience a escribir caracteres en el principio de la segunda lnea. Los
visores 16x1 usualmente estn formateados como visores de 8x2, con un salto entre las
locaciones de memoria para los primeros y segundos caracteres de 8. Los visores de 4
lneas, tambin tienen un mapa de memoria no ordenado.
Vea la hoja de datos para el dispositivo LCD, en particular el que usted est usando, para
las locaciones de memoria de carcter y comandos adicionales.
LCDOUT $FE, 1, Hello limpia el visor y muestra Hello
LCDOUT B0, #B1
El LCD puede estar conectado al micro Pic, usando un bus de 4 bit o uno de 8 bit. Si se
usa un bus de 8 bits, todos los 8 bits deben estar en un Port. Si se usa un bus de 4 bits,
debe estar conectado o a los 4 bit inferiores o a los 4 bit superiores de un Port. Enable y
Register Select deben estar conectados a algn pin del port. R/W debe estar colocado a
tierra, ya que el comando de LCDOUT solamente es de grabacin. PBP supone que el
LCD est conectado a pines especficos, a menos que se le diga de otra manera. Asume
que el LCD va a ser usado con un bus de 4 bits, con las lneas de data DB4 - DB7
conectadas en el micro Pic a PORTA.0 - PORTA.3, Register Select a PORTA.4 y Enable
a PORTB.3. Adems, inicializa el LCD como un visor de dos lneas.
PROBADOR DE LCD (Dispositivo de Cristal Liquido).
SIMPLEX
Transmisin en un solo sentido. Sea solo para transmitir o solo recibir. Ejemplo la
radiodifusin donde la estacin es el transmisor y los radios son los receptores.
HALF DUPLEX
Transmisin en ambos sentidos, pero no al mismo tiempo, en donde una ubicacin
puede ser un transmisor y un receptor, pero no los dos al mismo tiempo. Ejemplo el
walking talking, en donde si se presiona un pulsador transmitimos y si lo soltamos
recibimos.
FULL DUPLEX
Transmisin en ambos sentidos y al mismo tiempo, tambin se le conoce con el
nombre de lneas simultneas de doble sentido. Una ubicacin puede transmitir y
recibir simultneamente, siempre y cuando la estacin a la que est transmitiendo
tambin sea la estacin de la cual est recibiendo. Ejemplo la telefona mvil.
FULL/FULL DUPLEX
Con este modo de transmisin es posible transmitir y recibir simultneamente, pero
necesariamente entre dos ubicaciones, es decir una estacin puede transmitir a una
segunda estacin y recibir de una tercera estacin al mismo tiempo. Esta transmisin
se emplea en circuitos de comunicacin de datos.
Figura N 02: Comunicacin serial con la norma RS 232, el dato enviado es el mismo
que en la grfica N 01 con la diferencia que la lgica es inversa. Donde 1 equivale a
10V. y 0 a +10V.
Figura N 03: Esquema del dato enviado por el PIC16F84 simulando la norma
RS232, el cual es muy similar al de la grfica N 02, pero con diferente nivel de
voltaje.
CONECTOR DB9
Identificacin de Terminales:
Conector DB9.
DIAGRAMA ESQUEMATICO
Prefijo
lbl
cmd
txt
chk
VARIABLES:
En Visual Basic es preferible forzar la
declaracin de variables. Para ello Ingrese
a HERRAMIENTAS OPCIONES
y
seleccionar requerir declaracin de
variables.
A la hora de declarar se coloca OPTION
EXPLICIT
TIPOS DE VARIABLES:
Ejemplo
lblingresarA
cmdejecutar
txtamplitud
chkcolor
Tiempo: 07 hrs.
PRACTICAS CON PULSADORES NA (NORMALMENTE ABIERTOS).
ARRANQUE DE MOTOR
i VAR BYTE
inicio:
IF PORTA.0=1 Then activar
GoTo inicio
activar:
For i=0 TO 5
High PORTB.0
Low PORTB.1
Pause 1000
Next i
For i=0 TO 5
Low PORTB.0
High PORTB.1
Pause 1000
Next i
GoTo inicio
i VAR BYTE
inicio:
IF PORTA.0=1 Then activar
GoTo inicio
activar:
For i=0 TO 5
High PORTB.0
High PORTB.1
Low PORTB.2
Pause 1000
Next i
For i=0 TO 5
High PORTB.0
Low PORTB.1
High PORTB.2
Pause 1000
Next i
GoTo inicio
PUERTA LOGICA AND
TRISA.0=1
TRISA.1=1
b0 VAR PORTA.0
b1 VAR PORTA.1
inicio:
IF b0=0 AND b1=0 Then
Low PORTB.0
EndIF
IF b0=0 AND b1=1 Then
Low PORTB.0
EndIF
EndIF
IF b0>180 Then
High PORTB.0
Low PORTB.1
Low PORTB.2
EndIF
GoTo inicio