📄 ad.lis
字号:
.module AD.C
.area text(rom, con, rel)
0000 .dbfile E:\新建文件夹\ADDA_ICC\cfile\AD.C
.area data(ram, con, rel)
0000 .dbfile E:\新建文件夹\ADDA_ICC\cfile\AD.C
0000 _adc_mux::
0000 .blkb 1
.area idata
0000 01 .byte 1
.area data(ram, con, rel)
0001 .dbfile E:\新建文件夹\ADDA_ICC\cfile\AD.C
0001 .dbsym e adc_mux _adc_mux c
.area text(rom, con, rel)
0000 .dbfile E:\新建文件夹\ADDA_ICC\cfile\AD.C
0000 .dbfunc e init_adc _init_adc fV
.even
0000 _init_adc::
0000 .dbline -1
0000 .dbline 8
0000 ; #define AD_C
0000 ; #include "includes.h"
0000 ; unsigned char adc_mux = 0x01 ;
0000 ;
0000 ; /******************************************************************************/
0000 ; /******************************************************************************/
0000 ; void init_adc(void)
0000 ; {
0000 .dbline 12
0000 ; //WDR(); //看门狗计数清零
0000 ; //WDTCR=0x0F; //使能watchdog,并且,采用2048K分频,典型溢出时间5V时2.1S
0000 ; // ADCSRA=0X00;
0000 ; ADCSRA = 0x00;
0000 2224 clr R2
0002 26B8 out 0x6,R2
0004 .dbline 13
0004 ; ADMUX =(adc_mux&0x1f)|(1<<REFS0)|(1<<REFS1); //参考电压为内部2.56
0004 80910000 lds R24,_adc_mux
0008 8F71 andi R24,31
000A 806C ori R24,192
000C 87B9 out 0x7,R24
000E .dbline 16
000E ; //ADMUX =(adc_mux&0x1f)|(1<<REFS0); //参考电压为内部AVCC
000E ; //ADMUX =(adc_mux&0x1f); //参考电压为引脚AREF
000E ; ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1) ;//64分频
000E 8EEC ldi R24,206
0010 86B9 out 0x6,R24
0012 .dbline 17
0012 ; asm("sei");
0012 7894 sei
0014 .dbline 18
0014 ; UBRRH = 25;
0014 89E1 ldi R24,25
0016 80BD out 0x20,R24
0018 .dbline 19
0018 ; UBRRL = 25;
0018 89B9 out 0x9,R24
001A .dbline 20
001A ; UCSRB=0x18;
001A 88E1 ldi R24,24
001C 8AB9 out 0xa,R24
001E .dbline 21
001E ; UCSRC=0x86;
001E 86E8 ldi R24,134
0020 80BD out 0x20,R24
0022 .dbline -2
0022 L1:
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbend
0024 ; }
0024 ;
0024 ; /******************************************************************************/
0024 ;
0024 ; /******************************************************************************/
0024 ; //ADC完成中断
0024 ; //#pragma vector = interrupt_handler adc_isr:iv_ADC
0024 ; // define the interrupt handler
0024 ; /*#pragma interrupt_handler adc1_isr:iv_ADC
0024 ; void adc1_isr(void)
0024 ; //#pragma vector=ADC_vect
0024 ; // __interrupt void adc_isr( void )
0024 ; {
0024 ; ADMUX =(adc_mux&0x1f)|(1<<REFS0)|(1<<REFS1);
0024 ; ADCSRA|=(1<<ADSC);//启动AD转换
0024 ; } */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -