?? 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 + -