2. Variables
Trabajo con el registro tris completo
Sumadores
Multiplicadores
Divisores
Ciclo for
Ejercicio resuelto
Ejercicios propuestos
3. Recordar de la clase pasada tris es el
nombre de un puerto
Siendo trisa del portb.0…….portb.7
Se configura siempre al inicio
Ejemplo:
Trisa=%00001111
0=out
1=in
Haciendo que del port.0 a port.3=entrada
Y del port.4 al port.7 sea salida
4. Hacer que en el puerto B se prenda el
bit 1,3,5,7 y parpadeen (cuando estén
en bajo estos poner en alto los bits
0,2,4,6) con un intervalo de 500 mS. Sea
un ciclo infinito
5. 'Hacer que en el puerto B se prenda el bit 1,3,5,7 y parpadeen
'(cuando estén en bajo estos poner en alto los bits 0,2,4,6)
' con un intervalo de 500 mS.Se un ciclo infinito .
Device =18f2550
Declare PROTON_START_ADDRESS = $1000
Xtal=20
trisb=%00000000 'trisa todas son salidas (se puede escribir tambien
trisB=0)
inicio:'inicia mi programa
portb=%01010101 'pongo en alto los bits 1,3,5,7
delayms 500
portb=%10101010 ' pongo en alto los bits 0,2,4,6
delayms 500
goto inicio
end
6. Gosub le dice al pic anda a un
subproceso
Goto le dice al pic anda a una parte del
programa
7. Gusub nombre_del_subproceso
Sub_proceso: “nombre que desee”
cueropo del subproceso
RETURN“ esta palabra le dice vuelve a
donde estabas”
8. has que se prenda y apague un led en el
portb.0 y cuando este en estado bajo
has que suene un buzzer. En el
subproceso harás que suene el buzzer y
allá pondrás la pausa.
9. Device =18f2550
Declare PROTON_START_ADDRESS = $1000
Xtal=20
trisb=0 'todas son salidas
SYMBOL led = portb.0
SYMBOL buzzer =portb.1
inicio:
high led
gosub buz
low led
gosub buz1
goto inicio
buz:
low buzzer
DELAYMS 500
return
buz1:
high buzzer
DELAYMS 500
return
10. Inventar algo que tenga un subproceso
A gusto de cada quien para desarrollar
imaginación cualquier duda
preguntarme que no sea muy trivial que
se esfuercen
11. Ejemplo de sumador
Dato=x „valor de inicio
dato=dato+1
Esto quiere decir que cada vez que se
pasa por esta línea, el valor dato toma
el valor de dato(valor anterior asignado)
y se le suma uno o X numero. mientras se
respete el tipo de variable
12. Ejemplo DE RESTADOR
Dato=x „valor de inicio
dato=dato-1
Esto quiere decir que cada vez que se
pasa por esta línea, el valor dato toma
el valor de dato(valor anterior asignado)
y se le resta uno o X numero. mientras se
respete el tipo de variable
13. Como su nombre lo dice sirven para
multiplicar y dividir .
Hay dos tipos de sumadores y divisores
El común que se usa „*‟ para multiplicar y
„/‟ para dividir
Para multiplicar igual se usa „<<„
Y para dividir „>>‟
14. LA SINTAXIS ES
DIM Nombre_variable AS tipo
tipos
Bit de 0 a 1
Byte de 0 a 255
Word de 0 a 65535
Dword de -2147483647 a +2147483647
Float 1.17549e-38 a 3.40282e+38.
Ejemplo:
Dim Contador as byte
Symbol Led = porta.0
Darle Valor de una variable ejemplo
Contador =7
15. Ciclo for sirve para hacer cosas
repetidas se inicia un contador y se le
pone su limite
Sintaxis
For nom_var=1 to X(la equis puede ser un
numero o una variable)
Hacer esto
Hacer lo otro
next
16. Hacer que un led prenda 10 veces y
apague asignar una variable de nombre
T y darle el tiempo que se guste.
17. Device =18f2550
Declare PROTON_START_ADDRESS = $1000
Xtal=20
TRISB=0
Dim X as BYTE
Dim T as WORD
T=300
PORTB=0
Symbol LED =PORTB.0
INICIO:
FOR X=1 TO 10
HIGH LED
delayms T
LOW LED
delayms T
NEXT
delayms 6000
GOTO INICIO
18. Hacer un sumador en el portb(imprimirlo
con leds) que sume de 0 hasta
9.(portb=portb+1) con un tiempo t que
desee luego cuando llegue a 9 hacer
que vuelva a cero.
Hacer una secuencia de leds en el
puerto b pero ahora con un ciclo for y
multiplicadores.(explicacion)
Hacer ahora que la secuencia regrese y
vuelva a subir.
19. Haga un semáforo de dos intercesiones como muestra la
figura
Por considerar que esta es una práctica, se pondrá tiempos
estimados de cambio de color,
de verde a amarillo durará 9 segundos, de amarillo a rojo sólo
3 segundos.
Hacer el semáforo de nuevo pero poniendo variables rojo
,verde, ámbar con las instrucciones high y low