Dado Microcontrolador
Enviado por jv_210 • 4 de Junio de 2014 • 1.109 Palabras (5 Páginas) • 226 Visitas
Objetivo
Realizar la programación de un contador de un dado electrónico manipulado por un push button
Material
• Microcontrolador hcs08
• 7 resistencias de 330 Ω
• 2 resistencias de 10 kΩ
• 2 push button
• 1 display de 7 segmentos cátodo común
• Cable para conexiones
Desarrollo
A continuación se muestra la programación utilizada
Se programa en main.asm en mainLoop del coode warrior
variable/data section
;
ORG RAMStart ; Insert your data definition here
DISPLAY:EQU $80
UNO:EQU $81
DOS:EQU $82
TRES:EQU $83
CUATRO:EQU $84
CINCO:EQU $85
SEIS:EQU $86
INC:EQU $87
CONT0:EQU $88
CONT1:EQU $89
CONT2:EQU $8ª
code section
;
ORG ROMStart
_Startup:
LDHX #RAMEnd+1 ; initialize the stack pointer
TXS
CLI ; enable interrupts
mainLoop:
MOV #$06,UNO
MOV #$5B,DOS
MOV #$4F,TRES
MOV #$66,CUATRO
MOV #$6D,CINCO
MOV #$7D,SEIS
MOV #$7F,INC
MOV INC,DISPLAY
MOV #$FE,PTBDD
MOV #$FF,PTCDD
RTS
CTR:
MOV #$05,RTCMOD
MOV #$10,RTCSC
PP0: MOV DISPLAY,PTCD
PP: feed_watchdog
LDA PTBD
CMP #$00
BEQ AZAR
BRA KRO
;;;;;;;;;;;;AZAR;;;;;;;;;;;;;;;;;;;;;
AZAR:
LDHX #$00
LDA RTCCNT
ADD #$81
TAX
LDA ,X
STA DISPLAY
PP1: feed_watchdog
LDA #$01
PP2: feed_watchdog
STA PTCD
BSR TIME
BSR PREGUNTA
LSLA
CMP #$40
BNE PP2
BRA PP1
;;;;;;;;;;;;PREGUNTA;;;;;;;;;;;;;;;;;
PREGUNTA:
LDX PTBD
CPX #$01
BEQ PP0
;;;;;;;;;;;;RETARDO DE TIEMPO;;;;;;;;;
TIME:
MOV #$FF,CONT0
MOV #$7F,CONT1
MOV #$01,CONT2
...