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

📄 adc_led.lis

📁 这是atmega128单片机的模数转换程序
💻 LIS
字号:
                        .module ADC_led.c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\DOCUME~1\wdd\桌面\模数转换\adc_led\ADC_led.c
 0000                   .dbfunc e s_ms _s_ms fV
 0000           ;             ms -> R16,R17
                        .even
 0000           _s_ms::
 0000                   .dbline -1
 0000                   .dbline 6
 0000           ; #include<iom128v.h>
 0000           ; #define uchar unsigned char 
 0000           ; #define uint unsigned int 
 0000           ; 
 0000           ; void s_ms(uint ms)
 0000           ; {
 0000                   .dbline 7
 0000           ;       for(;ms>1;ms--);
 0000 02C0              xjmp L5
 0002           L2:
 0002                   .dbline 7
 0002           L3:
 0002                   .dbline 7
 0002 0150              subi R16,1
 0004 1040              sbci R17,0
 0006           L5:
 0006                   .dbline 7
 0006 81E0              ldi R24,1
 0008 90E0              ldi R25,0
 000A 8017              cp R24,R16
 000C 9107              cpc R25,R17
 000E C8F3              brlo L2
 0010           X0:
 0010                   .dbline -2
 0010           L1:
 0010                   .dbline 0 ; func end
 0010 0895              ret
 0012                   .dbsym r ms 16 i
 0012                   .dbend
 0012                   .dbfunc e main _main fI
 0012           ;          adc_h -> R12
 0012           ;          adc_l -> R10
 0012           ;              i -> R20
                        .even
 0012           _main::
 0012                   .dbline -1
 0012                   .dbline 13
 0012           ; }     
 0012           ; 
 0012           ; //ADC0测试,用8位LED显示ADHL
 0012           ; //主函数
 0012           ; main()
 0012           ; {
 0012                   .dbline 15
 0012           ; uchar adc_l,adc_h,i;
 0012           ; DDRA=0xff;
 0012 8FEF              ldi R24,255
 0014 8ABB              out 0x1a,R24
 0016                   .dbline 16
 0016           ; PORTA=0x00;
 0016 2224              clr R2
 0018 2BBA              out 0x1b,R2
 001A                   .dbline 17
 001A           ; DDRB=0xff;
 001A 87BB              out 0x17,R24
 001C                   .dbline 18
 001C           ; DDRD=0xff;
 001C 81BB              out 0x11,R24
 001E                   .dbline 19
 001E           ; PORTD=0x00;
 001E 22BA              out 0x12,R2
 0020                   .dbline 20
 0020           ; DDRF=0x00;
 0020 20926100          sts 97,R2
 0024                   .dbline 21
 0024           ; PORTF=0x00;
 0024 20926200          sts 98,R2
 0028                   .dbline 22
 0028           ; DDRG=0xff;
 0028 80936400          sts 100,R24
 002C                   .dbline 23
 002C           ; PORTG=0xff;
 002C 80936500          sts 101,R24
 0030 16C0              xjmp L8
 0032           L7:
 0032                   .dbline 26
 0032           ; 
 0032           ; while(1)
 0032           ;      { 
 0032                   .dbline 27
 0032           ;      ADCSRA=0x00;
 0032 2224              clr R2
 0034 26B8              out 0x6,R2
 0036                   .dbline 28
 0036           ;      ADMUX=0x40;    //AVCC参考电压 ADC0输入
 0036 80E4              ldi R24,64
 0038 87B9              out 0x7,R24
 003A                   .dbline 29
 003A           ;      ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADFR)|0x07;   //128分频,循环取值
 003A 87EE              ldi R24,231
 003C 86B9              out 0x6,R24
 003E                   .dbline 31
 003E           ; 
 003E           ;      s_ms(500);         //延时
 003E 04EF              ldi R16,500
 0040 11E0              ldi R17,1
 0042 DEDF              xcall _s_ms
 0044                   .dbline 33
 0044           ; 
 0044           ;      adc_l=ADCL;
 0044 A4B0              in R10,0x4
 0046                   .dbline 34
 0046           ;      adc_h=ADCH;
 0046 C5B0              in R12,0x5
 0048                   .dbline 36
 0048           ; 
 0048           ;        PORTA=~adc_l;
 0048 2A2C              mov R2,R10
 004A 2094              com R2
 004C 2BBA              out 0x1b,R2
 004E                   .dbline 37
 004E           ;        for(i=0;i<10;i++)
 004E 4427              clr R20
 0050 04C0              xjmp L13
 0052           L10:
 0052                   .dbline 38
 0052           ;           {
 0052                   .dbline 39
 0052           ;                s_ms(60000);
 0052 00E6              ldi R16,60000
 0054 1AEE              ldi R17,234
 0056 D4DF              xcall _s_ms
 0058                   .dbline 40
 0058           ;               }
 0058           L11:
 0058                   .dbline 37
 0058 4395              inc R20
 005A           L13:
 005A                   .dbline 37
 005A 4A30              cpi R20,10
 005C D0F3              brlo L10
 005E           X1:
 005E                   .dbline 41
 005E           ;        }
 005E           L8:
 005E                   .dbline 25
 005E E9CF              xjmp L7
 0060           X2:
 0060                   .dbline -2
 0060           L6:
 0060                   .dbline 0 ; func end
 0060 0895              ret
 0062                   .dbsym r adc_h 12 c
 0062                   .dbsym r adc_l 10 c
 0062                   .dbsym r i 20 c
 0062                   .dbend
 0062           ; }
 0062           ; 
 0062           ; 

⌨️ 快捷键说明

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