📄 main.lis
字号:
00C8 .dbsym s buzzer_status L25 c
00C8 .dbsym s buzzer_count L24 c
00C8 .dbsym s key_count L23 i
.even
00C8 _Timer0_Interrupt::
00C8 0E940000 xcall push_lset
00CC .dbline -1
00CC .dbline 66
00CC ;
00CC ; //***************************************************************
00CC ; // Function : Timer0_Interrupt
00CC ; // Input : none
00CC ; // Output : none
00CC ; // Description : ATmega16 T/C0 ISR
00CC ; //***************************************************************
00CC ; #pragma interrupt_handler Timer0_Interrupt:20
00CC ; void Timer0_Interrupt(void)
00CC ; {
00CC .dbline 72
00CC ; static INT16U key_count = 0;
00CC ; static INT8U buzzer_count = 0;
00CC ; static INT8U buzzer_status = 0;
00CC ;
00CC ; //Clear Timer0 OCIF Flag
00CC ; TIFR |= 0x02;
00CC 88B7 in R24,0x38
00CE 8260 ori R24,2
00D0 88BF out 0x38,R24
00D2 .dbline 73
00D2 ; TCNT0 = 0x00;
00D2 2224 clr R2
00D4 22BE out 0x32,R2
00D6 .dbline 75
00D6 ; //Key Detection
00D6 ; if(Get_Key0() == true)
00D6 0E940000 xcall _Get_Key0
00DA 0130 cpi R16,1
00DC 59F4 brne L26
00DE .dbline 76
00DE ; {
00DE .dbline 77
00DE ; Key0_Flag = 1;
00DE 81E0 ldi R24,1
00E0 80930000 sts _Key0_Flag,R24
00E4 .dbline 78
00E4 ; key_count = 0;
00E4 2224 clr R2
00E6 3324 clr R3
00E8 30920600 sts L23+1,R3
00EC 20920500 sts L23,R2
00F0 .dbline 79
00F0 ; buzzer_status = 1;
00F0 80930800 sts L25,R24
00F4 .dbline 80
00F4 ; }
00F4 L26:
00F4 .dbline 81
00F4 ; if(Get_Key1() == true)
00F4 0E940000 xcall _Get_Key1
00F8 0130 cpi R16,1
00FA 59F4 brne L28
00FC .dbline 82
00FC ; {
00FC .dbline 83
00FC ; Key1_Flag = 1;
00FC 81E0 ldi R24,1
00FE 80930100 sts _Key1_Flag,R24
0102 .dbline 84
0102 ; key_count = 0;
0102 2224 clr R2
0104 3324 clr R3
0106 30920600 sts L23+1,R3
010A 20920500 sts L23,R2
010E .dbline 85
010E ; buzzer_status = 1;
010E 80930800 sts L25,R24
0112 .dbline 86
0112 ; }
0112 L28:
0112 .dbline 87
0112 ; if(Get_Key2() == true)
0112 0E940000 xcall _Get_Key2
0116 0130 cpi R16,1
0118 59F4 brne L30
011A .dbline 88
011A ; {
011A .dbline 89
011A ; Key2_Flag = 1;
011A 81E0 ldi R24,1
011C 80930200 sts _Key2_Flag,R24
0120 .dbline 90
0120 ; key_count = 0;
0120 2224 clr R2
0122 3324 clr R3
0124 30920600 sts L23+1,R3
0128 20920500 sts L23,R2
012C .dbline 91
012C ; buzzer_status = 1;
012C 80930800 sts L25,R24
0130 .dbline 92
0130 ; }
0130 L30:
0130 .dbline 93
0130 ; if(Get_Key3() == true)
0130 0E940000 xcall _Get_Key3
0134 0130 cpi R16,1
0136 59F4 brne L32
0138 .dbline 94
0138 ; {
0138 .dbline 95
0138 ; Key3_Flag = 1;
0138 81E0 ldi R24,1
013A 80930300 sts _Key3_Flag,R24
013E .dbline 96
013E ; key_count = 0;
013E 2224 clr R2
0140 3324 clr R3
0142 30920600 sts L23+1,R3
0146 20920500 sts L23,R2
014A .dbline 97
014A ; buzzer_status = 1;
014A 80930800 sts L25,R24
014E .dbline 98
014E ; }
014E L32:
014E .dbline 100
014E ; //No Key Count
014E ; if(key_count++ >= 500)
014E 20900500 lds R2,L23
0152 30900600 lds R3,L23+1
0156 C101 movw R24,R2
0158 0196 adiw R24,1
015A 90930600 sts L23+1,R25
015E 80930500 sts L23,R24
0162 C101 movw R24,R2
0164 843F cpi R24,244
0166 E1E0 ldi R30,1
0168 9E07 cpc R25,R30
016A 48F0 brlo L34
016C .dbline 101
016C ; {
016C .dbline 102
016C ; key_count = 0;
016C 2224 clr R2
016E 3324 clr R3
0170 30920600 sts L23+1,R3
0174 20920500 sts L23,R2
0178 .dbline 103
0178 ; NoKey_Flag = 1;
0178 81E0 ldi R24,1
017A 80930400 sts _NoKey_Flag,R24
017E .dbline 104
017E ; }
017E L34:
017E .dbline 106
017E ; //Buzzer Control
017E ; if(buzzer_status == 1)
017E 80910800 lds R24,L25
0182 8130 cpi R24,1
0184 99F4 brne L36
0186 .dbline 107
0186 ; {
0186 .dbline 108
0186 ; Buzzer_ON();
0186 0E940000 xcall _Buzzer_ON
018A .dbline 109
018A ; if(buzzer_count++ >= 50)
018A 20900700 lds R2,L24
018E 3324 clr R3
0190 822D mov R24,R2
0192 8F5F subi R24,255 ; addi 1
0194 80930700 sts L24,R24
0198 822D mov R24,R2
019A 8233 cpi R24,50
019C 38F0 brlo L38
019E .dbline 110
019E ; {
019E .dbline 111
019E ; Buzzer_OFF();
019E 0E940000 xcall _Buzzer_OFF
01A2 .dbline 112
01A2 ; buzzer_status = 0;
01A2 2224 clr R2
01A4 20920800 sts L25,R2
01A8 .dbline 113
01A8 ; buzzer_count = 0;
01A8 20920700 sts L24,R2
01AC .dbline 114
01AC ; }
01AC L38:
01AC .dbline 115
01AC L36:
01AC .dbline -2
01AC .dbline 116
01AC ; }
01AC ; }
01AC L22:
01AC 0E940000 xcall pop_lset
01B0 .dbline 0 ; func end
01B0 1895 reti
01B2 .dbend
.area data(ram, con, rel)
0009 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
0009 L21:
0009 .blkb 18
.area idata
0009 4E6F204B657920507265737365642120 .byte 'N,'o,32,'K,'e,'y,32,'P,'r,'e,'s,'s,'e,'d,33,32
0019 2000 .byte 32,0
.area data(ram, con, rel)
001B .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
001B L18:
001B .blkb 18
.area idata
001B 4B657933206973205072657373656421 .byte 'K,'e,'y,51,32,'i,'s,32,'P,'r,'e,'s,'s,'e,'d,33
002B 2000 .byte 32,0
.area data(ram, con, rel)
002D .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
002D L15:
002D .blkb 18
.area idata
002D 4B657932206973205072657373656421 .byte 'K,'e,'y,50,32,'i,'s,32,'P,'r,'e,'s,'s,'e,'d,33
003D 2000 .byte 32,0
.area data(ram, con, rel)
003F .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
003F L12:
003F .blkb 18
.area idata
003F 4B657931206973205072657373656421 .byte 'K,'e,'y,49,32,'i,'s,32,'P,'r,'e,'s,'s,'e,'d,33
004F 2000 .byte 32,0
.area data(ram, con, rel)
0051 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
0051 L9:
0051 .blkb 18
.area idata
0051 4B657930206973205072657373656421 .byte 'K,'e,'y,48,32,'i,'s,32,'P,'r,'e,'s,'s,'e,'d,33
0061 2000 .byte 32,0
.area data(ram, con, rel)
0063 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
0063 L3:
0063 .blkb 17
.area idata
0063 4E6F204B657920507265737365642120 .byte 'N,'o,32,'K,'e,'y,32,'P,'r,'e,'s,'s,'e,'d,33,32
0073 00 .byte 0
.area data(ram, con, rel)
0074 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
0074 L2:
0074 .blkb 17
.area idata
0074 3D2A3D204B45592044454D4F203D2A3D .byte 61,42,61,32,'K,'E,'Y,32,'D,'E,'M,'O,32,61,42,61
0084 00 .byte 0
.area data(ram, con, rel)
0085 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -