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

📄 adc.s

📁 详细介绍M8两版间通讯
💻 S
字号:
	.module ADC.c
	.area data(ram, con, rel)
_adc_rel::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile G:\Mega8程序\TCXO评估板\Main\ADC.c
	.dbsym e adc_rel _adc_rel i
_adc_mux::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile G:\Mega8程序\TCXO评估板\Main\ADC.c
	.dbsym e adc_mux _adc_mux c
	.area text(rom, con, rel)
	.dbfile G:\Mega8程序\TCXO评估板\Main\ADC.c
	.dbfunc e adc_init _adc_init fV
	.even
_adc_init::
	.dbline -1
	.dbline 7
; #include <iom8v.h>
; #include <macros.h>
; #define Vref 4995//参考电压值
; unsigned int adc_rel=0;//AD转换结果
; unsigned char adc_mux=0;//AD通道,默认为0通道
; void adc_init(void)//ADC初始化,并启动AD转换
;  {DDRC=0x00;
	.dbline 7
	clr R2
	out 0x14,R2
	.dbline 8
; 	PORTC=0x00;
	out 0x15,R2
	.dbline 9
; 	ADCSRA = 0x00;
	out 0x6,R2
	.dbline 11
; 	//状态控制寄存器复位
; 	ADMUX =(1<<REFS0)|(adc_mux&0x0f);
	lds R24,_adc_mux
	andi R24,15
	ori R24,64
	out 0x7,R24
	.dbline 13
; 	//选择内部AVCC为基准,并选取当前转换通道(转换为0~7)
; 	ACSR  =(1<<ACD);
	ldi R24,128
	out 0x8,R24
	.dbline 15
; 	//关闭模拟比较器(使用ADC时必须关断)
; 	ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1) ;
	ldi R24,206
	out 0x6,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 28
	rjmp _adc_isr
	.area text(rom, con, rel)
	.dbfile G:\Mega8程序\TCXO评估板\Main\ADC.c
	.dbfunc e adc_isr _adc_isr fV
	.even
_adc_isr::
	st -y,R24
	st -y,R25
	in R24,0x3f
	st -y,R24
	.dbline -1
	.dbline 20
; 	//允许AD转换,启动AD转换,开启AD转换中断,64预分频
;  }
; #pragma interrupt_handler adc_isr:iv_ADC //ADC完成中断
; void adc_isr(void)
;  {adc_rel=ADC&0x3ff;
	.dbline 20
	in R24,0x4
	in R25,0x5
	andi R25,3
	sts _adc_rel+1,R25
	sts _adc_rel,R24
	.dbline 22
; 	//摒除高位数据,10位转换
; 	ADMUX=(1<<REFS0)|(adc_mux&0x0f);
	lds R24,_adc_mux
	andi R24,15
	ori R24,64
	out 0x7,R24
	.dbline 24
; 	//选择内部AVCC为基准,并选取当前转换通道(转换为0~7)
; 	ADCSRA|=(1<<ADSC);
	sbi 0x6,6
	.dbline -2
L2:
	ld R24,y+
	out 0x3f,R24
	ld R25,y+
	ld R24,y+
	.dbline 0 ; func end
	reti
	.dbend

⌨️ 快捷键说明

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