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

📄 main.lis

📁 AVR16源代码 ICC编译器
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module main.c
                        .area data(ram, con, rel)
 0000           _JS::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0001                   .dbsym e JS _JS c
 0001           _JC::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0002                   .dbsym e JC _JC c
 0002           _JSM::
 0002                   .blkb 1
                        .area idata
 0002 00                .byte 0
                        .area data(ram, con, rel)
 0003                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0003                   .dbsym e JSM _JSM c
 0003           _mcount::
 0003                   .blkb 1
                        .area idata
 0003 00                .byte 0
                        .area data(ram, con, rel)
 0004                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0004                   .dbsym e mcount _mcount c
 0004           _TIMEHH::
 0004                   .blkb 2
                        .area idata
 0004 0000              .word 0
                        .area data(ram, con, rel)
 0006                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0006                   .dbsym e TIMEHH _TIMEHH i
 0006           _jydata::
 0006                   .blkb 4
                        .area idata
 0006 00000000          .word 0,0
                        .area data(ram, con, rel)
 000A                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 000A                   .dbsym e jydata _jydata L
                        .area vector(rom, abs)
                        .org 44
 002C 0C940000          jmp _uart0_rx_isr
                        .area data(ram, con, rel)
 000A                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0000                   .dbfunc e uart0_rx_isr _uart0_rx_isr fV
                        .even
 0000           _uart0_rx_isr::
 0000 2A92              st -y,R2
 0002 2FB6              in R2,0x3f
 0004 2A92              st -y,R2
 0006                   .dbline -1
 0006                   .dbline 46
 0006           ; /**************************************
 0006           ; **工程名称:雪深探测
 0006           ; **编译器类型及版本:ICCAVR 6.31A
 0006           ; **日期:2006.2.13
 0006           ; **创建人:覃道堂
 0006           ; **所属公司:北京华创升达
 0006           ; **************************************/
 0006           ; #include    <iom16v.h>
 0006           ; #include    <macros.h>
 0006           ; #include      "init.h"
 0006           ; #include      "Uart.h"
 0006           ; #include      "crc.h"
 0006           ; #include      "Eeprom16.h"
 0006           ; #include    "DS18B20.H"
 0006           ; //============================================================
 0006           ; //定义串口缓冲,同时声明数据Buffer
 0006           ; unsigned char SendData[100];       
 0006           ; unsigned char         SendBuf[100];
 0006           ; unsigned char         ReceiveBuf[150];
 0006           ; //============================================================
 0006           ; //申明外部温度变量
 0006           ; extern float temperature;
 0006           ; //============================================================
 0006           ; //定义EE缓冲变量
 0006           ; unsigned char EEBuffer[100];
 0006           ; extern a b;
 0006           ; //AT91S_PMC pAic1;
 0006           ; char JS=0,JC=0,JSM=0,mcount=0;
 0006           ; unsigned int TIMEL,TIMEH,TIMEHH=0;//超声波检测时间的低位字节和高位字节
 0006           ; long int LENGTH,jydata=0;
 0006           ; /**************************************
 0006           ; **芯片类型:ATmega16
 0006           ; **时钟频率:8M
 0006           ; **硬件接口说明:无
 0006           ; **函数功能说明:接收从串口接收到的数据
 0006           ; **函数输入参数及说明:无
 0006           ; **函数返回值:无
 0006           ; **在本函数以外定义的变量:字符型JSM
 0006           ; **调用的函数说明:无
 0006           ; **修改人:
 0006           ; **修改日期:
 0006           ; **修改说明:
 0006           ; **************************************/
 0006           ; #pragma interrupt_handler uart0_rx_isr:12
 0006           ; void uart0_rx_isr(void)
 0006           ; {
 0006                   .dbline 47
 0006           ;  JSM=UDR;
 0006 2CB0              in R2,0xc
 0008 20920200          sts _JSM,R2
 000C                   .dbline -2
 000C                   .dbline 48
 000C           ; }
 000C           L1:
 000C 2990              ld R2,y+
 000E 2FBE              out 0x3f,R2
 0010 2990              ld R2,y+
 0012                   .dbline 0 ; func end
 0012 1895              reti
 0014                   .dbend
                        .area vector(rom, abs)
                        .org 36
 0024 0C940A00          jmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 0014                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0014                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
                        .even
 0014           _timer0_ovf_isr::
 0014 2A92              st -y,R2
 0016 8A93              st -y,R24
 0018 9A93              st -y,R25
 001A 2FB6              in R2,0x3f
 001C 2A92              st -y,R2
 001E                   .dbline -1
 001E                   .dbline 64
 001E                   .dbline 65
 001E 8DE3              ldi R24,61
 0020 82BF              out 0x32,R24
 0022                   .dbline 66
 0022 80910300          lds R24,_mcount
 0026 8F5F              subi R24,255    ; addi 1
 0028 80930300          sts _mcount,R24
 002C                   .dbline 67
 002C 8830              cpi R24,8
 002E 31F4              brne L3
 0030                   .dbline 68
 0030                   .dbline 68
 0030 2224              clr R2
 0032 20920300          sts _mcount,R2
 0036                   .dbline 69
 0036 8FEF              ldi R24,255
 0038 80930100          sts _JC,R24
 003C                   .dbline 69
 003C           L3:
 003C                   .dbline -2
 003C                   .dbline 70
 003C           ; /**************************************
 003C           ; **芯片类型:ATmega16
 003C           ; **时钟频率:4M
 003C           ; **硬件接口说明:无
 003C           ; **函数功能说明:利用定时器0使检测标志5HZ变化一次
 003C           ; **函数输入参数及说明:无
 003C           ; **函数返回值:无
 003C           ; **在本函数以外定义的变量:无
 003C           ; **调用的函数说明:无
 003C           ; **修改人:
 003C           ; **修改日期:
 003C           ; **修改说明:
 003C           ; **************************************/
 003C           ; #pragma interrupt_handler timer0_ovf_isr:10
 003C           ; void timer0_ovf_isr(void)
 003C           ; {
 003C           ;  TCNT0 = 0x3D;//reload counter value
 003C           ;  mcount++;
 003C           ;  if(mcount==8)
 003C           ;  {mcount=0;
 003C           ;  JC=0xFF;}
 003C           ; }
 003C           L2:
 003C 2990              ld R2,y+
 003E 2FBE              out 0x3f,R2
 0040 9991              ld R25,y+
 0042 8991              ld R24,y+
 0044 2990              ld R2,y+
 0046                   .dbline 0 ; func end
 0046 1895              reti
 0048                   .dbend
                        .area vector(rom, abs)
                        .org 4
 0004 0C942400          jmp _int0_isr
                        .area text(rom, con, rel)
 0048                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0048                   .dbfunc e int0_isr _int0_isr fV
                        .even
 0048           _int0_isr::
 0048 2A92              st -y,R2
 004A 3A92              st -y,R3
 004C 8A93              st -y,R24
 004E 2FB6              in R2,0x3f
 0050 2A92              st -y,R2
 0052                   .dbline -1
 0052                   .dbline 87
 0052           ; /**************************************
 0052           ; **芯片类型:ATmega16
 0052           ; **时钟频率:4M
 0052           ; **硬件接口说明:无
 0052           ; **函数功能说明:利用外部中断0来检测超声波传感器回波
 0052           ; 收到回波后将计数器的值保存,并置位回波标志
 0052           ; **函数输入参数及说明:无
 0052           ; **函数返回值:无
 0052           ; **在本函数以外定义的变量:TIMEL、TIMEH、JS
 0052           ; **调用的函数说明:无
 0052           ; **修改人:
 0052           ; **修改日期:
 0052           ; **修改说明:
 0052           ; **************************************/
 0052           ; #pragma interrupt_handler int0_isr:02
 0052           ; void int0_isr(void)
 0052           ; {
 0052                   .dbline 88
 0052           ; TCCR1B =0x00;
 0052 2224              clr R2
 0054 2EBC              out 0x2e,R2
 0056                   .dbline 89
 0056           ; TIMEL  =TCNT1L;
 0056 2CB4              in R2,0x2c
 0058 3324              clr R3
 005A 30920700          sts _TIMEL+1,R3
 005E 20920600          sts _TIMEL,R2
 0062                   .dbline 90
 0062           ; TIMEH  =TCNT1H;
 0062 2DB4              in R2,0x2d
 0064 3324              clr R3
 0066 30920500          sts _TIMEH+1,R3
 006A 20920400          sts _TIMEH,R2
 006E                   .dbline 91
 006E           ; JS =0xFF;
 006E 8FEF              ldi R24,255
 0070 80930000          sts _JS,R24
 0074                   .dbline -2
 0074                   .dbline 92
 0074           ; }
 0074           L5:
 0074 2990              ld R2,y+
 0076 2FBE              out 0x3f,R2
 0078 8991              ld R24,y+
 007A 3990              ld R3,y+
 007C 2990              ld R2,y+
 007E                   .dbline 0 ; func end
 007E 1895              reti
 0080                   .dbend
 0080                   .dbfunc e measure _measure fL
 0080           ;              i -> R16
                        .even
 0080           _measure::
 0080 0E940000          xcall push_gset2
 0084                   .dbline -1
 0084                   .dbline 107
 0084           ; /**************************************
 0084           ; **芯片类型:ATmega16
 0084           ; **时钟频率:8M
 0084           ; **硬件接口说明:无
 0084           ; **函数功能说明:检测函数,向超声波传感器发送检测脉冲同时启动定时器1进行计时
 0084           ; **函数输入参数及说明:无
 0084           ; **函数返回值:LENGTH
 0084           ; **在本函数以外定义的变量:TIMEL、TIMEH、LENGTH、JS
 0084           ; **调用的函数说明:无
 0084           ; **修改人:
 0084           ; **修改日期:
 0084           ; **修改说明:
 0084           ; **************************************/
 0084           ; long int measure(void)
 0084           ; {unsigned char i;
 0084                   .dbline 108
 0084           ; DDRA|=0x20;
 0084 D59A              sbi 0x1a,5
 0086                   .dbline 109
 0086           ; DDRD|=0x80;
 0086 8F9A              sbi 0x11,7
 0088                   .dbline 110
 0088           ; TCNT1H=0x00;
 0088 2224              clr R2
 008A 2DBC              out 0x2d,R2
 008C                   .dbline 111
 008C           ; TCNT1L=0x00;
 008C 2CBC              out 0x2c,R2
 008E                   .dbline 112
 008E           ; LENGTH=0x00;
 008E 40E0              ldi R20,0
 0090 50E0              ldi R21,0
 0092 60E0              ldi R22,0
 0094 70E0              ldi R23,0
 0096 50930100          sts _LENGTH+1,R21
 009A 40930000          sts _LENGTH,R20
 009E 70930300          sts _LENGTH+2+1,R23
 00A2 60930200          sts _LENGTH+2,R22
 00A6                   .dbline 113
 00A6           ; PORTA&=0xdf;
 00A6 8BB3              in R24,0x1b
 00A8 8F7D              andi R24,223
 00AA 8BBB              out 0x1b,R24
 00AC                   .dbline 114
 00AC           ; TCCR1B = 0x02;   //clk I/O/8(来自预分频器)  0.125us(微秒)
 00AC 82E0              ldi R24,2
 00AE 8EBD              out 0x2e,R24
 00B0                   .dbline 115
 00B0 0027              clr R16
 00B2 01C0              xjmp L10
 00B4           L7:
 00B4                   .dbline 115
 00B4           L8:
 00B4                   .dbline 115
 00B4 0395              inc R16
 00B6           L10:
 00B6                   .dbline 115
 00B6           ; for(i=0;i<50;i++);
 00B6 0233              cpi R16,50
 00B8 E8F3              brlo L7
 00BA                   .dbline 116
 00BA           ; PORTD&=0x7f;
 00BA 82B3              in R24,0x12
 00BC 8F77              andi R24,127
 00BE 82BB              out 0x12,R24
 00C0                   .dbline 117
 00C0           ; PORTD|=0x80;
 00C0 979A              sbi 0x12,7
 00C2           L11:
 00C2                   .dbline 120
 00C2           L12:
 00C2                   .dbline 120
 00C2           ; //for(i=0;i<50;i++);
 00C2           ; //PORTA&=0xdf;
 00C2           ; while(JS==0x00);
 00C2 20900000          lds R2,_JS
 00C6 2220              tst R2

⌨️ 快捷键说明

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