-
Notifications
You must be signed in to change notification settings - Fork 0
/
TA4-Display.asm
130 lines (99 loc) · 1.57 KB
/
TA4-Display.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
119
120
121
122
123
124
125
126
127
128
129
130
list p=16F877A
#include P16F877A.inc
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
#DEFINE sum PORTC,0
#DEFINE sub PORTC,1
;**** Configuracion de puertos ***
org 0x000 ; Origen del codigo
bsf STATUS,RP0 ; Ir banco 1
bcf STATUS,RP1
movlw b'00000011'
movwf TRISC
movlw b'00000000'
movwf TRISB
movlw b'00000000'
movwf TRISD
bcf STATUS,RP0 ; Ir banco 0
bcf STATUS,RP1
movlw 0x0000
movwf PORTB
movlw 0x0000
movwf PORTD
main
BTFSS sum
call aumenta
BTFSS sub
call diminui
goto main
aumenta
call delay
movf PORTB, W
addlw d'247'
BTFSC STATUS, Z
call aumentaD
movf PORTB, W
addlw b'01'
movwf PORTB
return
diminui
call delay
movf PORTB, W
addlw 0x0000
BTFSC STATUS, Z
call diminuiD
movf PORTB, W
addlw d'255'
movwf PORTB
return
aumentaD
call delay
movlw 0x0000
movwf PORTB
movf PORTD, W
addlw d'247'
BTFSC STATUS, Z
call zerandoa
movf PORTD, W
addlw b'01'
movwf PORTD
goto main
zerandoa
call delay
movlw 0x0000
movwf PORTB
movlw d'255'
movwf PORTD
return
diminuiD
call delay
movlw b'1001'
movwf PORTB
movf PORTD, W
addlw 0x0000
BTFSC STATUS, Z
call zerandob
movf PORTD, W
addlw d'255'
movwf PORTD
goto main
zerandob
call delay
movlw b'1001'
movwf PORTB
movlw b'1010'
movwf PORTD
return
delay
movlw d'200'
movwf 0x0C
aux1:
movlw d'250'
movwf 0x0D
aux2:
nop
decfsz 0x0D
goto aux2
decfsz 0x0C
goto aux1
return
END