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

📄 adc.lis

📁 AVR单片机ATMEGA内部自带AD转换器实例
💻 LIS
📖 第 1 页 / 共 4 页
字号:
                        .module adc.c
                        .area data(ram, con, rel)
 0000           _Type_flag::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile G:\猛\avr实践\AD\adc.c
 0001                   .dbsym e Type_flag _Type_flag c
 0001           _channel_0_flag::
 0001                   .blkb 1
                        .area idata
 0001 01                .byte 1
                        .area data(ram, con, rel)
 0002                   .dbfile G:\猛\avr实践\AD\adc.c
 0002                   .dbsym e channel_0_flag _channel_0_flag c
 0002           _channel_1_flag::
 0002                   .blkb 1
                        .area idata
 0002 01                .byte 1
                        .area data(ram, con, rel)
 0003                   .dbfile G:\猛\avr实践\AD\adc.c
 0003                   .dbsym e channel_1_flag _channel_1_flag c
 0003           _channel_2_flag::
 0003                   .blkb 1
                        .area idata
 0003 01                .byte 1
                        .area data(ram, con, rel)
 0004                   .dbfile G:\猛\avr实践\AD\adc.c
 0004                   .dbsym e channel_2_flag _channel_2_flag c
 0004           _channel_3_flag::
 0004                   .blkb 1
                        .area idata
 0004 01                .byte 1
                        .area data(ram, con, rel)
 0005                   .dbfile G:\猛\avr实践\AD\adc.c
 0005                   .dbsym e channel_3_flag _channel_3_flag c
 0005           _Display_flag::
 0005                   .blkb 1
                        .area idata
 0005 00                .byte 0
                        .area data(ram, con, rel)
 0006                   .dbfile G:\猛\avr实践\AD\adc.c
 0006                   .dbsym e Display_flag _Display_flag c
 0006           _LED_table::
 0006                   .blkb 2
                        .area idata
 0006 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0008                   .dbfile G:\猛\avr实践\AD\adc.c
 0008                   .blkb 2
                        .area idata
 0008 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 000A                   .dbfile G:\猛\avr实践\AD\adc.c
 000A                   .blkb 2
                        .area idata
 000A 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 000C                   .dbfile G:\猛\avr实践\AD\adc.c
 000C                   .blkb 2
                        .area idata
 000C 7D07              .byte 125,7
                        .area data(ram, con, rel)
 000E                   .dbfile G:\猛\avr实践\AD\adc.c
 000E                   .blkb 2
                        .area idata
 000E 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 0010                   .dbfile G:\猛\avr实践\AD\adc.c
 0010                   .blkb 2
                        .area idata
 0010 777C              .byte 'w,124
                        .area data(ram, con, rel)
 0012                   .dbfile G:\猛\avr实践\AD\adc.c
 0012                   .blkb 2
                        .area idata
 0012 395E              .byte 57,94
                        .area data(ram, con, rel)
 0014                   .dbfile G:\猛\avr实践\AD\adc.c
 0014                   .blkb 2
                        .area idata
 0014 7971              .byte 'y,'q
                        .area data(ram, con, rel)
 0016                   .dbfile G:\猛\avr实践\AD\adc.c
 0016                   .blkb 2
                        .area idata
 0016 7638              .byte 'v,56
                        .area data(ram, con, rel)
 0018                   .dbfile G:\猛\avr实践\AD\adc.c
 0018                   .blkb 2
                        .area idata
 0018 373E              .byte 55,62
                        .area data(ram, con, rel)
 001A                   .dbfile G:\猛\avr实践\AD\adc.c
 001A                   .blkb 2
                        .area idata
 001A 735C              .byte 's,92
                        .area data(ram, con, rel)
 001C                   .dbfile G:\猛\avr实践\AD\adc.c
 001C                   .blkb 2
                        .area idata
 001C 4000              .byte 64,0
                        .area data(ram, con, rel)
 001E                   .dbfile G:\猛\avr实践\AD\adc.c
 001E                   .dbsym e LED_table _LED_table A[24:24]c
                        .area vector(rom, abs)
                        .org 4
 0004 0C94A800          jmp _External_INT_0
                        .area data(ram, con, rel)
 001E                   .dbfile G:\猛\avr实践\AD\adc.c
                        .area vector(rom, abs)
                        .org 8
 0008 0C94EA00          jmp _External_INT_1
                        .area data(ram, con, rel)
 001E                   .dbfile G:\猛\avr实践\AD\adc.c
                        .area vector(rom, abs)
                        .org 12
 000C 0C940C01          jmp _External_INT_2
                        .area data(ram, con, rel)
 001E                   .dbfile G:\猛\avr实践\AD\adc.c
                        .area vector(rom, abs)
                        .org 84
 0054 0C94B600          jmp _ADC_INT
                        .area data(ram, con, rel)
 001E                   .dbfile G:\猛\avr实践\AD\adc.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\猛\avr实践\AD\adc.c
 0000                   .dbfunc e main _main fV
 0000           ;              i -> R22
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 90
 0000           ; #include <iom128.h>
 0000           ; #include <macros.h>
 0000           ; #include <math.h>
 0000           ; //LED 开关定义
 0000           ; 
 0000           ; #define   ADC_start                   0x40
 0000           ; 
 0000           ; #define         Red_LED_on            PORTB&~BIT(0)
 0000           ; #define         Red_LED_off           PORTB|(1<<0)
 0000           ; #define         Green_LED_on          PORTB&(~(1<<1))
 0000           ; #define         Green_LED_off         PORTB|(1<<1)
 0000           ; #define         Yellow_LED_on         PORTB&(~(1<<2))
 0000           ; #define         Yellow_LED_off        PORTB|(1<<2)
 0000           ; #define         Blue_LED_on           PORTB&(~(1<<3))
 0000           ; #define         Blue_LED_off          PORTB|(1<<3)
 0000           ; 
 0000           ; unsigned int AD_sample_value;
 0000           ; 
 0000           ; unsigned char Type_flag = 0;
 0000           ; unsigned char channel_0_flag = 1;
 0000           ; unsigned char channel_1_flag = 1;
 0000           ; unsigned char channel_2_flag = 1;
 0000           ; unsigned char channel_3_flag = 1;
 0000           ; 
 0000           ; //Display
 0000           ; unsigned char number_baifen;
 0000           ; unsigned char number_shifen;
 0000           ; unsigned char number_ge_dot;
 0000           ; unsigned char Display_type;
 0000           ; unsigned char Display_value;
 0000           ; unsigned char Display_flag = 0;
 0000           ; 
 0000           ; unsigned char LED_table[]=
 0000           ; {  
 0000           ;    0x3F,  //"0"
 0000           ;    0x06,  //"1"
 0000           ;    0x5B,  //"2"
 0000           ;    0x4F,  //"3"
 0000           ;    0x66,  //"4"
 0000           ;    0x6D,  //"5"
 0000           ;    0x7D,  //"6"
 0000           ;    0x07,  //"7"
 0000           ;    0x7F,  //"8"
 0000           ;    0x6F,  //"9"
 0000           ;    0x77,  //"A"
 0000           ;    0x7C,  //"B"
 0000           ;    0x39,  //"C"
 0000           ;    0x5E,  //"D"
 0000           ;    0x79,  //"E"
 0000           ;    0x71,  //"F"
 0000           ;    0x76,  //"H"
 0000           ;    0x38,  //"L"
 0000           ;    0x37,  //"n"
 0000           ;    0x3E,  //"u"
 0000           ;    0x73,  //"P"
 0000           ;    0x5C,  //"o"
 0000           ;    0x40,  //"-"
 0000           ;    0x00,  //熄灭                     
 0000           ; };
 0000           ; 
 0000           ; //use for test;
 0000           ; 
 0000           ; unsigned char m;
 0000           ; 
 0000           ; //define Interrupt Vactor
 0000           ; 
 0000           ; #pragma interrupt_handler External_INT_0:2            //外部中断0
 0000           ; #pragma interrupt_handler External_INT_1:3            //外部中断1
 0000           ; #pragma interrupt_handler External_INT_2:4            //外部中断2
 0000           ; #pragma interrupt_handler ADC_INT:22          //ADC中断
 0000           ; 
 0000           ; //pre_define
 0000           ; 
 0000           ; void main(void);
 0000           ; void Port_initialize(void);
 0000           ; void ADC_initialize(void);
 0000           ; void INT_initialize(void);
 0000           ; void UART_initialize(void);
 0000           ; void Delay(void);
 0000           ; void External_INT_0(void);
 0000           ; void ADC_INT(void);
 0000           ; void External_INT_1(void);
 0000           ; void External_INT_2(void);
 0000           ; void LED_Display(unsigned char Channel_num,unsigned int Data);
 0000           ; void DATA_to_NUM(unsigned int data);
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 93
 0000           ;       unsigned char i;
 0000           ;       
 0000           ;       Port_initialize();
 0000 76D0              xcall _Port_initialize
 0002                   .dbline 95
 0002           ;       //UART_initialize();
 0002           ;       INT_initialize();
 0002 84D0              xcall _INT_initialize
 0004                   .dbline 96
 0004           ;       ADC_initialize();
 0004 7ED0              xcall _ADC_initialize
 0006                   .dbline 98
 0006           ;               
 0006           ;       for (; ; )
 0006           L2:
 0006                   .dbline 99
 0006           ;       {
 0006                   .dbline 101
 0006           ;               
 0006           ;               switch (Type_flag)
 0006 40910000          lds R20,_Type_flag
 000A 5527              clr R21
 000C 4130              cpi R20,1
 000E E0E0              ldi R30,0
 0010 5E07              cpc R21,R30
 0012 49F0              breq L9
 0014 4230              cpi R20,2
 0016 E0E0              ldi R30,0
 0018 5E07              cpc R21,R30
 001A 49F0              breq L10
 001C 4330              cpi R20,3
 001E E0E0              ldi R30,0
 0020 5E07              cpc R21,R30
 0022 49F0              breq L11
 0024 0CC0              xjmp L6
 0026           X0:
 0026                   .dbline 102
 0026           ;               {
 0026           L9:
 0026                   .dbline 111
 0026           ;                       /*case 0:                               //发送的数值
 0026           ;                       {
 0026           ;                               Display_type = 0;
 0026           ;                               Display_value = Tx_data;
 0026           ;                       
 0026           ;                       }break;
 0026           ;                       */
 0026           ;                       case 1:                         //发送计数
 0026           ;                       {
 0026                   .dbline 112
 0026           ;                               Display_type = 1;
 0026 81E0              ldi R24,1
 0028 80930200          sts _Display_type,R24
 002C                   .dbline 115
 002C           ;                               //Display_value = Tx_counter;
 002C           ;                       
 002C           ;                       }break;
 002C                   .dbline 115
 002C 0BC0              xjmp L7
 002E           L10:
 002E                   .dbline 118
 002E           ; 
 002E           ;                       case 2:                         //接收的数值
 002E           ;                       {
 002E                   .dbline 119
 002E           ;                               Display_type = 2;
 002E 82E0              ldi R24,2
 0030 80930200          sts _Display_type,R24
 0034                   .dbline 122
 0034           ;                               //Display_value = Rx_data;
 0034           ; 
 0034           ;                       }break;
 0034                   .dbline 122
 0034 07C0              xjmp L7
 0036           L11:
 0036                   .dbline 125
 0036           ; 
 0036           ;                       case 3:                         //接收计数
 0036           ;                       {
 0036                   .dbline 126
 0036           ;                               Display_type = 3;
 0036 83E0              ldi R24,3
 0038 80930200          sts _Display_type,R24
 003C                   .dbline 129
 003C           ;                               //Display_value = Rx_counter;
 003C           ;                       
 003C           ;                       }break;
 003C                   .dbline 129
 003C 03C0              xjmp L7
 003E           L6:
 003E                   .dbline 132
 003E           ; 
 003E           ;                       default:
 003E           ;                       {

⌨️ 快捷键说明

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