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

📄 adc.s

📁 用AVR单片机做的一些程序,包括跑马灯显示,PWM产生,ADC转换等
💻 S
字号:
	.module adc.c
	.area text(rom, con, rel)
	.dbfile E:\ICCAVR\project\AVRMEG~3\icc\009-AD-LED4\adc.c
	.dbfunc e get_ad _get_ad fi
;              i -> R16,R17
	.even
_get_ad::
	.dbline -1
	.dbline 7
; /*
; AD采样函数,标准10位精度采样函数,可以项目里直接使用。
; */
; #include "iom128v.h"
; 
; /*ADC采样函数,采样第0通道信号,采样分辨率1024*/
; unsigned int get_ad(void) {
	.dbline 11
; 
; 	unsigned int i;
; 	
; 	ADMUX = (1 << REFS0);								/*基准AVCC、通道0*/
	ldi R24,64
	out 0x7,R24
	.dbline 12
; 	ADCSRA = (1 << ADEN) | (1 << ADSC)					/*使能、开启*/
	ldi R24,195
	out 0x6,R24
L2:
	.dbline 14
L3:
	.dbline 14
; 			| (1 << ADPS1) | (1 << ADPS0);				/*8分频*/
; 	while(!(ADCSRA & (1 << ADIF)));						/*等待采样结束*/
	sbis 0x6,4
	rjmp L2
	.dbline 15
; 	i = ADC;											/*读取AD结果*/
	in R16,0x4
	in R17,0x5
	.dbline 16
; 	ADCSRA &= ~(1 << ADIF);								/*清标志*/
	cbi 0x6,4
	.dbline 17
; 	ADCSRA &= ~(1 << ADEN);								/*关闭转换*/
	cbi 0x6,7
	.dbline 19
; 
; 	return i;											/*返回结果*/
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 i
	.dbend

⌨️ 快捷键说明

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