Descripcion
En este proyecto Básico de programación se realizara un contador binario con salida en el puerto B de nuestro microcontrolador, dicha salida ira a dar a dos CI 7448 conectados a 2 display de 7 segmentos.
El programa realizara un conteo de forma decimal de 0 al 99 y reiniciándose al terminar la cuenta. Por ser un programa básico de programación lo realizará de manera automatica al correrlo.
Material Necesario
- Protoboard
- Microcontrolador MC9S08SE8
- CI 7448 (datasheed)
- Display a 7 segmentos de cátodo común(datasheed)
Programación
_Startup:
LDHX #RAMEnd+1 ; initialize the stack pointer
TXS
CLI ; enable interrupts
LDA #$FF
STA PTBDD ; se declara PTBD como salida
CLR PTBD
LDA #$FF
CLR $83
; Insert your code here
Conteo:
LDA $83 ; se utilizara registro 0x10000011=$83 como almacen del conteo
ADD #$1 ; se realiza la suma sin acarreo al acumulador A
DAA ; se corrige la salida hexagesimal a decimal
STA $83 ; se guarda operación en el registro $83, esto para guardar el conteo
LDA $83 ; se carga acumulador A con el dato guardado en el registro $86
STA PTBD ; se carga el acumulador A en la salida PTBD
JSR RETARDO ; llama a secuencia de retardo
RETARDO:
CLR $80
CLR $81
MOV #1,$82 ; Podemos acelerar el proceso de conteo cambiando "MOV #[numero],$82"
VOLVER:
DBNZ $80,VOLVER
feed_watchdog
DBNZ $81,VOLVER
feed_watchdog
DBNZ $82,VOLVER
feed_watchdog
NOP
BRA Conteo
Implementación
Para la implementación del proyecto únicamente realizaremos las conexiones del BDM al Microcontrolador, de ahí conectaremos las salidas [3:0] al primer CI que nos indicara las unidades y las salidas[4:7] al segundo CI que actuara como las decenas.
Realizamos las conexiones necesarias a los display y corremos el programa normalmente.
Nota: no hay que olvidar conectar la resistencia de 330 ohm al cátodo común de cada unos de los display, de preferencia alimentar el circuito con una fuente externa de 5v, esto para evitar baja corriente en el circuito
No hay comentarios:
Publicar un comentario