PICBasic
PIC BASIC PARA MICROCONTROLADORES
1
2
3
4
5
6
7
8
9
10
11
12
13
11101001
14
DIM
DIM
DIM
DIM
A
B
X
Y
AS
AS
AS
AS
BIT
BYTE
WORD
LONG
DIM A(10) AS BYTE
RESERVE 20
DIM A AS BYTE
DIM B AS WORD
A = B.HB
A = B.LB
B.HB = A
B.LB = A
B = A
DIM
DIM
B =
B =
A.0'Esto es lo mismo que A = B
'Esto también borra el byte alto de la variable B
A AS BYTE
B AS BIT
A.1
A.7
= A.5
TRISA.1 = 0
TRISB = 0
PORTA.1 = 1
PORTB = 255
STATUS.RP0 = 1
INTCON.INTF = 0
RA = 0xFF
RB0 = 1
15
DIM X AS WORD
DIM Y AS BYTE
X = 0x3F
Y = POINTER(X)
Y = Y + 0x55
X = X - 1
POINTER(X) = Y
Y = 0xAA
X = X - 1
POINTER(X) = Y
SYMBOL LED1 = PORTB.0PORTB.0 = 1
LED1 = 1
DIM
DIM
A =
B =
B =
A AS BIT
B AS BYTE
TRUE
0x55
%01010101
DIM A AS WORD
CONST PI = 314
A = PI
16
HIGH PORTB.0
LOW ADCON0.ADON
TOGGLE OPTION_REG.INTEDG
DIM
DIM
DIM
A =
B =
X =
X =
A AS WORD
B AS WORD
X AS WORD
123
A * 234
2
(12345 - B * X) / (A + B)
DIM A AS WORD
A = 3600
A = SQR(A)
DIM
DIM
DIM
X =
X =
X =
X =
X =X =
X =
A AS BIT
B AS BIT
X AS BIT
NOT A
A AND B
A OR B
A XOR B
A NAND B
A NOR B
A NXOR B
DIM A
DIM B
A = A
PORTB
AS WORD
AS WORD
OR B
= PORTC AND %11110000
17
18
AllDigital
TRISA = %11111111
TRISB = %00000000
TRISB = 0
TRISB = %11000111
19
loop:
Goto
WaitMs
500
WaitMs
PORTB.0 = 0
Goto Loop
Loop
20
WaitMS
SYMBOL
2122
PORTB.0 = PORTA.0
23
IF condición THEN instrucción
IF
THEN
condición
instrucción
condición
THEN
IF - THEN
ALLDIGITAL
'Voy a usar todos los pines como E/S.
TRISA = %11111111
DIM A AS BYTE
DIM TOTAL AS BYTE
'Todo el PORTA como entradas
'Declaro la variable "A" como BYTE
'Declaro la variable "TOTAL" como BYTE
24
TOTAL = 10
A = 2
'Le asigno elvalor 10 a la variable "TOTAL"
'Le asigno el valor 2 a la variable "A"
IF PORTA.4 = 1 THEN A = 4
TOTAL = TOTAL + A
'Sumo a "TOTAL" el valor de "A"
BYTE
TOTAL
A
THEN
PORTA.4 = 1
PORTA
4
A
PORTA
TOTAL
PORTA.4
1
PORTA.4 = 0
IF
IF
IF
IF
IF
TOTAL
TOTAL
A = B THEN PORTA.0 = 1
B > A THEN A = B
B = 5 THEN A = 0
(A = 0) OR (B = 5) THEN C = 2
PORTA.0THEN PORTB.3 = 0
PORTA.0
IF-THEN
PORTA.0 = 1.
ENDIF
IF condición THEN
instrucción 1
instrucción 2
...
instrucción n
ENDIF
THEN
DIM
DIM
DIM
DIM
DIM
A AS BYTE
B AS BYTE
C AS BYTE
D AS BYTE
TOTAL AS BYTE
TOTAL = 0
A = 2
'Declaro
'Declaro
'Declaro
'Declaro
'Declaro
la
la
la
la
la
variable
variable
variable
variable
variable
ENDIF
"A"como BYTE
"B" como BYTE
"C" como BYTE
"D" como BYTE
"TOTAL" como BYTE
'Le asigno el valor 0 a la variable "TOTAL"
'Le asigno el valor 2 a la variable "A"
25
condición
B = 5
C = 1
D = 0
'Le asigno el valor 5 a la variable "B"
'Le asigno el valor 1 a la variable "C"
'Le asigno el valor 0 a la variable "D"
IF A = 2 THEN
A = B + (C * D)
TOTAL = A * B
ENDIF
A = 2
ATHEN-ENDIF
TOTAL
A
TOTAL
ELSE
IF condición THEN
instrucciónv 1
instrucciónv 2
...
instrucciónv n
ELSE
instrucciónf 1
instrucciónf 2
...
instrucciónf n
ENDIF
THEN
ELSE
ALLDIGITAL
ENDIF
ELSE
ELSE
'Voy a usar todos los pines como E/S.
TRISA = %11111111 'Todo el PORTA como entradas
DIM A AS BYTE
'Declaro la variable "A" como BYTE
DIM TOTAL AS BYTE 'Declaro lavariable "TOTAL" como BYTE
TOTAL = 10
A = 2
'Le asigno el valor 10 a la variable "TOTAL"
'Le asigno el valor 2 a la variable "A"
IF PORTA.4 = 1 THEN
A = 4
TOTAL = TOTAL + 5
ELSE
A = 0
TOTAL = TOTAL + 15
ENDIF
A = 4
PORTA.4 = 1
TOTAL = TOTAL + 5
A = 0
26
TOTAL = TOTAL + 15
ENDIF
IF-THEN-ELSE-ENDIF
IF PORTB.1 = 1 THEN
IF A = 2 THEN
A = B + (C * D)
TOTAL = A *...
Regístrate para leer el documento completo.