Subversion Repositories pentevo

Rev

Rev 380 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
261 ddp 1
;
2
;--------------------------------------
3
;
4
PINTEST:
5
        CLR     TEMP
6
        SBI     PORTD,3
7
        NOP
8
        NOP
9
        NOP
10
        NOP
11
        NOP
12
        NOP
13
        NOP
14
        NOP
15
        SBIS    PIND,3
16
        SBR     TEMP,$01
17
        CBI     PORTD,3
18
        SBI     DDRD,3
19
        NOP
20
        NOP
21
        SBIC    PIND,3
22
        SBR     TEMP,$02
23
        CBI     DDRD,3
24
        TST     TEMP
25
        BREQ    PINTEST_UART_OK
26
CHAOS00:
27
        SBI     DDRB,7
28
CHAOS2: CALL    RANDOM
380 ddp 29
        LED_OFF
261 ddp 30
        SBRC    DATA,0
380 ddp 31
        LED_ON
261 ddp 32
        LDIX    $6C00
33
CHAOS1: SUBI    XL,1
34
        SBCI    XH,0
35
        BRNE    CHAOS1
36
        RJMP    CHAOS2
37
 
38
PINTEST_UART_OK:
39
        CALL    UARTDIRECT_INIT
40
 
290 ddp 41
        RCALL   UARTDIRECT_CRLF
42
        RCALL   UARTDIRECT_CRLF
43
        RCALL   UARTDIRECT_CRLF
44
        LDIZ    MSG_TITLE1*2
45
        CALL    PRINTSTRZ
261 ddp 46
        CALL    PRINT_SHORT_VERS
47
        LDIZ    MLMSG_PINTEST*2
48
        CALL    PRINTMLSTR
49
 
50
        LDI     TEMP,0B01010101
51
        OUT     PORTA,TEMP
52
        LDI     TEMP,0B10101010
53
        OUT     DDRA,TEMP
54
        LDI     TEMP,0B10000010
55
        OUT     PORTB,TEMP
56
        LDI     TEMP,0B00000101
57
        OUT     DDRB,TEMP
58
        LDI     TEMP,0B00010101
59
        OUT     PORTC,TEMP
60
        LDI     TEMP,0B00001010
61
        OUT     DDRC,TEMP
62
        SBI     PORTD,5
63
        CBI     DDRD,5
64
        SBI     PORTE,0
65
        CBI     DDRE,0
66
        CBI     PORTE,1
67
        SBI     DDRE,1
68
        LDI     TEMP,0B00010101
69
        OUTPORT PORTG,TEMP
70
        LDI     TEMP,0B00001010
71
        OUTPORT DDRG,TEMP
72
        DELAY_US 100
73
 
74
        CLR     DATA
75
        IN      TEMP,PINA
76
        CPI     TEMP,0B01010101
77
        BREQ    PINTEST_OK11
78
        ORI     DATA,$01
79
PINTEST_OK11:
80
        IN      TEMP,PINB
81
        ANDI    TEMP,0B10000111
82
        CPI     TEMP,0B10000000
83
        BREQ    PINTEST_OK12
84
        ORI     DATA,$02
85
PINTEST_OK12:
86
        IN      TEMP,PINC
87
        ANDI    TEMP,0B00011111
88
        CPI     TEMP,0B00010101
89
        BREQ    PINTEST_OK13
90
        ORI     DATA,$04
91
PINTEST_OK13:
92
        SBIS    PIND,5
93
        ORI     DATA,$08
94
        IN      TEMP,PINE
95
        ANDI    TEMP,0B00000011
96
        CPI     TEMP,0B00000001
97
        BREQ    PINTEST_OK14
98
        ORI     DATA,$10
99
PINTEST_OK14:
100
        INPORT  TEMP,PING
101
        ANDI    TEMP,0B00011111
102
        CPI     TEMP,0B00010101
103
        BREQ    PINTEST_OK15
104
        ORI     DATA,$20
105
PINTEST_OK15:
106
 
107
        LDI     TEMP,0B10101010
108
        OUT     PORTA,TEMP
109
        LDI     TEMP,0B01010101
110
        OUT     DDRA,TEMP
111
        LDI     TEMP,0B00000101
112
        OUT     PORTB,TEMP
