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