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

📄 main.lis

📁 AVR单片机ATmega16(L)应用实例1——风机测试仪
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module main.c
                        .area lit(rom, con, rel)
 0000           _str0::
 0000 205368616E6768616920486F6E2D4C69  .byte 32,'S,'h,'a,'n,'g,'h,'a,'i,32,'H,'o,'n,45,'L,'i
 0010 00                .byte 0
 0011                   .dbfile D:\ac18-1\main.c
 0011                   .dbsym e str0 _str0 A[17:17]kc
 0011           _str1::
 0011 20456C656374726F6E696320436F2E20  .byte 32,'E,'l,'e,'c,'t,'r,'o,'n,'i,'c,32,'C,'o,46,32
 0021 00                .byte 0
 0022                   .dbsym e str1 _str1 A[17:17]kc
 0022           _str2::
 0022 57656C636F6D6520746F20456E746572  .byte 'W,'e,'l,'c,'o,'m,'e,32,'t,'o,32,'E,'n,'t,'e,'r
 0032 00                .byte 0
 0033                   .dbsym e str2 _str2 A[17:17]kc
 0033           _str3::
 0033 54657374696E672050726F6365737320  .byte 'T,'e,'s,'t,'i,'n,'g,32,'P,'r,'o,'c,'e,'s,'s,32
 0043 00                .byte 0
 0044                   .dbsym e str3 _str3 A[17:17]kc
 0044           _cs0::
 0044 2054657374696E672E2E2E2E2E2E2020  .byte 32,'T,'e,'s,'t,'i,'n,'g,46,46,46,46,46,46,32,32
 0054 00                .byte 0
 0055                   .dbsym e cs0 _cs0 A[17:17]kc
 0055           _cs1::
 0055 4C56533A202020205450563A20202020  .byte 'L,'V,'S,58,32,32,32,32,'T,'P,'V,58,32,32,32,32
 0065 00                .byte 0
 0066                   .dbsym e cs1 _cs1 A[17:17]kc
 0066           _cs2::
 0066 52504D3A2020202052433A2020202041  .byte 'R,'P,'M,58,32,32,32,32,'R,'C,58,32,32,32,32,'A
 0076 00                .byte 0
 0077                   .dbsym e cs2 _cs2 A[17:17]kc
 0077           _cs3::
 0077 4C433A20202020412020202020202020  .byte 'L,'C,58,32,32,32,32,'A,32,32,32,32,32,32,32,32
 0087 00                .byte 0
 0088                   .dbsym e cs3 _cs3 A[17:17]kc
 0088           _result::
 0088 20526573756C742E2E2E2E2E2E202020  .byte 32,'R,'e,'s,'u,'l,'t,46,46,46,46,46,46,32,32,32
 0098 00                .byte 0
 0099                   .dbsym e result _result A[17:17]kc
                        .area data(ram, con, rel)
 0000                   .dbfile D:\ac18-1\main.c
 0000           _status::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile D:\ac18-1\main.c
 0001                   .dbsym e status _status c
 0001           _OutFlag::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile D:\ac18-1\main.c
 0002                   .dbsym e OutFlag _OutFlag c
 0002           _cnt::
 0002                   .blkb 2
                        .area idata
 0002 0000              .word 0
                        .area data(ram, con, rel)
 0004                   .dbfile D:\ac18-1\main.c
 0004                   .dbsym e cnt _cnt i
 0004           _display_val::
 0004                   .blkb 2
                        .area idata
 0004 0000              .word 0
                        .area data(ram, con, rel)
 0006                   .dbfile D:\ac18-1\main.c
 0006                   .dbsym e display_val _display_val i
 0006           _current::
 0006                   .blkb 2
                        .area idata
 0006 0000              .word 0
                        .area data(ram, con, rel)
 0008                   .dbfile D:\ac18-1\main.c
 0008                   .dbsym e current _current i
 0008           _Wait10S_Start_Flag::
 0008                   .blkb 1
                        .area idata
 0008 00                .byte 0
                        .area data(ram, con, rel)
 0009                   .dbfile D:\ac18-1\main.c
 0009                   .dbsym e Wait10S_Start_Flag _Wait10S_Start_Flag c
 0009           _Wait10S_End_Flag::
 0009                   .blkb 1
                        .area idata
 0009 00                .byte 0
                        .area data(ram, con, rel)
 000A                   .dbfile D:\ac18-1\main.c
 000A                   .dbsym e Wait10S_End_Flag _Wait10S_End_Flag c
 000A           _Wait6S_Start_Flag::
 000A                   .blkb 1
                        .area idata
 000A 00                .byte 0
                        .area data(ram, con, rel)
 000B                   .dbfile D:\ac18-1\main.c
 000B                   .dbsym e Wait6S_Start_Flag _Wait6S_Start_Flag c
 000B           _Wait6S_End_Flag::
 000B                   .blkb 1
                        .area idata
 000B 00                .byte 0
                        .area data(ram, con, rel)
 000C                   .dbfile D:\ac18-1\main.c
 000C                   .dbsym e Wait6S_End_Flag _Wait6S_End_Flag c
 000C           _Wait2S_Start_Flag::
 000C                   .blkb 1
                        .area idata
 000C 00                .byte 0
                        .area data(ram, con, rel)
 000D                   .dbfile D:\ac18-1\main.c
 000D                   .dbsym e Wait2S_Start_Flag _Wait2S_Start_Flag c
 000D           _Wait2S_End_Flag::
 000D                   .blkb 1
                        .area idata
 000D 00                .byte 0
                        .area data(ram, con, rel)
 000E                   .dbfile D:\ac18-1\main.c
 000E                   .dbsym e Wait2S_End_Flag _Wait2S_End_Flag c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\ac18-1\main.c
 0000                   .dbfunc e read_T1 _read_T1 fi
 0000           ;          temp1 -> R18,R19
 0000           ;          temp2 -> R16,R17
                        .even
 0000           _read_T1::
 0000                   .dbline -1
 0000                   .dbline 65
 0000           ; //ICC-AVR application builder : 2007-7-24 12:41:43
 0000           ; // Target : M16
 0000           ; // Crystal: 8.0000Mhz
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; #include "head.h"
 0000           ; #define uchar unsigned char
 0000           ; #define uint unsigned int
 0000           ; #define xtal 8
 0000           ; 
 0000           ; extern void WaitForEnable(void);
 0000           ; extern void LcdWriteData(uchar W);
 0000           ; extern void LcdWriteCommand(uchar CMD,uchar Attribc);
 0000           ; extern void InitLcd(void);
 0000           ; extern void Display(uchar dd);
 0000           ; extern void DisplayOneChar(uchar x,uchar y,uchar Wdata);
 0000           ; extern void ePutstr(uchar x,uchar y,uchar const *ptr);
 0000           ; 
 0000           ; #define SPEED_0V PORTD|=BIT(PD0)
 0000           ; #define SPEED_5V PORTD&=~BIT(PD0)
 0000           ; #define POW_OFF PORTD|=BIT(PD1)
 0000           ; #define POW_ON PORTD&=~BIT(PD1)
 0000           ; #define POW_14V PORTD|=BIT(PD2)
 0000           ; #define POW_27V PORTD&=~BIT(PD2)
 0000           ; #define AIR_OFF PORTD|=BIT(PD3)
 0000           ; #define AIR_ON PORTD&=~BIT(PD3) 
 0000           ; #define LCM_BLCON_OFF PORTD|=BIT(PD4)
 0000           ; #define LCM_BLCON_ON PORTD&=~BIT(PD4) 
 0000           ; 
 0000           ; #define BZ_OFF PORTD|=BIT(PD7)
 0000           ; #define BZ_ON PORTD&=~BIT(PD7)                        
 0000           ; 
 0000           ; const uchar str0[]={" Shanghai Hon-Li"};//欢迎界面
 0000           ; const uchar str1[]={" Electronic Co. "};//欢迎界面
 0000           ; const uchar str2[]={"Welcome to Enter"};//欢迎界面
 0000           ; const uchar str3[]={"Testing Process "};//欢迎界面
 0000           ; 
 0000           ; const uchar cs0[]={" Testing......  "};//测试界面
 0000           ; const uchar cs1[]={"LVS:    TPV:    "};//测试界面
 0000           ; const uchar cs2[]={"RPM:    RC:    A"};//测试界面
 0000           ; const uchar cs3[]={"LC:    A        "};//测试界面
 0000           ; const uchar result[]={" Result......   "};//测试界面
 0000           ; 
 0000           ; uchar status=0;
 0000           ; uchar OutFlag=0;
 0000           ; uint cnt=0;
 0000           ; uint display_val=0;
 0000           ; uint current=0;
 0000           ; 
 0000           ; uchar LVS[4];
 0000           ; uchar TPV[4];
 0000           ; uchar RPM[4];
 0000           ; uchar RC[4];
 0000           ; uchar LC[4];
 0000           ; 
 0000           ; uint LLVS,TTPV,RRPM;
 0000           ; float RRC,LLC;
 0000           ; 
 0000           ; uchar Wait10S_Start_Flag=0,Wait10S_End_Flag=0;//10S启动结束标志
 0000           ; uchar Wait6S_Start_Flag=0,Wait6S_End_Flag=0;//6S启动结束标志
 0000           ; uchar Wait2S_Start_Flag=0,Wait2S_End_Flag=0;//2S启动结束标志
 0000           ; 
 0000           ; /***************读取计数器T1的数据*************/
 0000           ; uint read_T1(void)
 0000           ; {uint temp1,temp2;
 0000                   .dbline 66
 0000           ;  temp1=(uint)TCNT1L;
 0000 2CB5              in R18,0x2c
 0002 3327              clr R19
 0004                   .dbline 67
 0004           ;  temp2=(uint)TCNT1H;
 0004 0DB5              in R16,0x2d
 0006 1127              clr R17
 0008                   .dbline 68
 0008           ;  temp2=(temp2<<8)+temp1;
 0008 1801              movw R2,R16
 000A 322C              mov R3,R2
 000C 2224              clr R2
 000E 220E              add R2,R18
 0010 331E              adc R3,R19
 0012 8101              movw R16,R2
 0014                   .dbline 69
 0014           ;  return(temp2);
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbsym r temp1 18 i
 0016                   .dbsym r temp2 16 i
 0016                   .dbend
 0016                   .dbfunc e clr_T1 _clr_T1 fV
                        .even
 0016           _clr_T1::
 0016                   .dbline -1
 0016                   .dbline 73
 0016           ; }
 0016           ; /***************清除计数器T1的数据************/
 0016           ; void clr_T1(void)
 0016           ; {
 0016                   .dbline 74
 0016           ; TCNT1L=0x00;TCNT1H=0x00;
 0016 2224              clr R2
 0018 2CBC              out 0x2c,R2
 001A                   .dbline 74
 001A 2DBC              out 0x2d,R2
 001C                   .dbline -2
 001C           L2:
 001C                   .dbline 0 ; func end
 001C 0895              ret
 001E                   .dbend
 001E                   .dbfunc e watchdog_init _watchdog_init fV
                        .even
 001E           _watchdog_init::
 001E                   .dbline -1
 001E                   .dbline 80
 001E           ; }
 001E           ; /*****************watchdog初始化**************/
 001E           ; //Watchdog initialize
 001E           ; // prescale: 512K
 001E           ; void watchdog_init(void)
 001E           ; {
 001E                   .dbline 81
 001E           ;  WDR(); //this prevents a timout on enabling
 001E A895              wdr
 0020                   .dbline 82
 0020           ;  WDTCR = 0x0D; //WATCHDOG ENABLED - dont forget to issue WDRs
 0020 8DE0              ldi R24,13
 0022 81BD              out 0x21,R24
 0024                   .dbline -2
 0024           L3:
 0024                   .dbline 0 ; func end
 0024 0895              ret
 0026                   .dbend
 0026                   .dbfunc e adc_init _adc_init fV
                        .even
 0026           _adc_init::
 0026                   .dbline -1
 0026                   .dbline 89
 0026           ; }
 0026           ; 
 0026           ; /******************ADC初始化*********************/
 0026           ; //ADC initialize
 0026           ; // Conversion time: 3uS
 0026           ; void adc_init(void)
 0026           ; {
 0026                   .dbline 90
 0026           ;  ADCSR = 0x00; //disable adc
 0026 2224              clr R2
 0028 26B8              out 0x6,R2
 002A                   .dbline 91
 002A           ;  ADMUX = 0xC0; //select adc input 0
 002A 80EC              ldi R24,192
 002C 87B9              out 0x7,R24
 002E                   .dbline 92
 002E           ;  ACSR  = 0x80;
 002E 80E8              ldi R24,128
 0030 88B9              out 0x8,R24
 0032                   .dbline 93
 0032           ;  ADCSR = 0xE1;
 0032 81EE              ldi R24,225
 0034 86B9              out 0x6,R24
 0036                   .dbline -2
 0036           L4:
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbend
 0038                   .dbfunc e port_init _port_init fV
                        .even
 0038           _port_init::
 0038                   .dbline -1
 0038                   .dbline 97
 0038           ; }
 0038           ; /*********************端口初始化*********************/
 0038           ; void port_init(void)
 0038           ; {
 0038                   .dbline 98
 0038           ;  PORTA = 0xfe;
 0038 8EEF              ldi R24,254
 003A 8BBB              out 0x1b,R24
 003C                   .dbline 99
 003C           ;  DDRA  = 0x00;
 003C 2224              clr R2
 003E 2ABA              out 0x1a,R2
 0040                   .dbline 100
 0040           ;  PORTB = 0x00;
 0040 28BA              out 0x18,R2
 0042                   .dbline 101
 0042           ;  DDRB  = 0x0D;
 0042 8DE0              ldi R24,13
 0044 87BB              out 0x17,R24
 0046                   .dbline 102
 0046           ;  PORTC = 0x00; //m103 output only
 0046 25BA              out 0x15,R2
 0048                   .dbline 103
 0048           ;  DDRC  = 0xFF;
 0048 8FEF              ldi R24,255
 004A 84BB              out 0x14,R24
 004C                   .dbline 104
 004C           ;  PORTD = 0xff;
 004C 82BB              out 0x12,R24
 004E                   .dbline 105

⌨️ 快捷键说明

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