113
        LDI     TEMP,0B10000010
114
        OUT     DDRB,TEMP
115
        LDI     TEMP,0B00001010
116
        OUT     PORTC,TEMP
117
        LDI     TEMP,0B00010101
118
        OUT     DDRC,TEMP
119
        CBI     PORTD,5
120
        SBI     DDRD,5
121
        CBI     PORTE,0
122
        SBI     DDRE,0
123
        SBI     PORTE,1
124
        CBI     DDRE,1
125
        LDI     TEMP,0B00001010
126
        OUTPORT PORTG,TEMP
127
        LDI     TEMP,0B00010101
128
        OUTPORT DDRG,TEMP
129
        DELAY_US 100
130
 
131
        IN      TEMP,PINA
132
        CPI     TEMP,0B10101010
133
        BREQ    PINTEST_OK21
134
        ORI     DATA,$01
135
PINTEST_OK21:
136
        IN      TEMP,PINB
137
        ANDI    TEMP,0B10000111
138
        CPI     TEMP,0B00000101
139
        BREQ    PINTEST_OK22
140
        ORI     DATA,$02
141
PINTEST_OK22:
142
        IN      TEMP,PINC
143
        ANDI    TEMP,0B00011111
144
        CPI     TEMP,0B00001010
145
        BREQ    PINTEST_OK23
146
        ORI     DATA,$04
147
PINTEST_OK23:
148
        SBIC    PIND,5
149
        ORI     DATA,$08
150
        IN      TEMP,PINE
151
        ANDI    TEMP,0B00000011
152
        CPI     TEMP,0B00000010
153
        BREQ    PINTEST_OK24
154
        ORI     DATA,$10
155
PINTEST_OK24:
156
        INPORT  TEMP,PING
157
        ANDI    TEMP,0B00011111
158
        CPI     TEMP,0B00001010
159
        BREQ    PINTEST_OK25
160
        ORI     DATA,$20
161
PINTEST_OK25:
162
        TST     DATA
163
        BRNE    PINTEST_ERROR
164
        LDIZ    MLMSG_PINTEST_OK*2
165
        CALL    PRINTMLSTR
166
        RET
167
;
168
PINTEST_ERROR:
169
        PUSH    DATA
170
        CALL    CLRPINS
171
        LDIZ    MLMSG_PINTEST_ERROR*2
172
        CALL    PRINTMLSTR
173
        POP     DATA
174
        LSR     DATA
175
        PUSH    DATA
176
        BRCC    PINTEST_ERR1
177
        LDIZ    MSG_PINTEST_PA*2
178
        CALL    PRINTSTRZ
179
PINTEST_ERR1:
180
        POP     DATA
181
        LSR     DATA
182
        PUSH    DATA
183
        BRCC    PINTEST_ERR2
184
        LDIZ    MSG_PINTEST_PB*2
185
        CALL    PRINTSTRZ
186
PINTEST_ERR2:
187
        POP     DATA
188
        LSR     DATA
189
        PUSH    DATA
190
        BRCC    PINTEST_ERR3
191
        LDIZ    MSG_PINTEST_PC*2
192
        CALL    PRINTSTRZ
193
PINTEST_ERR3:
194
        POP     DATA
195
        LSR     DATA
196
        PUSH    DATA
197
        BRCC    PINTEST_ERR4
198
        LDIZ    MSG_PINTEST_PD*2
199
        CALL    PRINTSTRZ
200
PINTEST_ERR4:
201
        POP     DATA
202
        LSR     DATA
203
        PUSH    DATA
204
        BRCC    PINTEST_ERR5
205
        LDIZ    MSG_PINTEST_PE*2
206
        CALL    PRINTSTRZ
207
PINTEST_ERR5:
208
        POP     DATA
209
        LSR     DATA
210
        PUSH    DATA
211
        BRCC    PINTEST_ERR6
498 ddp 212
        LDIZ    MSG_PINTEST_PG*2
261 ddp 213
        CALL    PRINTSTRZ
214
PINTEST_ERR6:
215
        LDIZ    MLMSG_HALT*2
216
        CALL    PRINTMLSTR
217
        CALL    CLRPINS
218
PINTEST_HALT:
219
        RJMP    PINTEST_HALT
220
;
221
;--------------------------------------
222
;