📄 apptask1.lis
字号:
.module AppTask1.c
.area vector(rom, abs)
.org 64
0040 0C940000 jmp _OSTickISR
.org 72
0048 0C940000 jmp _uart0_rx_isr
.org 76
004C 0C940000 jmp _uart0_udre_isr
.org 120
0078 0C940000 jmp _uart1_rx_isr
.org 124
007C 0C940000 jmp _uart1_udre_isr
.area text(rom, con, rel)
0000 .dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
0000 .dbfunc e Init_AppTask1 _Init_AppTask1 fV
.even
0000 _Init_AppTask1::
0000 2397 sbiw R28,3
0002 .dbline -1
0002 .dbline 23
0002 ;
0002 ; #include "..\include\includes.h"
0002 ; #include "..\include\Publics.H"
0002 ; #include "..\include\menu.h"
0002 ; //----------------------------------------------------------------------------//
0002 ; OS_STK AppTask1Stk[OS_TASK_1_STK_SIZE]; //#define OS_TASK_STK_SIZE 256
0002 ;
0002 ;
0002 ;
0002 ; void Bee_Open(void);
0002 ; void Bee_Close(void);
0002 ;
0002 ; /*
0002 ; *****************************************************************************
0002 ; * 函数介绍: 任务一初始化
0002 ; * 输入参数:
0002 ; * 输出参数:--
0002 ; * 返 回 值:--
0002 ; * 说 明:--
0002 ; ******************************************************************************
0002 ; */
0002 ; void Init_AppTask1(void)
0002 ; {
0002 .dbline 24
0002 ; OSTaskStkSize = OS_TASK_1_STK_SIZE; // Setup the default stack size
0002 80E0 ldi R24,256
0004 91E0 ldi R25,1
0006 90930100 sts _OSTaskStkSize+1,R25
000A 80930000 sts _OSTaskStkSize,R24
000E .dbline 25
000E ; OSTaskHardStkSize = OS_TASK_1_HARD_STK_SIZE; //Setup the default hardware stack size
000E 80E4 ldi R24,64
0010 90E0 ldi R25,0
0012 90930100 sts _OSTaskHardStkSize+1,R25
0016 80930000 sts _OSTaskHardStkSize,R24
001A .dbline 26
001A ; OSTaskCreate(AppTask1, (void *)0, (OS_STK *)&AppTask1Stk[OSTaskStkSize - 1], 5);
001A 85E0 ldi R24,5
001C 8A83 std y+2,R24
001E 80E0 ldi R24,<_AppTask1Stk
0020 90E0 ldi R25,>_AppTask1Stk
0022 E0910000 lds R30,_OSTaskStkSize
0026 F0910100 lds R31,_OSTaskStkSize+1
002A 3197 sbiw R30,1
002C E80F add R30,R24
002E F91F adc R31,R25
0030 F983 std y+1,R31
0032 E883 std y+0,R30
0034 2227 clr R18
0036 3327 clr R19
0038 00E0 ldi R16,<PL_AppTask1
003A 10E0 ldi R17,>PL_AppTask1
003C 0E940000 xcall _OSTaskCreate
0040 .dbline -2
0040 L1:
0040 2396 adiw R28,3
0042 .dbline 0 ; func end
0042 0895 ret
0044 .dbend
.area data(ram, con, rel)
0000 .dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
0000 L3:
0000 .blkb 2
.area idata
0000 0000 .word 0
.area data(ram, con, rel)
0002 .dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
0002 L4:
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
.area text(rom, con, rel)
0044 .dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
0044 .dbfunc e AppTask1 _AppTask1 fV
0044 .dbsym s BeeSign L4 c
0044 .dbsym s num L3 i
0044 ; p_arg -> R20,R21
.even
0044 _AppTask1::
0044 0E940000 xcall push_gset1
0048 A801 movw R20,R16
004A .dbline -1
004A .dbline 42
004A ; }
004A ;
004A ;
004A ; /*
004A ; *****************************************************************************
004A ; * 函数介绍: 任务一
004A ; * 输入参数:
004A ; * 输出参数:--
004A ; * 返 回 值:--
004A ; * 说 明:--
004A ; ******************************************************************************
004A ; */
004A ;
004A ;
004A ; void AppTask1(void *p_arg)
004A ; {
004A .dbline 45
004A ; static INT16U num=0;
004A ; static INT8U BeeSign=0;
004A ; p_arg = p_arg;
004A .dbline 46
004A ; DDRG|=(1<<PG4);
004A 80916400 lds R24,100
004E 8061 ori R24,16
0050 80936400 sts 100,R24
0054 2FC0 xjmp L6
0056 L5:
0056 .dbline 49
0056 ;
0056 ; while (TRUE)
0056 ; {
0056 .dbline 50
0056 ; num++;
0056 80910000 lds R24,L3
005A 90910100 lds R25,L3+1
005E 0196 adiw R24,1
0060 90930100 sts L3+1,R25
0064 80930000 sts L3,R24
0068 .dbline 51
0068 ; if(num==10)
0068 8A30 cpi R24,10
006A E0E0 ldi R30,0
006C 9E07 cpc R25,R30
006E E9F4 brne L8
0070 .dbline 52
0070 ; {
0070 .dbline 53
0070 ; if(BeeSign)
0070 20900200 lds R2,L4
0074 2220 tst R2
0076 51F0 breq L10
0078 .dbline 54
0078 ; {
0078 .dbline 55
0078 ; Bee_Close();
0078 25D0 xcall _Bee_Close
007A .dbline 56
007A ; BeeSign=0;
007A 2224 clr R2
007C 20920200 sts L4,R2
0080 .dbline 57
0080 ; PORTG|=(1<<PG4);
0080 80916500 lds R24,101
0084 8061 ori R24,16
0086 80936500 sts 101,R24
008A .dbline 58
008A ; }
008A 09C0 xjmp L11
008C L10:
008C .dbline 60
008C ; else
008C ; {
008C .dbline 61
008C ; Bee_Open();
008C 17D0 xcall _Bee_Open
008E .dbline 62
008E ; BeeSign=1;
008E 81E0 ldi R24,1
0090 80930200 sts L4,R24
0094 .dbline 63
0094 ; PORTG&=~(1<<PG4);
0094 80916500 lds R24,101
0098 8F7E andi R24,239
009A 80936500 sts 101,R24
009E .dbline 64
009E ; }
009E L11:
009E .dbline 65
009E ; num=0;
009E 2224 clr R2
00A0 3324 clr R3
00A2 30920100 sts L3+1,R3
00A6 20920000 sts L3,R2
00AA .dbline 66
00AA ; }
00AA L8:
00AA .dbline 68
00AA 01E0 ldi R16,1
00AC 10E0 ldi R17,0
00AE 0E940000 xcall _OSTimeDly
00B2 .dbline 69
00B2 A895 wdr
00B4 .dbline 70
00B4 L6:
00B4 .dbline 48
00B4 D0CF xjmp L5
00B6 X0:
00B6 .dbline -2
00B6 L2:
00B6 0E940000 xcall pop_gset1
00BA .dbline 0 ; func end
00BA 0895 ret
00BC .dbsym r p_arg 20 pV
00BC .dbend
00BC .dbfunc e Bee_Open _Bee_Open fV
.even
00BC _Bee_Open::
00BC .dbline -1
00BC .dbline 76
00BC ;
00BC ; OSTimeDly(OS_TICKS_PER_SEC/100);
00BC ; WDR();
00BC ; }
00BC ; }
00BC ;
00BC ;
00BC ;
00BC ; void Bee_Open(void)
00BC ; {
00BC .dbline 77
00BC ; TCCR1B|=0x0B; //1024分频,CTC模式开启
00BC 8EB5 in R24,0x2e
00BE 8B60 ori R24,11
00C0 8EBD out 0x2e,R24
00C2 .dbline -2
00C2 L12:
00C2 .dbline 0 ; func end
00C2 0895 ret
00C4 .dbend
00C4 .dbfunc e Bee_Close _Bee_Close fV
.even
00C4 _Bee_Close::
00C4 .dbline -1
00C4 .dbline 81
00C4 ; }
00C4 ;
00C4 ; void Bee_Close(void)
00C4 ; {
00C4 .dbline 82
00C4 ; TCCR1B=0x00; //1024分频,CTC模式开启//关
00C4 2224 clr R2
00C6 2EBC out 0x2e,R2
00C8 .dbline -2
00C8 L13:
00C8 .dbline 0 ; func end
00C8 0895 ret
00CA .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
0000 _AppTask1Stk::
0000 .blkb 256
0100 .dbsym e AppTask1Stk _AppTask1Stk A[256:256]c
.area func_lit
0000 2200 PL_AppTask1: .word `_AppTask1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -