Diagrama de flujo
Prender un LED
Documentar el codigo, decirle al software que usamos un pic16f84a e Incluir archivo de símbolos
;autor,fecha,descripción
list p=16F84a
#include "p16f84a.inc"
Definir que sucede al hacer reset al pic
org 0
goto init
Definir configuration bits
__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _CP_OFF
Evitar vector de interrupción y acceder a banco 1 de memoria de datos
org 5
init bsf STATUS,RP0
Definir que es salida a traves de TRISB
bcf TRISB,0
regresamos al banco 0 e ir al inicio de mi ciclo principal
bcf STATUS,RP0
goto start
En ciclo principal cambiar a 1 el bit 0 de Puerto B
start bsf PORTB,0
goto start
Finalizar
END
Ejemplo Prender un LED
Da click
Presiona un botón y enciende un led
Evitar vector de interrupción y acceder a banco 1 de memoria de datos
org 5
init bsf STATUS,RP0
Definir que el bit 0 de Puerto B es salida y el bit 0 del puerto A es entrada
bcf TRISB,0
bsf TRISA,0
Regresamos al banco 0 e ir al inicio de mi ciclo principal
bcf STATUS,RP0
goto start
bit 0 del puerto A==0?
start btfsc PORTA,0
Cambiar a 1 el bit 0 de Puerto B
bsf PORTB,0
Si
No
goto start
Presiona un botón y enciende un led
Da click
¿Cómo se realiza un retardo de tiempo?
¿Cómo se realiza un retardo de tiempo?
The instruction cycle (also known as the fetch–decode–execute cycle or simply the fetch-execute cycle) is the cycle which the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instructions
¿Cómo se realiza un retardo de tiempo?
pg. 22
¿Cómo se realiza un retardo de tiempo?
pg. 23
Capacitor selection for crystal oscillator
¿Cómo se realiza un retardo de tiempo?
pg. 57
¿Cómo se realiza un retardo de tiempo?
Si el reloj principal es de 4 MHz y queremos saber cuanto tiempo emplea en procesarse la instrucción nop, la cual sólo emplea un ciclo de máquina, se emplearía la expresión matemática anterior:
TCY= 4*( 1/Fosc )*Cycles= 4*( 1/( 4*10^6 ) )*1 = 1*10^6 s = 1μs
pg. 36
Retardo de 20 ms
GOTO?
CICLOS?
Retardo de 20 ms
primera vuelta (3+2), ultima vuelta(4), vueltas restantes (3)
Cycles=(3*iteraciones)+3
Delay código
Da click
Comparación de mas de 1 bit
Ejercicio ensamblador 1
Realizar el programa y simulación que cumpla con lo siguiente:
- Desarrollar una subrutina o función que permita realizar un retardo de 1 segundo.
Ejercicio ensamblador 2
Realizar el programa y simulación que cumpla con lo siguiente:
2. Con interruptores conectados a las terminales RB0 y RB1 activar los LEDs conectados a las terminales RA0 y RA1 de acuerdo a la Tabla 1.
RB0 | RB1 | RA1 | RA0 |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 |
Tabla 1
Si PUERTOB==0000 0010:
Puerto A = 0000 0001
Archivos básicos de ref
ENS-FLOWCHART
By Oscar Rosete
ENS-FLOWCHART
- 202