📄 inr_funcation.lis
字号:
00AE ; void EJK610_KEY_TEST_F(void)
00AE ; {
00AE ; PORTA=0xFF;
00AE ; //PORTA&=0xFF
00AE ;
00AE ; if((PINA&=0x01)==0)
00AE ; {
00AE ; LED1ON();
00AE ; LEDTEST();
00AE ; } // SCAN KEY_IN
00AE ; else LED1OFF();
00AE ; }
00AE ; #endif
00AE ; /*************EJK610_KEY_TEST_F**************************/
00AE ;
00AE ; #if PCB_EJK601
00AE ; /*****************LED_FLASH_1S************************/
00AE ; void LED_FLASH(void)
00AE ; {
00AE .dbline 113
00AE ; LED1_ON;
00AE C098 cbi 0x18,0
00B0 .dbline 114
00B0 ; DELAY_10MS(10);
00B0 0AE0 ldi R16,10
00B2 10E0 ldi R17,0
00B4 E5DF rcall _DELAY_10MS
00B6 .dbline 115
00B6 ; LED1_OFF; // 1
00B6 C09A sbi 0x18,0
00B8 .dbline -2
00B8 L37:
00B8 .dbline 0 ; func end
00B8 0895 ret
00BA .dbend
00BA .dbfunc e LED_FLASH_FAST _LED_FLASH_FAST fV
.even
00BA _LED_FLASH_FAST::
00BA .dbline -1
00BA .dbline 119
00BA ; }
00BA ;
00BA ; void LED_FLASH_FAST(void) // EJK601 PCB
00BA ; {
00BA .dbline 120
00BA ; LED1_ON;
00BA C098 cbi 0x18,0
00BC .dbline 121
00BC ; DELAY_10MS(10);
00BC 0AE0 ldi R16,10
00BE 10E0 ldi R17,0
00C0 DFDF rcall _DELAY_10MS
00C2 .dbline 122
00C2 ; LED1_OFF; // 1
00C2 C09A sbi 0x18,0
00C4 .dbline 123
00C4 ; DELAY_10MS(10);
00C4 0AE0 ldi R16,10
00C6 10E0 ldi R17,0
00C8 DBDF rcall _DELAY_10MS
00CA .dbline 124
00CA ; LED1_ON;
00CA C098 cbi 0x18,0
00CC .dbline 125
00CC ; DELAY_10MS(10);
00CC 0AE0 ldi R16,10
00CE 10E0 ldi R17,0
00D0 D7DF rcall _DELAY_10MS
00D2 .dbline 126
00D2 ; LED1_OFF; // 2
00D2 C09A sbi 0x18,0
00D4 .dbline 127
00D4 ; DELAY_10MS(10);
00D4 0AE0 ldi R16,10
00D6 10E0 ldi R17,0
00D8 D3DF rcall _DELAY_10MS
00DA .dbline 128
00DA ; LED1_ON;
00DA C098 cbi 0x18,0
00DC .dbline 129
00DC ; DELAY_10MS(10);
00DC 0AE0 ldi R16,10
00DE 10E0 ldi R17,0
00E0 CFDF rcall _DELAY_10MS
00E2 .dbline 130
00E2 ; LED1_OFF; // 3
00E2 C09A sbi 0x18,0
00E4 .dbline 131
00E4 ; DELAY_10MS(10);
00E4 0AE0 ldi R16,10
00E6 10E0 ldi R17,0
00E8 CBDF rcall _DELAY_10MS
00EA .dbline 132
00EA ; LED1_ON;
00EA C098 cbi 0x18,0
00EC .dbline 133
00EC ; DELAY_10MS(10);
00EC 0AE0 ldi R16,10
00EE 10E0 ldi R17,0
00F0 C7DF rcall _DELAY_10MS
00F2 .dbline 134
00F2 ; LED1_OFF; // 4
00F2 C09A sbi 0x18,0
00F4 .dbline -2
00F4 L38:
00F4 .dbline 0 ; func end
00F4 0895 ret
00F6 .dbend
00F6 .dbfunc e EJK601_TEST _EJK601_TEST fV
00F6 ; TEST_OK2 -> R20,R21
00F6 ; TEST_OK1 -> R22,R23
00F6 ; j -> R12,R13
00F6 ; i -> R10,R11
.even
00F6 _EJK601_TEST::
00F6 00D0 rcall push_gset4
00F8 .dbline -1
00F8 .dbline 142
00F8 ;
00F8 ; }
00F8 ;
00F8 ; /*****************LED_FLASH_1S************************/
00F8 ;
00F8 ; //-------------------EJK601_TEST---------------------------
00F8 ; void EJK601_TEST(void)
00F8 ; {
00F8 .dbline 143
00F8 ; int TEST_OK1=0,TEST_OK2=0;
00F8 6627 clr R22
00FA 7727 clr R23
00FC .dbline 143
00FC 4427 clr R20
00FE 5527 clr R21
0100 .dbline 146
0100 ; int i,j;
0100 ; //-------------------------test Q1 ---------------------------//
0100 ; for(i=0;i<100;i++)
0100 AA24 clr R10
0102 BB24 clr R11
0104 L40:
0104 .dbline 147
0104 ; {
0104 .dbline 148
0104 ; IR_H; /*pd5=1 若 pd2=0 (pind&=0x04)==0 成立说明Q1 OK */
0104 959A sbi 0x12,5
0106 .dbline 149
0106 ; DELAY_10uS(1);//(5)(10)
0106 01E0 ldi R16,1
0108 10E0 ldi R17,0
010A 7ADF rcall _DELAY_10uS
010C .dbline 151
010C ; // ONE_TIME_LED_OFF; 070328
010C ; if((PIND&=0x04)==0) /* (pind&=0x04)==0 成立说明Q1 OK */
010C 80B3 in R24,0x10
010E 8470 andi R24,4
0110 80BB out 0x10,R24
0112 8823 tst R24
0114 71F4 brne L44
0116 .dbline 152
0116 ; { IR_L; /*再反向测PD5=0若pd2=1 (pind&=0x04)==0x04 成立说明Q1 ok */
0116 .dbline 152
0116 80E2 ldi R24,32
0118 22B2 in R2,0x12
011A 2826 eor R2,R24
011C 22BA out 0x12,R2
011E .dbline 153
011E ; DELAY_10uS(1);//(5) (10)
011E 01E0 ldi R16,1
0120 10E0 ldi R17,0
0122 6EDF rcall _DELAY_10uS
0124 .dbline 154
0124 ; if((PIND&=0x04)==0X04) /*(pind&=0x04)==0x04 成立说明Q1 ok */
0124 80B3 in R24,0x10
0126 8470 andi R24,4
0128 80BB out 0x10,R24
012A 8430 cpi R24,4
012C 11F4 brne L46
012E .dbline 155
012E ; {
012E .dbline 157
012E ; //LED_FLASH();
012E ; TEST_OK1++ ;
012E 6F5F subi R22,255 ; offset = 1
0130 7F4F sbci R23,255
0132 .dbline 158
0132 ; }
0132 L46:
0132 .dbline 159
0132 ; }
0132 L44:
0132 .dbline 161
0132 L41:
0132 .dbline 146
0132 C501 movw R24,R10
0134 0196 adiw R24,1
0136 5C01 movw R10,R24
0138 .dbline 146
0138 8436 cpi R24,100
013A E0E0 ldi R30,0
013C 9E07 cpc R25,R30
013E 14F3 brlt L40
0140 .dbline 171
0140 ; //else LED1_OFF;
0140 ; }
0140 ; /*
0140 ; if(TEST_OK1==4)
0140 ; LED_FLASH_FAST();
0140 ; else LED1_ON;
0140 ; // 若测试没能通过,则LED1 长亮
0140 ; */
0140 ; //-------------------------test Q1 ---------------------------//
0140 ;
0140 ; //-------------------------test Q2 ---------------------------//
0140 ; for(j=0;j<100;j++)
0140 CC24 clr R12
0142 DD24 clr R13
0144 L48:
0144 .dbline 172
0144 ; {
0144 .dbline 173
0144 ; VIDEO_H; /*pb7=1 若 pd0=0 (pind&=0x01)==0 成立说明Q2 OK */
0144 C79A sbi 0x18,7
0146 .dbline 174
0146 ; DELAY_10uS(1);//(5)(10)
0146 01E0 ldi R16,1
0148 10E0 ldi R17,0
014A 5ADF rcall _DELAY_10uS
014C .dbline 176
014C ; //ONE_TIME_LED_ON; 070328
014C ; if((PIND&=0x01)==0) /* (pind&=0x01)==0 成立说明Q2 OK */
014C 80B3 in R24,0x10
014E 8170 andi R24,1
0150 80BB out 0x10,R24
0152 8823 tst R24
0154 59F4 brne L52
0156 .dbline 177
0156 ; { VIDEO_L; /*再反向测Pb7=0若pd0=1 (pind&=0x01)==0 成立说明Q2 ok */
0156 .dbline 177
0156 C798 cbi 0x18,7
0158 .dbline 178
0158 ; DELAY_10uS(1);//(5)(10)
0158 01E0 ldi R16,1
015A 10E0 ldi R17,0
015C 51DF rcall _DELAY_10uS
015E .dbline 179
015E ; if((PIND&=0x01)==0X01) /*(pind&=0x01)==0x01 成立说明Q2 ok*/
015E 80B3 in R24,0x10
0160 8170 andi R24,1
0162 80BB out 0x10,R24
0164 8130 cpi R24,1
0166 11F4 brne L54
0168 .dbline 180
0168 ; {
0168 .dbline 182
0168 ; //LED_FLASH_FAST();
0168 ; TEST_OK2++ ;
0168 4F5F subi R20,255 ; offset = 1
016A 5F4F sbci R21,255
016C .dbline 183
016C ; }
016C L54:
016C .dbline 184
016C ; }
016C L52:
016C .dbline 186
016C L49:
016C .dbline 171
016C C601 movw R24,R12
016E 0196 adiw R24,1
0170 6C01 movw R12,R24
0172 .dbline 171
0172 8436 cpi R24,100
0174 E0E0 ldi R30,0
0176 9E07 cpc R25,R30
0178 2CF3 brlt L48
017A .dbline 188
017A ; //else LED1_OFF;
017A ; }
017A ;
017A ; if((TEST_OK2==100) &&(TEST_OK1==100)) //检查是否两者都通过测试
017A 4436 cpi R20,100
017C E0E0 ldi R30,0
017E 5E07 cpc R21,R30
0180 31F4 brne L56
0182 6436 cpi R22,100
0184 E0E0 ldi R30,0
0186 7E07 cpc R23,R30
0188 11F4 brne L56
018A .dbline 189
018A ; LED_FLASH_FAST();
018A 97DF rcall _LED_FLASH_FAST
018C 01C0 rjmp L57
018E L56:
018E .dbline 190
018E C098 cbi 0x18,0
0190 L57:
0190 .dbline -2
0190 L39:
0190 00D0 rcall pop_gset4
0192 .dbline 0 ; func end
0192 0895 ret
0194 .dbsym r TEST_OK2 20 I
0194 .dbsym r TEST_OK1 22 I
0194 .dbsym r j 12 I
0194 .dbsym r i 10 I
0194 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -