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

📄 ad_key.lis

📁 M16-Mp3.rar
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00EA 89EC              ldi R24,201
 00EC 8017              cp R24,R16
 00EE 30F4              brsh L22
 00F0           X14:
 00F0 033D              cpi R16,211
 00F2 20F4              brsh L22
 00F4           X15:
 00F4                   .dbline 48
 00F4 86E0              ldi R24,6
 00F6 80930000          sts _key_num,R24
 00FA 03C0              xjmp L23
 00FC           L22:
 00FC                   .dbline 49
 00FC           ;          else key_num=0;
 00FC 2224              clr R2
 00FE 20920000          sts _key_num,R2
 0102           L23:
 0102           L21:
 0102           L19:
 0102           L17:
 0102           L15:
 0102           L13:
 0102                   .dbline 51
 0102           ;          
 0102           ;          AD_Flag=1;
 0102 81E0              ldi R24,1
 0104 80930300          sts _AD_Flag,R24
 0108                   .dbline 52
 0108           ;     }
 0108 11C0              xjmp L7
 010A           L6:
 010A                   .dbline 53
 010A           ;       else if(AD_time==1)AD_data1 = AD_data;
 010A 80910200          lds R24,_AD_time
 010E 8130              cpi R24,1
 0110 29F4              brne L24
 0112           X16:
 0112                   .dbline 53
 0112 20900600          lds R2,_AD_data
 0116 20920500          sts _AD_data1,R2
 011A 08C0              xjmp L25
 011C           L24:
 011C                   .dbline 54
 011C           ;       else if(AD_time==2)AD_data2 = AD_data;
 011C 80910200          lds R24,_AD_time
 0120 8230              cpi R24,2
 0122 21F4              brne L26
 0124           X17:
 0124                   .dbline 54
 0124 20900600          lds R2,_AD_data
 0128 20920400          sts _AD_data2,R2
 012C           L26:
 012C           L25:
 012C           L7:
 012C                   .dbline 55
 012C           ;   }
 012C           L4:
 012C           L3:
 012C                   .dbline -2
 012C           L1:
 012C                   .dbline 0 ; func end
 012C 2990              ld R2,y+
 012E 2FBE              OUT 63,R2
 0130 9991              ld R25,y+
 0132 8991              ld R24,y+
 0134 0991              ld R16,y+
 0136 5990              ld R5,y+
 0138 4990              ld R4,y+
 013A 3990              ld R3,y+
 013C 2990              ld R2,y+
 013E 1895              reti
 0140                   .dbend
 0140                   .dbfunc e AD_Init _AD_Init fV
                        .even
 0140           _AD_Init::
 0140                   .dbline -1
 0140                   .dbline 66
 0140           ; } 
 0140           ; 
 0140           ; 
 0140           ; 
 0140           ; //---------------------------------//
 0140           ; //                                
 0140           ; //          AD初始化函数          
 0140           ; //                      
 0140           ; //---------------------------------//
 0140           ; void AD_Init(void)
 0140           ; {
 0140                   .dbline 67
 0140           ;   PORTA &= 0x7F;     // PA7无上拉 
 0140 8BB3              in R24,0x1b
 0142 8F77              andi R24,127
 0144 8BBB              out 0x1b,R24
 0146                   .dbline 68
 0146           ;   DDRA &= 0x7F;      // 设置PA7口为输入 
 0146 8AB3              in R24,0x1a
 0148 8F77              andi R24,127
 014A 8ABB              out 0x1a,R24
 014C                   .dbline 69
 014C           ;   ADMUX=0x67;         // 基准AVCC,左对齐选择第7通道
 014C 87E6              ldi R24,103
 014E 87B9              out 0x7,R24
 0150                   .dbline 70
 0150           ;   ADCSRA=0xCE;        // 采用单次转换模式,64分频 
 0150 8EEC              ldi R24,206
 0152 86B9              out 0x6,R24
 0154                   .dbline 71
 0154           ;   ADCSRA|=BIT(ADSC);  // 启动一次哑转换 
 0154 369A              sbi 0x6,6
 0156                   .dbline 72
 0156           ;   SREG=0x80;          // 开中断
 0156 80E8              ldi R24,128
 0158 8FBF              out 0x3f,R24
 015A                   .dbline -2
 015A           L28:
 015A                   .dbline 0 ; func end
 015A 0895              ret
 015C                   .dbend
 015C                   .dbfunc e TC0_handler _TC0_handler fV
                        .even
 015C           _TC0_handler::
 015C 0A92              st -y,R0
 015E 0FB6              IN R0,63
 0160 0A92              st -y,R0
 0162                   .dbline -1
 0162                   .dbline 83
 0162           ; }
 0162           ; 
 0162           ; 
 0162           ; 
 0162           ; //---------------------------------//
 0162           ; //                                
 0162           ; //          T/C0中断函数          
 0162           ; //                      
 0162           ; //---------------------------------//
 0162           ; void TC0_handler(void)
 0162           ; {
 0162                   .dbline 84
 0162           ;   ADCSRA|=BIT(ADSC);    // 进行一次AD转换
 0162 369A              sbi 0x6,6
 0164                   .dbline -2
 0164           L29:
 0164                   .dbline 0 ; func end
 0164 0990              ld R0,y+
 0166 0FBE              OUT 63,R0
 0168 0990              ld R0,y+
 016A 1895              reti
 016C                   .dbend
 016C                   .dbfunc e TC0_Init _TC0_Init fV
                        .even
 016C           _TC0_Init::
 016C                   .dbline -1
 016C                   .dbline 95
 016C           ; }
 016C           ; 
 016C           ; 
 016C           ; 
 016C           ; //---------------------------------//
 016C           ; //                                
 016C           ; //          T/C0初始化函数          
 016C           ; //                      
 016C           ; //---------------------------------//
 016C           ; void TC0_Init(void) 
 016C           ; { 
 016C                   .dbline 98
 016C           ;   // 16MHz模式下,16ms中断一次,作为AD采样间隔基准
 016C           ;   
 016C           ;   TCNT0=0;   // 定时器0初值
 016C 2224              clr R2
 016E 22BE              out 0x32,R2
 0170                   .dbline 100
 0170           ;         
 0170           ;   TCCR0 = BIT(CS02)| BIT(CS00);  // 预分频 ck/1024 ,启动计数器 
 0170 85E0              ldi R24,5
 0172 83BF              out 0x33,R24
 0174                   .dbline 102
 0174           ;   
 0174           ;   TIMSK = BIT(TOIE0);   // T/C0 中断允许 
 0174 81E0              ldi R24,1
 0176 89BF              out 0x39,R24
 0178                   .dbline -2
 0178           L30:
 0178                   .dbline 0 ; func end
 0178 0895              ret
 017A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\浪仔\桌面\教学实验板\M16_VS1003_test\AD_key.c
 0000           _key_num::
 0000                   .blkb 1
 0001                   .dbsym e key_num _key_num c
 0001           _tmp::
 0001                   .blkb 1
 0002                   .dbsym e tmp _tmp c
 0002           _AD_time::
 0002                   .blkb 1
 0003                   .dbsym e AD_time _AD_time c
 0003           _AD_Flag::
 0003                   .blkb 1
 0004                   .dbsym e AD_Flag _AD_Flag c
 0004           _AD_data2::
 0004                   .blkb 1
 0005                   .dbsym e AD_data2 _AD_data2 c
 0005           _AD_data1::
 0005                   .blkb 1
 0006                   .dbsym e AD_data1 _AD_data1 c
 0006           _AD_data::
 0006                   .blkb 1
 0007                   .dbsym e AD_data _AD_data c
 0007           ; } 

⌨️ 快捷键说明

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