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

📄 getpower_m8.lis

📁 感应取电的控制
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module GetPower_M8.c
                        .area data(ram, con, rel)
 0000           _reset::
 0000                   .blkb 2
                        .area idata
 0000 0000              .word 0
                        .area data(ram, con, rel)
 0002                   .dbfile E:\GetPower_M8_source\GetPower_M8.c
 0002                   .dbsym e reset _reset pfV
                        .area text(rom, con, rel)
 0000                   .dbfile E:\GetPower_M8_source\GetPower_M8.c
 0000                   .dbfunc e delay _delay fV
 0000           ;              n -> R16,R17
                        .even
 0000           _delay::
 0000                   .dbline -1
 0000                   .dbline 69
 0000           ; 
 0000           ; //    
 0000           ; /***********************************************************************************
 0000           ; Project:          GetPower program (V0.6)
 0000           ; Filename:         GetPower.c    
 0000           ; Prozessor:        Mega8 family
 0000           ; Compiler:         ICCAVR Version 6.14
 0000           ; Autor:              Dou
 0000           ; Copyrigth:        (c) Sensirion AG      
 0000           ; ***********************************************************************************/
 0000           ; /////////////////////////////////////////////////////////////
 0000           ; /*
 0000           ;       烟台国网中电自动化技术有限公司
 0000           ;       雷击模块程序(ICCAVR)
 0000           ;       作者:窦庚欣
 0000           ; 
 0000           ; 
 0000           ; */
 0000           ; #include<iom8v.h>
 0000           ; #include <math.h>
 0000           ; #include<macros.h>
 0000           ; #include<eeprom.h>
 0000           ; #include<string.h>
 0000           ; #include<stdio.h>
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; typedef unsigned char BOOLEAN;
 0000           ; typedef unsigned char INT8U;
 0000           ; typedef signed char           INT8S;
 0000           ; typedef unsigned int  INT16U;
 0000           ; typedef signed int            INT16S;
 0000           ; typedef unsigned long INT32U;
 0000           ; typedef signed long           INT32S;
 0000           ; 
 0000           ; #define BIT_H(x)      (1<<x)
 0000           ; #define BIT_L(x)      (~(1<<x))
 0000           ; 
 0000           ; #define       LED_H   (PORTD |= BIT_H(PD3))
 0000           ; #define       LED_L   (PORTD &= BIT_L(PD3))
 0000           ; 
 0000           ; 
 0000           ; #define fosc          7372800
 0000           ; #define baud          115200
 0000           ; 
 0000           ; #define MS_COUNT      fosc/1000/17            //延时计数
 0000           ; #define SR_NOP()      asm("nop")                      //空指令
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; #define       BYTE    unsigned char
 0000           ; #define       WORD    unsigned int
 0000           ; 
 0000           ; 
 0000           ; volatile      static  WORD    adc_val;                //AD最终结果
 0000           ; volatile    static      int   Power_Low;    //电压低标志
 0000           ; static        WORD    adc_first;              //第1次AD标志
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; void (*reset)(void)=0x0000;   
 0000           ; 
 0000           ; /////////////////////////////////////////////////////////////////////////////////
 0000           ; 
 0000           ; void delay(WORD n)
 0000           ; {
 0000           L2:
 0000                   .dbline 70
 0000                   .dbline 70
 0000                   .dbline 70
 0000           L3:
 0000                   .dbline 70
 0000           ;     while(--n){;}
 0000 C801              movw R24,R16
 0002 0197              sbiw R24,1
 0004 8C01              movw R16,R24
 0006 0030              cpi R16,0
 0008 0107              cpc R16,R17
 000A D1F7              brne L2
 000C           X0:
 000C                   .dbline -2
 000C           L1:
 000C                   .dbline 0 ; func end
 000C 0895              ret
 000E                   .dbsym r n 16 i
 000E                   .dbend
 000E                   .dbfunc e sr_ms _sr_ms fV
 000E           ;              i -> R10,R11
 000E           ;              j -> R12,R13
 000E           ;              n -> R16,R17
                        .even
 000E           _sr_ms::
 000E 00D0              rcall push_gset4
 0010                   .dbline -1
 0010                   .dbline 74
 0010           ; }
 0010           ; //延时n毫秒
 0010           ; void sr_ms(WORD n)
 0010           ; {     //延时n毫秒
 0010                   .dbline 77
 0010           ;       WORD i,j;
 0010           ; 
 0010           ;       for(i=0; i<n; i++)
 0010 AA24              clr R10
 0012 BB24              clr R11
 0014 15C0              rjmp L9
 0016           L6:
 0016                   .dbline 78
 0016 CC24              clr R12
 0018 DD24              clr R13
 001A 03C0              rjmp L13
 001C           L10:
 001C                   .dbline 78
 001C           L11:
 001C                   .dbline 78
 001C C601              movw R24,R12
 001E 0196              adiw R24,1
 0020 6C01              movw R12,R24
 0022           L13:
 0022                   .dbline 78
 0022 41EB              ldi R20,177
 0024 51E0              ldi R21,1
 0026 60E0              ldi R22,0
 0028 70E0              ldi R23,0
 002A 1601              movw R2,R12
 002C 4424              clr R4
 002E 5524              clr R5
 0030 2416              cp R2,R20
 0032 3506              cpc R3,R21
 0034 4606              cpc R4,R22
 0036 5706              cpc R5,R23
 0038 8CF3              brlt L10
 003A           L7:
 003A                   .dbline 77
 003A C501              movw R24,R10
 003C 0196              adiw R24,1
 003E 5C01              movw R10,R24
 0040           L9:
 0040                   .dbline 77
 0040 A016              cp R10,R16
 0042 B106              cpc R11,R17
 0044 40F3              brlo L6
 0046                   .dbline -2
 0046           L5:
 0046 00D0              rcall pop_gset4
 0048                   .dbline 0 ; func end
 0048 0895              ret
 004A                   .dbsym r i 10 i
 004A                   .dbsym r j 12 i
 004A                   .dbsym r n 16 i
 004A                   .dbend
 004A                   .dbfunc e quarter_ms _quarter_ms fV
 004A           ;              i -> R10,R11
 004A           ;              j -> R12,R13
 004A           ;              n -> R16,R17
                        .even
 004A           _quarter_ms::
 004A 00D0              rcall push_gset4
 004C                   .dbline -1
 004C                   .dbline 83
 004C           ;               for(j=0; j<MS_COUNT;j++);
 004C           ; }
 004C           ; 
 004C           ; /////////////////////////////////////////////////////////////
 004C           ; void quarter_ms(WORD n)
 004C           ; {     //延时n毫秒
 004C                   .dbline 86
 004C           ;       WORD i,j;
 004C           ; 
 004C           ;       for(i=0; i<n; i++)
 004C AA24              clr R10
 004E BB24              clr R11
 0050 15C0              rjmp L18
 0052           L15:
 0052                   .dbline 87
 0052 CC24              clr R12
 0054 DD24              clr R13
 0056 03C0              rjmp L22
 0058           L19:
 0058                   .dbline 87
 0058           L20:
 0058                   .dbline 87
 0058 C601              movw R24,R12
 005A 0196              adiw R24,1
 005C 6C01              movw R12,R24
 005E           L22:
 005E                   .dbline 87
 005E 4CE6              ldi R20,108
 0060 50E0              ldi R21,0
 0062 60E0              ldi R22,0
 0064 70E0              ldi R23,0
 0066 1601              movw R2,R12
 0068 4424              clr R4
 006A 5524              clr R5
 006C 2416              cp R2,R20
 006E 3506              cpc R3,R21
 0070 4606              cpc R4,R22
 0072 5706              cpc R5,R23
 0074 8CF3              brlt L19
 0076           L16:
 0076                   .dbline 86
 0076 C501              movw R24,R10
 0078 0196              adiw R24,1
 007A 5C01              movw R10,R24
 007C           L18:
 007C                   .dbline 86
 007C A016              cp R10,R16
 007E B106              cpc R11,R17
 0080 40F3              brlo L15
 0082                   .dbline -2
 0082           L14:
 0082 00D0              rcall pop_gset4
 0084                   .dbline 0 ; func end
 0084 0895              ret
 0086                   .dbsym r i 10 i
 0086                   .dbsym r j 12 i
 0086                   .dbsym r n 16 i
 0086                   .dbend
 0086                   .dbfunc e half_ms _half_ms fV
 0086           ;              i -> R10,R11
 0086           ;              j -> R12,R13
 0086           ;              n -> R16,R17
                        .even
 0086           _half_ms::
 0086 00D0              rcall push_gset4
 0088                   .dbline -1
 0088                   .dbline 92
 0088           ;               for(j=0; j<MS_COUNT/4;j++);
 0088           ; }
 0088           ; 
 0088           ; /////////////////////////////////////////////////////////////
 0088           ; void half_ms(WORD n)
 0088           ; {     //延时n毫秒
 0088                   .dbline 95
 0088           ;       WORD i,j;
 0088           ; 
 0088           ;       for(i=0; i<n; i++)
 0088 AA24              clr R10
 008A BB24              clr R11
 008C 15C0              rjmp L27
 008E           L24:
 008E                   .dbline 96
 008E CC24              clr R12
 0090 DD24              clr R13
 0092 03C0              rjmp L31
 0094           L28:
 0094                   .dbline 96
 0094           L29:
 0094                   .dbline 96
 0094 C601              movw R24,R12
 0096 0196              adiw R24,1
 0098 6C01              movw R12,R24
 009A           L31:
 009A                   .dbline 96
 009A 48ED              ldi R20,216
 009C 50E0              ldi R21,0
 009E 60E0              ldi R22,0
 00A0 70E0              ldi R23,0
 00A2 1601              movw R2,R12
 00A4 4424              clr R4
 00A6 5524              clr R5

⌨️ 快捷键说明

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