projects
/
my-code
/
atmel.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
eefa04fcccbf0c04d653c8b7feb0be3b0a040666
[my-code/atmel.git]
/
led_plex
/
port.asm
1
; port functions
2
3
PORT_INIT:
4
5
; port b 0-3 -> output
6
ldi tmp1,0x0f
7
out DDRB,tmp1
8
9
; disable hc595 outputs
10
sbi PORTB,0
11
12
; rck -> low
13
cbi PORTB,1
14
15
; clear hc595 registers
16
cbi PORTB,3
17
18
; rck -> high (store shift register data)
19
sbi PORTB,1
20
21
; enable outputs
22
cbi PORTB,0
23
24
; port d 6 -> output
25
sbi DDRD,6
26
27
; ser -> low
28
cbi PORTD,6
29
30
; release hc595 register clear
31
sbi PORTB,3
32
33
ret
34
35
SET_HC595:
36
37
; storage clock -> low
38
cbi PORTB,1
39
40
; source driver
41
42
; clock -> low
43
cbi PORTB,2
44
; set ser line
45
cbi PORTD,6
46
sbrc hc595_source,7
47
sbi PORTD,6
48
; clock -> high
49
sbi PORTB,2
50
51
; clock -> low
52
cbi PORTB,2
53
; set ser line
54
cbi PORTD,6
55
sbrc hc595_source,6
56
sbi PORTD,6
57
; clock -> high
58
sbi PORTB,2
59
60
; clock -> low
61
cbi PORTB,2
62
; set ser line
63
cbi PORTD,6
64
sbrc hc595_source,5
65
sbi PORTD,6
66
; clock -> high
67
sbi PORTB,2
68
69
; clock -> low
70
cbi PORTB,2
71
; set ser line
72
cbi PORTD,6
73
sbrc hc595_source,4
74
sbi PORTD,6
75
; clock -> high
76
sbi PORTB,2
77
78
; clock -> low
79
cbi PORTB,2
80
; set ser line
81
cbi PORTD,6
82
sbrc hc595_source,3
83
sbi PORTD,6
84
; clock -> high
85
sbi PORTB,2
86
87
; clock -> low
88
cbi PORTB,2
89
; set ser line
90
cbi PORTD,6
91
sbrc hc595_source,2
92
sbi PORTD,6
93
; clock -> high
94
sbi PORTB,2
95
96
; clock -> low
97
cbi PORTB,2
98
; set ser line
99
cbi PORTD,6
100
sbrc hc595_source,1
101
sbi PORTD,6
102
; clock -> high
103
sbi PORTB,2
104
105
; clock -> low
106
cbi PORTB,2
107
; set ser line
108
cbi PORTD,6
109
sbrc hc595_source,0
110
sbi PORTD,6
111
; clock -> high
112
sbi PORTB,2
113
114
; sink driver
115
116
; clock -> low
117
cbi PORTB,2
118
; set ser line
119
cbi PORTD,6
120
sbrc hc595_sink,7
121
sbi PORTD,6
122
; clock -> high
123
sbi PORTB,2
124
125
; clock -> low
126
cbi PORTB,2
127
; set ser line
128
cbi PORTD,6
129
sbrc hc595_sink,6
130
sbi PORTD,6
131
; clock -> high
132
sbi PORTB,2
133
134
; clock -> low
135
cbi PORTB,2
136
; set ser line
137
cbi PORTD,6
138
sbrc hc595_sink,5
139
sbi PORTD,6
140
; clock -> high
141
sbi PORTB,2
142
143
; clock -> low
144
cbi PORTB,2
145
; set ser line
146
cbi PORTD,6
147
sbrc hc595_sink,4
148
sbi PORTD,6
149
; clock -> high
150
sbi PORTB,2
151
152
; clock -> low
153
cbi PORTB,2
154
; set ser line
155
cbi PORTD,6
156
sbrc hc595_sink,3
157
sbi PORTD,6
158
; clock -> high
159
sbi PORTB,2
160
161
; clock -> low
162
cbi PORTB,2
163
; set ser line
164
cbi PORTD,6
165
sbrc hc595_sink,2
166
sbi PORTD,6
167
; clock -> high
168
sbi PORTB,2
169
170
; clock -> low
171
cbi PORTB,2
172
; set ser line
173
cbi PORTD,6
174
sbrc hc595_sink,1
175
sbi PORTD,6
176
; clock -> high
177
sbi PORTB,2
178
179
; clock -> low
180
cbi PORTB,2
181
; set ser line
182
cbi PORTD,6
183
sbrc hc595_sink,0
184
sbi PORTD,6
185
; clock -> high
186
sbi PORTB,2
187
188
; store to storage register
189
sbi PORTB,1
190
191
ret