⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 app.lis

📁 AVR单片机 C语言程序设计经典实用
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0072           ; INT8U Get_Key1(void)
 0072           ; {
 0072                   .dbline 105
 0072           ;       static INT8U Key_Flag = 0;
 0072           ;       if(Key_Flag == 0)
 0072 20900100          lds R2,L16
 0076 2220              tst R2
 0078 31F4              brne L17
 007A                   .dbline 106
 007A           ;       {
 007A                   .dbline 107
 007A           ;               if((PINB & 0x20) == 0x00)
 007A B599              sbic 0x16,5
 007C 11C0              rjmp L18
 007E                   .dbline 108
 007E           ;               {
 007E                   .dbline 109
 007E           ;                       Key_Flag = 1;
 007E 81E0              ldi R24,1
 0080 80930100          sts L16,R24
 0084                   .dbline 110
 0084           ;               }
 0084                   .dbline 111
 0084           ;       }
 0084 0DC0              xjmp L18
 0086           L17:
 0086                   .dbline 112
 0086           ;       else if(Key_Flag == 1)
 0086 80910100          lds R24,L16
 008A 8130              cpi R24,1
 008C 49F4              brne L21
 008E                   .dbline 113
 008E           ;       {
 008E                   .dbline 114
 008E           ;               if((PINB & 0x20) == 0x20)
 008E 86B3              in R24,0x16
 0090 8072              andi R24,32
 0092 8032              cpi R24,32
 0094 29F4              brne L23
 0096                   .dbline 115
 0096           ;               {
 0096                   .dbline 116
 0096           ;                       Key_Flag = 0;
 0096 2224              clr R2
 0098 20920100          sts L16,R2
 009C                   .dbline 117
 009C           ;                       return(true);
 009C 01E0              ldi R16,1
 009E 01C0              xjmp L15
 00A0           L23:
 00A0                   .dbline 119
 00A0           ;               }
 00A0           ;       }
 00A0           L21:
 00A0           L18:
 00A0                   .dbline 120
 00A0           ;       return(false);
 00A0 0027              clr R16
 00A2                   .dbline -2
 00A2           L15:
 00A2                   .dbline 0 ; func end
 00A2 0895              ret
 00A4                   .dbend
                        .area data(ram, con, rel)
 0002                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\app.c
 0002           L26:
 0002                   .blkb 1
                        .area idata
 0002 00                .byte 0
                        .area data(ram, con, rel)
 0003                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\app.c
                        .area text(rom, con, rel)
 00A4                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\app.c
 00A4                   .dbfunc e Get_Key2 _Get_Key2 fc
 00A4                   .dbsym s Key_Flag L26 c
                        .even
 00A4           _Get_Key2::
 00A4                   .dbline -1
 00A4                   .dbline 124
 00A4           ; }
 00A4           ; 
 00A4           ; INT8U Get_Key2(void)
 00A4           ; {
 00A4                   .dbline 126
 00A4           ;       static INT8U Key_Flag = 0;
 00A4           ;       if(Key_Flag == 0)
 00A4 20900200          lds R2,L26
 00A8 2220              tst R2
 00AA 31F4              brne L27
 00AC                   .dbline 127
 00AC           ;       {
 00AC                   .dbline 128
 00AC           ;               if((PINB & 0x40) == 0x00)
 00AC B699              sbic 0x16,6
 00AE 11C0              rjmp L28
 00B0                   .dbline 129
 00B0           ;               {
 00B0                   .dbline 130
 00B0           ;                       Key_Flag = 1;
 00B0 81E0              ldi R24,1
 00B2 80930200          sts L26,R24
 00B6                   .dbline 131
 00B6           ;               }
 00B6                   .dbline 132
 00B6           ;       }
 00B6 0DC0              xjmp L28
 00B8           L27:
 00B8                   .dbline 133
 00B8           ;       else if(Key_Flag == 1)
 00B8 80910200          lds R24,L26
 00BC 8130              cpi R24,1
 00BE 49F4              brne L31
 00C0                   .dbline 134
 00C0           ;       {
 00C0                   .dbline 135
 00C0           ;               if((PINB & 0x40) == 0x40)
 00C0 86B3              in R24,0x16
 00C2 8074              andi R24,64
 00C4 8034              cpi R24,64
 00C6 29F4              brne L33
 00C8                   .dbline 136
 00C8           ;               {
 00C8                   .dbline 137
 00C8           ;                       Key_Flag = 0;
 00C8 2224              clr R2
 00CA 20920200          sts L26,R2
 00CE                   .dbline 138
 00CE           ;                       return(true);
 00CE 01E0              ldi R16,1
 00D0 01C0              xjmp L25
 00D2           L33:
 00D2                   .dbline 140
 00D2           ;               }
 00D2           ;       }
 00D2           L31:
 00D2           L28:
 00D2                   .dbline 141
 00D2           ;       return(false);
 00D2 0027              clr R16
 00D4                   .dbline -2
 00D4           L25:
 00D4                   .dbline 0 ; func end
 00D4 0895              ret
 00D6                   .dbend
                        .area data(ram, con, rel)
 0003                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\app.c
 0003           L36:
 0003                   .blkb 1
                        .area idata
 0003 00                .byte 0
                        .area data(ram, con, rel)
 0004                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\app.c
                        .area text(rom, con, rel)
 00D6                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\字符型LCD显示应用设计\app.c
 00D6                   .dbfunc e Get_Key3 _Get_Key3 fc
 00D6                   .dbsym s Key_Flag L36 c
                        .even
 00D6           _Get_Key3::
 00D6                   .dbline -1
 00D6                   .dbline 145
 00D6           ; }
 00D6           ; 
 00D6           ; INT8U Get_Key3(void)
 00D6           ; {
 00D6                   .dbline 147
 00D6           ;       static INT8U Key_Flag = 0;
 00D6           ;       if(Key_Flag == 0)
 00D6 20900300          lds R2,L36
 00DA 2220              tst R2
 00DC 31F4              brne L37
 00DE                   .dbline 148
 00DE           ;       {
 00DE                   .dbline 149
 00DE           ;               if((PINB & 0x80) == 0x00)
 00DE B799              sbic 0x16,7
 00E0 11C0              rjmp L38
 00E2                   .dbline 150
 00E2           ;               {
 00E2                   .dbline 151
 00E2           ;                       Key_Flag = 1;
 00E2 81E0              ldi R24,1
 00E4 80930300          sts L36,R24
 00E8                   .dbline 152
 00E8           ;               }
 00E8                   .dbline 153
 00E8           ;       }
 00E8 0DC0              xjmp L38
 00EA           L37:
 00EA                   .dbline 154
 00EA           ;       else if(Key_Flag == 1)
 00EA 80910300          lds R24,L36
 00EE 8130              cpi R24,1
 00F0 49F4              brne L41
 00F2                   .dbline 155
 00F2           ;       {
 00F2                   .dbline 156
 00F2           ;               if((PINB & 0x80) == 0x80)
 00F2 86B3              in R24,0x16
 00F4 8078              andi R24,128
 00F6 8038              cpi R24,128
 00F8 29F4              brne L43
 00FA                   .dbline 157
 00FA           ;               {
 00FA                   .dbline 158
 00FA           ;                       Key_Flag = 0;
 00FA 2224              clr R2
 00FC 20920300          sts L36,R2
 0100                   .dbline 159
 0100           ;                       return(true);
 0100 01E0              ldi R16,1
 0102 01C0              xjmp L35
 0104           L43:
 0104                   .dbline 161
 0104           ;               }
 0104           ;       }
 0104           L41:
 0104           L38:
 0104                   .dbline 162
 0104           ;       return(false);
 0104 0027              clr R16
 0106                   .dbline -2
 0106           L35:
 0106                   .dbline 0 ; func end
 0106 0895              ret
 0108                   .dbend
 0108                   .dbfunc e Buzzer_ON _Buzzer_ON fV
                        .even
 0108           _Buzzer_ON::
 0108                   .dbline -1
 0108                   .dbline 172
 0108           ; }
 0108           ; 
 0108           ; //***************************************************************
 0108           ; // Function    : Buzzer_ON/OFF
 0108           ; // Input       : none
 0108           ; // Output      : none
 0108           ; // Description : Buzzer ON/OFF Control
 0108           ; //***************************************************************
 0108           ; void Buzzer_ON(void)
 0108           ; {
 0108                   .dbline 173
 0108           ;       PORTB |= 0x08;
 0108 C39A              sbi 0x18,3
 010A                   .dbline -2
 010A                   .dbline 174
 010A           ; }
 010A           L45:
 010A                   .dbline 0 ; func end
 010A 0895              ret
 010C                   .dbend
 010C                   .dbfunc e Buzzer_OFF _Buzzer_OFF fV
                        .even
 010C           _Buzzer_OFF::
 010C                   .dbline -1
 010C                   .dbline 177
 010C           ; 
 010C           ; void Buzzer_OFF(void)
 010C           ; {
 010C                   .dbline 178
 010C           ;       PORTB &= ~0x08;
 010C C398              cbi 0x18,3
 010E                   .dbline -2
 010E                   .dbline 179
 010E           ; }
 010E           L46:
 010E                   .dbline 0 ; func end
 010E 0895              ret
 0110                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -