📄 adc.s
字号:
.module adc.c
.area text(rom, con, rel)
.dbfile E:\ICCAVR\project\AVRMEG~2\icc\008-AD-LED\adc.c
.dbfunc e get_ad _get_ad fc
; i -> R16
.even
_get_ad::
.dbline -1
.dbline 4
; #include "iom16v.h"
;
; /*ADC采样函数,采样第7通道信号,采样分辨率256*/
; unsigned char get_ad(void) {
.dbline 8
;
; unsigned char i;
;
; ADMUX = 0x67; /*基准AVCC、左对齐、通道7*/
ldi R24,103
out 0x7,R24
.dbline 9
; ADCSRA = 0xC2; /*使能、开启、4分频*/
ldi R24,194
out 0x6,R24
L2:
.dbline 10
L3:
.dbline 10
; while(!(ADCSRA & (1 << ADIF))); /*等待*/
sbis 0x6,4
rjmp L2
.dbline 11
; i = ADCH;
in R16,0x5
.dbline 12
; ADCSRA &= ~(1 << ADIF); /*清标志*/
cbi 0x6,4
.dbline 13
; ADCSRA &= ~(1 << ADEN); /*关闭转换*/
cbi 0x6,7
.dbline 15
;
; return i;
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbsym r i 16 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -