leds.lis
来自「mega128平台下」· LIS 代码 · 共 260 行
LIS
260 行
.module Leds.c
.area data(ram, con, rel)
0000 _ledsOn::
0000 .blkb 1
.area idata
0000 70 .byte 112
.area data(ram, con, rel)
0001 .dbfile E:\document\无线传感器\main_frame\api\Leds.c
0001 .dbsym e ledsOn _ledsOn c
.area text(rom, con, rel)
0000 .dbfile E:\document\无线传感器\main_frame\api\Leds.c
0000 .dbfunc e led_init _led_init fV
.even
0000 _led_init::
0000 .dbline -1
0000 .dbline 5
0000 ; //LED接口
0000 ; #include "led.h"
0000 ; unsigned char ledsOn=0x70; //第一次翻转变亮
0000 ; void led_init()
0000 ; {
0000 .dbline 6
0000 ; PORTC |=0x70;
0000 85B3 in R24,0x15
0002 8067 ori R24,112
0004 85BB out 0x15,R24
0006 .dbline -2
0006 L1:
0006 .dbline 0 ; func end
0006 0895 ret
0008 .dbend
0008 .dbfunc e led0Off _led0Off fV
.even
0008 _led0Off::
0008 .dbline -1
0008 .dbline 11
0008 ; }
0008 ;
0008 ; //*********Turn off LED 0.
0008 ; void led0Off()
0008 ; {
0008 .dbline 12
0008 ; PORTC |=0x10;
0008 AC9A sbi 0x15,4
000A .dbline 13
000A ; ledsOn |=0x10;
000A 80910000 lds R24,_ledsOn
000E 8061 ori R24,16
0010 80930000 sts _ledsOn,R24
0014 .dbline -2
0014 L2:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e led0On _led0On fV
.even
0016 _led0On::
0016 .dbline -1
0016 .dbline 19
0016 ; }
0016 ;
0016 ;
0016 ; //**********Turn on LED 0.
0016 ; void led0On()
0016 ; {
0016 .dbline 20
0016 ; PORTC &=~0x10;
0016 AC98 cbi 0x15,4
0018 .dbline 21
0018 ; ledsOn &=~0x10;
0018 80910000 lds R24,_ledsOn
001C 8F7E andi R24,239
001E 80930000 sts _ledsOn,R24
0022 .dbline -2
0022 L3:
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbend
0024 .dbfunc e led0Toggle _led0Toggle fV
.even
0024 _led0Toggle::
0024 .dbline -1
0024 .dbline 27
0024 ; }
0024 ;
0024 ;
0024 ; //**********Toggle LED 0; if it was off, turn it on, if was on, turn it off.
0024 ; void led0Toggle()
0024 ; {
0024 .dbline 28
0024 ; if (ledsOn &0x10)
0024 20900000 lds R2,_ledsOn
0028 24FE sbrs R2,4
002A 02C0 rjmp L5
002C .dbline 29
002C ; led0On();
002C F4DF xcall _led0On
002E 01C0 xjmp L6
0030 L5:
0030 .dbline 31
0030 EBDF xcall _led0Off
0032 L6:
0032 .dbline -2
0032 L4:
0032 .dbline 0 ; func end
0032 0895 ret
0034 .dbend
0034 .dbfunc e led1Off _led1Off fV
.even
0034 _led1Off::
0034 .dbline -1
0034 .dbline 36
0034 ; else
0034 ; led0Off();
0034 ; }
0034 ;
0034 ; //*********Turn off LED 1.
0034 ; void led1Off()
0034 ; {
0034 .dbline 37
0034 ; PORTC |=0x20;
0034 AD9A sbi 0x15,5
0036 .dbline 38
0036 ; ledsOn |=0x20;
0036 80910000 lds R24,_ledsOn
003A 8062 ori R24,32
003C 80930000 sts _ledsOn,R24
0040 .dbline -2
0040 L7:
0040 .dbline 0 ; func end
0040 0895 ret
0042 .dbend
0042 .dbfunc e led1On _led1On fV
.even
0042 _led1On::
0042 .dbline -1
0042 .dbline 43
0042 ; }
0042 ;
0042 ; //**********Turn on LED 1.
0042 ; void led1On()
0042 ; {
0042 .dbline 44
0042 ; PORTC &=~0x20;
0042 AD98 cbi 0x15,5
0044 .dbline 45
0044 ; ledsOn &=~0x20;
0044 80910000 lds R24,_ledsOn
0048 8F7D andi R24,223
004A 80930000 sts _ledsOn,R24
004E .dbline -2
004E L8:
004E .dbline 0 ; func end
004E 0895 ret
0050 .dbend
0050 .dbfunc e led1Toggle _led1Toggle fV
.even
0050 _led1Toggle::
0050 .dbline -1
0050 .dbline 50
0050 ; }
0050 ;
0050 ; //*********Toggle LED 1; if it was off, turn it on, if was on, turn it off.
0050 ; void led1Toggle()
0050 ; {
0050 .dbline 51
0050 ; if (ledsOn &0x20)
0050 20900000 lds R2,_ledsOn
0054 25FE sbrs R2,5
0056 02C0 rjmp L10
0058 .dbline 52
0058 ; led1On();
0058 F4DF xcall _led1On
005A 01C0 xjmp L11
005C L10:
005C .dbline 54
005C EBDF xcall _led1Off
005E L11:
005E .dbline -2
005E L9:
005E .dbline 0 ; func end
005E 0895 ret
0060 .dbend
0060 .dbfunc e led2Off _led2Off fV
.even
0060 _led2Off::
0060 .dbline -1
0060 .dbline 59
0060 ; else
0060 ; led1Off();
0060 ; }
0060 ;
0060 ; //********Turn off LED 2.
0060 ; void led2Off()
0060 ; {
0060 .dbline 60
0060 ; PORTC |=0x40;
0060 AE9A sbi 0x15,6
0062 .dbline 61
0062 ; ledsOn |=0x40;
0062 80910000 lds R24,_ledsOn
0066 8064 ori R24,64
0068 80930000 sts _ledsOn,R24
006C .dbline -2
006C L12:
006C .dbline 0 ; func end
006C 0895 ret
006E .dbend
006E .dbfunc e led2On _led2On fV
.even
006E _led2On::
006E .dbline -1
006E .dbline 66
006E ; }
006E ;
006E ; //*******Turn on LED 2.
006E ; void led2On()
006E ; {
006E .dbline 67
006E ; PORTC &=~0x40;
006E AE98 cbi 0x15,6
0070 .dbline 68
0070 ; ledsOn &=~0x40;
0070 80910000 lds R24,_ledsOn
0074 8F7B andi R24,191
0076 80930000 sts _ledsOn,R24
007A .dbline -2
007A L13:
007A .dbline 0 ; func end
007A 0895 ret
007C .dbend
007C .dbfunc e led2Toggle _led2Toggle fV
.even
007C _led2Toggle::
007C .dbline -1
007C .dbline 73
007C ; }
007C ;
007C ; //*********Toggle LED 2; if it was off, turn it on, if was on, turn it off.
007C ; void led2Toggle()
007C ; {
007C .dbline 74
007C ; if (ledsOn &0x40)
007C 20900000 lds R2,_ledsOn
0080 26FE sbrs R2,6
0082 02C0 rjmp L15
0084 .dbline 75
0084 ; led2On();
0084 F4DF xcall _led2On
0086 01C0 xjmp L16
0088 L15:
0088 .dbline 77
0088 EBDF xcall _led2Off
008A L16:
008A .dbline -2
008A L14:
008A .dbline 0 ; func end
008A 0895 ret
008C .dbend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?