📄 misc.lis
字号:
00CE ; else if(bLED3_Status = cON_Status)
00CE 81E0 ldi R24,1
00D0 80930200 sts L6,R24
00D4 8823 tst R24
00D6 D1F0 breq L9
00D8 .dbline 89
00D8 ; {
00D8 .dbline 90
00D8 ; LED_OFF(cLED3);
00D8 06E0 ldi R16,6
00DA 92DF xcall _LED_OFF
00DC .dbline 91
00DC ; bLED3_Status = cOFF_Status;
00DC 2224 clr R2
00DE 20920200 sts L6,R2
00E2 .dbline 92
00E2 ; }
00E2 .dbline 93
00E2 ; break;
00E2 14C0 xjmp L9
00E4 L26:
00E4 .dbline 96
00E4 ; }
00E4 ; case cLED4 :
00E4 ; {
00E4 .dbline 97
00E4 ; if(bLED4_Status == cOFF_Status)
00E4 20900300 lds R2,L7
00E8 2220 tst R2
00EA 31F4 brne L27
00EC .dbline 98
00EC ; {
00EC .dbline 99
00EC ; LED_ON(cLED4);
00EC 07E0 ldi R16,7
00EE 95DF xcall _LED_ON
00F0 .dbline 100
00F0 ; bLED4_Status = cON_Status;
00F0 81E0 ldi R24,1
00F2 80930300 sts L7,R24
00F6 .dbline 101
00F6 ; }
00F6 0AC0 xjmp L9
00F8 L27:
00F8 .dbline 102
00F8 81E0 ldi R24,1
00FA 80930300 sts L7,R24
00FE 8823 tst R24
0100 29F0 breq L9
0102 .dbline 103
0102 .dbline 104
0102 07E0 ldi R16,7
0104 7DDF xcall _LED_OFF
0106 .dbline 105
0106 2224 clr R2
0108 20920300 sts L7,R2
010C .dbline 106
010C .dbline 107
010C .dbline 109
010C L9:
010C .dbline -2
010C .dbline 111
010C ; else if(bLED4_Status = cON_Status)
010C ; {
010C ; LED_OFF(cLED4);
010C ; bLED4_Status = cOFF_Status;
010C ; }
010C ; break;
010C ; }
010C ; default : break;
010C ; }
010C ; }
010C L3:
010C 0E940000 xcall pop_gset1
0110 .dbline 0 ; func end
0110 0895 ret
0112 .dbsym r Index 20 c
0112 .dbend
.area data(ram, con, rel)
0004 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
0004 L32:
0004 .blkb 2
.area idata
0004 0100 .word 1
.area data(ram, con, rel)
0006 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
.area text(rom, con, rel)
0112 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
0112 .dbfunc e swGet_Key1 _swGet_Key1 fi
0112 .dbsym s wKeyStatus L32 i
.even
0112 _swGet_Key1::
0112 .dbline -1
0112 .dbline 120
0112 ;
0112 ; //****************************************************************
0112 ; // Function : swGet_Key1
0112 ; // Input : none
0112 ; // Output : true - Key1 active; false - Key1 - passitive
0112 ; // Description : Key1 Detection,rising edge active
0112 ; //****************************************************************
0112 ; INT16U swGet_Key1(void)
0112 ; {
0112 .dbline 122
0112 ; static INT16U wKeyStatus = 1;
0112 ; if(wKeyStatus == 1)
0112 80910400 lds R24,L32
0116 90910500 lds R25,L32+1
011A 8130 cpi R24,1
011C E0E0 ldi R30,0
011E 9E07 cpc R25,R30
0120 49F4 brne L33
0122 .dbline 123
0122 ; {
0122 .dbline 124
0122 ; if((PINB & (1 << cKey1)) == 0) //Key Pressed
0122 B099 sbic 0x16,0
0124 1AC0 rjmp L34
0126 .dbline 125
0126 ; {
0126 .dbline 126
0126 ; wKeyStatus = 0;
0126 2224 clr R2
0128 3324 clr R3
012A 30920500 sts L32+1,R3
012E 20920400 sts L32,R2
0132 .dbline 127
0132 ; }
0132 .dbline 128
0132 ; }
0132 13C0 xjmp L34
0134 L33:
0134 .dbline 129
0134 ; else if(wKeyStatus == 0)
0134 20900400 lds R2,L32
0138 30900500 lds R3,L32+1
013C 2220 tst R2
013E 69F4 brne L37
0140 3320 tst R3
0142 59F4 brne L37
0144 X3:
0144 .dbline 130
0144 ; {
0144 .dbline 131
0144 ; if(PINB & (1 << cKey1)) //Key Released
0144 B09B sbis 0x16,0
0146 09C0 rjmp L39
0148 .dbline 132
0148 ; {
0148 .dbline 133
0148 ; wKeyStatus = 1;
0148 81E0 ldi R24,1
014A 90E0 ldi R25,0
014C 90930500 sts L32+1,R25
0150 80930400 sts L32,R24
0154 .dbline 134
0154 ; return(true);
0154 01E0 ldi R16,1
0156 10E0 ldi R17,0
0158 02C0 xjmp L31
015A L39:
015A .dbline 136
015A ; }
015A ; }
015A L37:
015A L34:
015A .dbline 137
015A ; return(false);
015A 0027 clr R16
015C 1127 clr R17
015E .dbline -2
015E L31:
015E .dbline 0 ; func end
015E 0895 ret
0160 .dbend
.area data(ram, con, rel)
0006 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
0006 L42:
0006 .blkb 2
.area idata
0006 0100 .word 1
.area data(ram, con, rel)
0008 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
.area text(rom, con, rel)
0160 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
0160 .dbfunc e swGet_Key2 _swGet_Key2 fi
0160 .dbsym s wKeyStatus L42 i
.even
0160 _swGet_Key2::
0160 .dbline -1
0160 .dbline 147
0160 ; }
0160 ;
0160 ; //******************************************************************************
0160 ; // Function : swGet_Key2
0160 ; // Input : none
0160 ; // Output : true - Key2 active; false - Key2 - passitive
0160 ; // Description : Key1 Detection,rising edge active
0160 ; //******************************************************************************
0160 ; INT16U swGet_Key2(void)
0160 ; {
0160 .dbline 149
0160 ; static INT16U wKeyStatus = 1;
0160 ; if(wKeyStatus == 1)
0160 80910600 lds R24,L42
0164 90910700 lds R25,L42+1
0168 8130 cpi R24,1
016A E0E0 ldi R30,0
016C 9E07 cpc R25,R30
016E 49F4 brne L43
0170 .dbline 150
0170 ; {
0170 .dbline 151
0170 ; if((PINB & (1 << cKey2)) == 0) //Key Pressed
0170 B199 sbic 0x16,1
0172 1AC0 rjmp L44
0174 .dbline 152
0174 ; {
0174 .dbline 153
0174 ; wKeyStatus = 0;
0174 2224 clr R2
0176 3324 clr R3
0178 30920700 sts L42+1,R3
017C 20920600 sts L42,R2
0180 .dbline 154
0180 ; }
0180 .dbline 155
0180 ; }
0180 13C0 xjmp L44
0182 L43:
0182 .dbline 156
0182 ; else if(wKeyStatus == 0)
0182 20900600 lds R2,L42
0186 30900700 lds R3,L42+1
018A 2220 tst R2
018C 69F4 brne L47
018E 3320 tst R3
0190 59F4 brne L47
0192 X4:
0192 .dbline 157
0192 ; {
0192 .dbline 158
0192 ; if(PINB & (1 << cKey2)) //Key Released
0192 B19B sbis 0x16,1
0194 09C0 rjmp L49
0196 .dbline 159
0196 ; {
0196 .dbline 160
0196 ; wKeyStatus = 1;
0196 81E0 ldi R24,1
0198 90E0 ldi R25,0
019A 90930700 sts L42+1,R25
019E 80930600 sts L42,R24
01A2 .dbline 161
01A2 ; return(true);
01A2 01E0 ldi R16,1
01A4 10E0 ldi R17,0
01A6 02C0 xjmp L41
01A8 L49:
01A8 .dbline 163
01A8 ; }
01A8 ; }
01A8 L47:
01A8 L44:
01A8 .dbline 164
01A8 ; return(false);
01A8 0027 clr R16
01AA 1127 clr R17
01AC .dbline -2
01AC L41:
01AC .dbline 0 ; func end
01AC 0895 ret
01AE .dbend
.area data(ram, con, rel)
0008 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
0008 L52:
0008 .blkb 2
.area idata
0008 0100 .word 1
.area data(ram, con, rel)
000A .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\多任务模拟系统设计\misc.c
.area text(rom, con, rel)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -