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

📄 adc.lis

📁 这是一个AD转换程序
💻 LIS
字号:
                        .module adc.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\ICCAVR\project\AVRMEG~3\icc\009-AD-LED4\adc.c
 0000                   .dbfunc e get_ad _get_ad fi
 0000           ;              i -> R16,R17
                        .even
 0000           _get_ad::
 0000                   .dbline -1
 0000                   .dbline 7
 0000           ; /*
 0000           ; AD采样函数,标准10位精度采样函数,可以项目里直接使用。
 0000           ; */
 0000           ; #include "iom128v.h"
 0000           ; 
 0000           ; /*ADC采样函数,采样第0通道信号,采样分辨率1024*/
 0000           ; unsigned int get_ad(void) {
 0000                   .dbline 11
 0000           ; 
 0000           ;       unsigned int i;
 0000           ;       
 0000           ;       ADMUX = (1 << REFS0);                                                           /*基准AVCC、通道0*/
 0000 80E4              ldi R24,64
 0002 87B9              out 0x7,R24
 0004                   .dbline 12
 0004           ;       ADCSRA = (1 << ADEN) | (1 << ADSC)                                      /*使能、开启*/
 0004 83EC              ldi R24,195
 0006 86B9              out 0x6,R24
 0008           L2:
 0008                   .dbline 14
 0008           L3:
 0008                   .dbline 14
 0008           ;                       | (1 << ADPS1) | (1 << ADPS0);                          /*8分频*/
 0008           ;       while(!(ADCSRA & (1 << ADIF)));                                         /*等待采样结束*/
 0008 349B              sbis 0x6,4
 000A FECF              rjmp L2
 000C                   .dbline 15
 000C           ;       i = ADC;                                                                                        /*读取AD结果*/
 000C 04B1              in R16,0x4
 000E 15B1              in R17,0x5
 0010                   .dbline 16
 0010           ;       ADCSRA &= ~(1 << ADIF);                                                         /*清标志*/
 0010 3498              cbi 0x6,4
 0012                   .dbline 17
 0012           ;       ADCSRA &= ~(1 << ADEN);                                                         /*关闭转换*/
 0012 3798              cbi 0x6,7
 0014                   .dbline 19
 0014           ; 
 0014           ;       return i;                                                                                       /*返回结果*/
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbsym r i 16 i
 0016                   .dbend

⌨️ 快捷键说明

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