-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSEGUNDO_TP.asm
118 lines (107 loc) · 1.97 KB
/
SEGUNDO_TP.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
;Vad0<Vad3 VERMELHO
;Vad0=Vad3 AMARELO
;Vad0>Vad3 VERDE
;ADC0 = PTA0 = #$00
;ADC3 = PTA5 = #$03
;PTA4 LED VERDE #$10
;PTA3 LED VERMELHO #$08
;PTA4+PTA3 LED AMARELO #$18
INCLUDE 'derivative.inc'
XDEF _Startup, main
MY_ZEROPAGE: SECTION SHORT
;VARIAVEIS RAM
HORA: DS 1
MIN: DS 1
SEG: DS 1
DECEN: DS 1
LEITURAAD: DS 1
LEITURABCD: DS 2
LEITURAVOLTS: DS 2
TEMPO: DS 1
TEMPO1: DS 2
MyCode: SECTION
main:
_Startup:
;PROGRAMA E CONSTANTES
CONFIGURA:
MOV #$0, CONFIG2
MOV #$19, CONFIG1
MOV #$18, DDRA ;PTA4 PTA3 LEDs SAIDAS
MOV #$30, TSC ;PARAR E RESETAR
MOV #$46, TSC ;ROTTIMER HABILITADA /64
LDHX #500
STHX TMODH ;/500 CEM INTERRUPCOES/SEG
CLR TEMPO
MOV #$11, HORA
MOV #1, MIN
CLR SEG
CLR DECEN
MOV #$60, ADICLK ;40Mseg
CLI
INICIO:
MOSTRAAD:
MOV #0,ADSCR ;INICIAR CONVERSAO NO PTA0
;POOLING
AGUARDA:
BRCLR 7, ADSCR, AGUARDA
MOV ADR, VAD0
;RTS
MOSTRAAD1:
MOV #3,ADSCR ;INICIAR CONVERSAO NO PTA5
;POOLING
AGUARDA1:
BRCLR 7, ADSCR, AGUARDA1
MOV ADR, VAD3
JSR MOSTRALEDS
RTS
MOSTRALEDS:
LDA VAD0 ;VARIAVEL CONTENDO VALOR DA CONVERSAO
CMP VAD3
BCS ACENDEVERMELHO
BCC ACENDEVERDE
ACENDEAMARELO:
MOV #$18, PTA
BRA SAILEDS
ACENDEVERDE:
MOV #$10, PTA
BRA SAILEDS
ACENDEVERMELHO:
MOV #$08, PTA
SAILEDS:
RTS
ROTTIMER: ;CREIO QUE PARA ESSE TP NAO SEJA NECESSARIO MANTER A ROTTIMER.
LDA DECEN
ADD #1
DAA
STA DECEN
BNE SAIROT
DEC TEMPO
LDA SEG
ADD #1
DAA
STA SEG
CMP #$60
BNE SAIROT
CLR SEG
DEC TEMPO
LDA MIN
ADD #1
DAA
STA MIN
CMP #$60
BNE SAIROT
CLR MIN
DEC TEMPO
LDA HORA
ADD #1
DAA
STA HORA
CMP #$24
BNE SAIROT
CLR HORA
SAIROT:
BCLR 7, TSC ;TIRA PENDENCIA
RTI
ORG $FFF2;VECTOR TIMER
DC.W ROTTIMER
END