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

📄 adc.lis

📁 AVR单片机ATMEGA128实习之—AD转换器(附带Proteus仿真例子)
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 003E                   .dbline 133
 003E           ;                               Display_type = 0x0;
 003E 2224              clr R2
 0040 20920200          sts _Display_type,R2
 0044                   .dbline 135
 0044           ;                               
 0044           ;                       }break;
 0044                   .dbline 135
 0044           L7:
 0044                   .dbline 138
 0044           ;               }
 0044           ; 
 0044           ;               if (Display_flag == 1)
 0044 80910500          lds R24,_Display_flag
 0048 8130              cpi R24,1
 004A 41F4              brne L12
 004C                   .dbline 139
 004C           ;               {
 004C                   .dbline 141
 004C           ;                       //DDRB |=0xF0;
 004C           ;                       LED_Display(Display_type,AD_sample_value);              //数码管显示
 004C 20910600          lds R18,_AD_sample_value
 0050 30910700          lds R19,_AD_sample_value+1
 0054 00910200          lds R16,_Display_type
 0058 E0D0              xcall _LED_Display
 005A                   .dbline 143
 005A           ;                       //DDRB |=0xF0;
 005A           ;               }
 005A 07C0              xjmp L13
 005C           L12:
 005C                   .dbline 145
 005C           ;               else
 005C           ;               {
 005C                   .dbline 147
 005C           ;                       
 005C           ;                       LED_Display(Display_type,AD_sample_value);
 005C 20910600          lds R18,_AD_sample_value
 0060 30910700          lds R19,_AD_sample_value+1
 0064 00910200          lds R16,_Display_type
 0068 D8D0              xcall _LED_Display
 006A                   .dbline 150
 006A           ;                       
 006A           ;                        
 006A           ;               }
 006A           L13:
 006A                   .dbline 154
 006A           ;               
 006A           ;               
 006A           ;               
 006A           ;               if (channel_0_flag == 0)
 006A 20900100          lds R2,_channel_0_flag
 006E 2220              tst R2
 0070 59F4              brne L14
 0072                   .dbline 155
 0072           ;               {
 0072                   .dbline 156
 0072           ;                       PORTB = Red_LED_on;
 0072 C098              cbi 0x18,0
 0074                   .dbline 158
 0074           ; 
 0074           ;                       for (i=0;i<30 ;i++ )
 0074 6627              clr R22
 0076 02C0              xjmp L19
 0078           L16:
 0078                   .dbline 159
 0078                   .dbline 160
 0078 60D0              xcall _Delay
 007A                   .dbline 161
 007A           L17:
 007A                   .dbline 158
 007A 6395              inc R22
 007C           L19:
 007C                   .dbline 158
 007C 6E31              cpi R22,30
 007E E0F3              brlo L16
 0080                   .dbline 163
 0080           ;                       {
 0080           ;                               Delay();
 0080           ;                       }
 0080           ; 
 0080           ;                       channel_0_flag = 1;
 0080 81E0              ldi R24,1
 0082 80930100          sts _channel_0_flag,R24
 0086                   .dbline 164
 0086           ;               }
 0086 01C0              xjmp L15
 0088           L14:
 0088                   .dbline 166
 0088           ;               else
 0088           ;               {
 0088                   .dbline 167
 0088           ;                       PORTB = Red_LED_off;
 0088 C09A              sbi 0x18,0
 008A                   .dbline 168
 008A           ;               }
 008A           L15:
 008A                   .dbline 170
 008A           ;               
 008A           ;               if (channel_1_flag == 0)
 008A 20900200          lds R2,_channel_1_flag
 008E 2220              tst R2
 0090 59F4              brne L20
 0092                   .dbline 171
 0092           ;               {
 0092                   .dbline 172
 0092           ;                       PORTB = Green_LED_on;
 0092 C198              cbi 0x18,1
 0094                   .dbline 174
 0094           ; 
 0094           ;                       for (i=0;i<30 ;i++ )
 0094 6627              clr R22
 0096 02C0              xjmp L25
 0098           L22:
 0098                   .dbline 175
 0098                   .dbline 176
 0098 50D0              xcall _Delay
 009A                   .dbline 177
 009A           L23:
 009A                   .dbline 174
 009A 6395              inc R22
 009C           L25:
 009C                   .dbline 174
 009C 6E31              cpi R22,30
 009E E0F3              brlo L22
 00A0                   .dbline 179
 00A0           ;                       {
 00A0           ;                               Delay();
 00A0           ;                       }
 00A0           ; 
 00A0           ;                       channel_1_flag = 1;
 00A0 81E0              ldi R24,1
 00A2 80930200          sts _channel_1_flag,R24
 00A6                   .dbline 180
 00A6           ;               }
 00A6 01C0              xjmp L21
 00A8           L20:
 00A8                   .dbline 182
 00A8           ;               else
 00A8           ;               {
 00A8                   .dbline 183
 00A8           ;                       PORTB = Green_LED_off;
 00A8 C19A              sbi 0x18,1
 00AA                   .dbline 184
 00AA           ;               }
 00AA           L21:
 00AA                   .dbline 186
 00AA           ; 
 00AA           ;               if (channel_2_flag == 0)
 00AA 20900300          lds R2,_channel_2_flag
 00AE 2220              tst R2
 00B0 59F4              brne L26
 00B2                   .dbline 187
 00B2           ;               {
 00B2                   .dbline 188
 00B2           ;                       PORTB = Yellow_LED_on;
 00B2 C298              cbi 0x18,2
 00B4                   .dbline 190
 00B4           ; 
 00B4           ;                       for (i=0;i<30 ;i++ )
 00B4 6627              clr R22
 00B6 02C0              xjmp L31
 00B8           L28:
 00B8                   .dbline 191
 00B8                   .dbline 192
 00B8 40D0              xcall _Delay
 00BA                   .dbline 193
 00BA           L29:
 00BA                   .dbline 190
 00BA 6395              inc R22
 00BC           L31:
 00BC                   .dbline 190
 00BC 6E31              cpi R22,30
 00BE E0F3              brlo L28
 00C0                   .dbline 195
 00C0           ;                       {
 00C0           ;                               Delay();
 00C0           ;                       }
 00C0           ; 
 00C0           ;                       channel_2_flag = 1;
 00C0 81E0              ldi R24,1
 00C2 80930300          sts _channel_2_flag,R24
 00C6                   .dbline 196
 00C6           ;               }
 00C6 01C0              xjmp L27
 00C8           L26:
 00C8                   .dbline 198
 00C8           ;               else
 00C8           ;               {
 00C8                   .dbline 199
 00C8           ;                       PORTB = Yellow_LED_off;
 00C8 C29A              sbi 0x18,2
 00CA                   .dbline 200
 00CA           ;               }
 00CA           L27:
 00CA                   .dbline 202
 00CA           ;               
 00CA           ;               if (channel_3_flag == 0)
 00CA 20900400          lds R2,_channel_3_flag
 00CE 2220              tst R2
 00D0 59F4              brne L32
 00D2                   .dbline 203
 00D2           ;               {
 00D2                   .dbline 204
 00D2           ;                       PORTB = Blue_LED_on;
 00D2 C398              cbi 0x18,3
 00D4                   .dbline 206
 00D4           ; 
 00D4           ;                       for (i=0;i<30 ;i++ )
 00D4 6627              clr R22
 00D6 02C0              xjmp L37
 00D8           L34:
 00D8                   .dbline 207
 00D8                   .dbline 208
 00D8 30D0              xcall _Delay
 00DA                   .dbline 209
 00DA           L35:
 00DA                   .dbline 206
 00DA 6395              inc R22
 00DC           L37:
 00DC                   .dbline 206
 00DC 6E31              cpi R22,30
 00DE E0F3              brlo L34
 00E0                   .dbline 211
 00E0           ;                       {
 00E0           ;                               Delay();
 00E0           ;                       }
 00E0           ; 
 00E0           ;                       channel_3_flag = 1;
 00E0 81E0              ldi R24,1
 00E2 80930400          sts _channel_3_flag,R24
 00E6                   .dbline 212
 00E6           ;               }
 00E6 8FCF              xjmp L2
 00E8           L32:
 00E8                   .dbline 214
 00E8                   .dbline 215
 00E8 C39A              sbi 0x18,3
 00EA                   .dbline 216
 00EA                   .dbline 217
 00EA                   .dbline 98
 00EA                   .dbline 98
 00EA 8DCF              xjmp L2
 00EC           X1:
 00EC                   .dbline -2
 00EC           L1:
 00EC                   .dbline 0 ; func end
 00EC 0895              ret
 00EE                   .dbsym r i 22 c
 00EE                   .dbend
 00EE                   .dbfunc e Port_initialize _Port_initialize fV
                        .even
 00EE           _Port_initialize::
 00EE                   .dbline -1
 00EE                   .dbline 221
 00EE           ;               else
 00EE           ;               {
 00EE           ;                       PORTB = Blue_LED_off;
 00EE           ;               }
 00EE           ;       }
 00EE           ; }
 00EE           ; 
 00EE           ; void Port_initialize(void)
 00EE           ; {
 00EE                   .dbline 222
 00EE           ;       DDRA = 0xFF;
 00EE 8FEF              ldi R24,255
 00F0 8ABB              out 0x1a,R24
 00F2                   .dbline 223
 00F2           ;       DDRB |= 0x0F;
 00F2 87B3              in R24,0x17
 00F4 8F60              ori R24,15
 00F6 87BB              out 0x17,R24
 00F8                   .dbline 224
 00F8           ;       DDRD = 0x00;
 00F8 2224              clr R2
 00FA 21BA              out 0x11,R2
 00FC                   .dbline 225
 00FC           ;       PORTB = 0xFF;
 00FC 8FEF              ldi R24,255
 00FE 88BB              out 0x18,R24
 0100                   .dbline -2
 0100                   .dbline 226
 0100           ; }
 0100           L38:
 0100                   .dbline 0 ; func end
 0100 0895              ret
 0102                   .dbend
 0102                   .dbfunc e ADC_initialize _ADC_initialize fV
                        .even
 0102           _ADC_initialize::
 0102                   .dbline -1
 0102                   .dbline 228
 0102           ; void ADC_initialize(void)
 0102           ; {
 0102                   .dbline 229
 0102           ;       ADMUX = 0x40;   //Vref = AVCC,right,channel = 0
 0102 80E4              ldi R24,64
 0104 87B9              out 0x7,R24
 0106                   .dbline 230
 0106           ;       ADCSR = 0x89;   //enable ADC,not start now,not continuous,F--,clock = f/2
 0106 89E8              ldi R24,137
 0108 86B9              out 0x6,R24
 010A                   .dbline -2
 010A                   .dbline 233
 010A           ; 
 010A           ; 
 010A           ; }
 010A           L39:
 010A                   .dbline 0 ; func end
 010A 0895              ret
 010C                   .dbend
 010C                   .dbfunc e INT_initialize _INT_initialize fV
                        .even
 010C           _INT_initialize::
 010C                   .dbline -1
 010C                   .dbline 235
 010C           ; void INT_initialize(void)
 010C           ; {
 010C                   .dbline 236

⌨️ 快捷键说明

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