📄 app.lis
字号:
.module app.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\app.c
0000 .dbfunc e BeeIO _BeeIO fV
.even
0000 _BeeIO::
0000 .dbline -1
0000 .dbline 46
0000 ; /*******************************************************************************
0000 ; *************************** * Copyright : COPYRIGHT(C) 1997-2005
0000 ;
0000 ;
0000 ; * Project Name : UCOS2纯系统
0000 ; * File name :
0000 ; * Crystal : 16MHZ
0000 ; * PCB P/N :
0000 ; * Comments :
0000 ; * SoftWareP/N :
0000 ; * ----------< History >---------------------------------------------------------
0000 ;
0000 ; * File Version : 1.0
0000 ; * Author : jjx
0000 ; * E-Mail :
0000 ; * Date : 2008 10 08
0000 ; * Comments :
0000 ; *******************************************************************************/
0000 ;
0000 ; #include "includes.h"
0000 ; #include "Publics.H"
0000 ;
0000 ; //在os_cfg.h中作修改
0000 ; #define OS_TASK_START_STK_SIZE OS_TASK_STK_SIZE
0000 ; #define OS_TASK_START_HARD_STK_SIZE OS_TASK_HARD_STK_SIZE
0000 ;
0000 ; OS_STK AppTaskStartStk[OS_TASK_START_STK_SIZE];
0000 ;
0000 ;
0000 ; /*
0000 ; **************************************************************************************************************
0000 ; * FUNCTION PROTOTYPES
0000 ; **************************************************************************************************************
0000 ; */
0000 ;
0000 ;
0000 ; static void AppTaskStart (void *p_arg);
0000 ; static void AppTaskCreate(void);
0000 ; static void AppIOInit(void);
0000 ;
0000 ; void watchdog_init(void);
0000 ;
0000 ;
0000 ;
0000 ; void BeeIO(void)
0000 ; {
0000 .dbline 47
0000 ; PORTB&=~(1<<PB5);
0000 C598 cbi 0x18,5
0002 .dbline 49
0002 ; //PORTB|=1<<PB5;
0002 ; DDRB|=1<<PB5;
0002 BD9A sbi 0x17,5
0004 .dbline -2
0004 L1:
0004 .dbline 0 ; func end
0004 0895 ret
0006 .dbend
0006 .dbfunc e timer1_init _timer1_init fV
.even
0006 _timer1_init::
0006 .dbline -1
0006 .dbline 53
0006 ; }
0006 ;
0006 ; void timer1_init(void) //接15脚,OC1A,为定时器T/C1
0006 ; {
0006 .dbline 54
0006 ; TCCR1B=0x00; //关闭
0006 2224 clr R2
0008 2EBC out 0x2e,R2
000A .dbline 56
000A ; //TCCR3B = 0x00; //stop
000A ; OCR1AH = 0x00; //16位的比较PWM高位
000A 2BBC out 0x2b,R2
000C .dbline 65
000C ; //OCR3AH = 0x00;
000C ; //OCR3AL = 0xe6; //2 k
000C ; //OCR3AL = 0x99; //3 k
000C ; //OCR3AL = 0x73; //4 k
000C ; //OCR3AL = 0x5c; //5 k
000C ; //OCR3AL = 0x4c; //6 k
000C ; //OCR1AL = 0x41;
000C ; //OCR1AL = 0x89;
000C ; OCR1AL = 0xe6;
000C 86EE ldi R24,230
000E 8ABD out 0x2a,R24
0010 .dbline 70
0010 ; //OCR1AL = 0x73; //7 k形 //16位的比较PWM低位
0010 ; //OCR3AL = 0x39; //8 k
0010 ; //OCR3AL = 0x33; //9 k
0010 ; //OCR3AL = 0x2e; //10 k
0010 ; TCCR1A=0x40; //CTC模式
0010 80E4 ldi R24,64
0012 8FBD out 0x2f,R24
0014 .dbline -2
0014 L2:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e main _main fV
0016 ; temp -> y+0
0016 ; ko -> R20
0016 ; it -> R20
.even
0016 _main::
0016 2197 sbiw R28,1
0018 .dbline -1
0018 .dbline 83
0018 ; }
0018 ;
0018 ; /*
0018 ; **************************************************************************************************************
0018 ; * MAIN
0018 ; *
0018 ; * Note(s): 1) You SHOULD use OS_TASK_STK_SIZE (see OS_CFG.H) when setting OSTaskStkSize prior to calling
0018 ; * OSInit() because OS_TASK_IDLE_STK_SIZE and OS_TASK_STAT_STK_SIZE are set to this value in
0018 ; * OS_CFG.H.
0018 ; **************************************************************************************************************
0018 ; */
0018 ; void main (void)
0018 ; {
0018 .dbline 84
0018 ; INT8U it =0;
0018 4427 clr R20
001A .dbline 85
001A ; INT8U ko=0;
001A .dbline 88
001A ;
001A ; INT8U temp; // IMPORTANT: MUST be setup before calling 'OSInit()'
001A ; OSTaskStkSize = OS_TASK_STK_SIZE; // Setup the default stack size
001A 80E0 ldi R24,256
001C 91E0 ldi R25,1
001E 90930100 sts _OSTaskStkSize+1,R25
0022 80930000 sts _OSTaskStkSize,R24
0026 .dbline 89
0026 ; OSTaskHardStkSize = OS_TASK_HARD_STK_SIZE; // Setup the default hardware stack size
0026 80E4 ldi R24,64
0028 90E0 ldi R25,0
002A 90930100 sts _OSTaskHardStkSize+1,R25
002E 80930000 sts _OSTaskHardStkSize,R24
0032 .dbline 90
0032 ; AppIOInit();
0032 2FD0 xcall _AppIOInit
0034 .dbline 92
0034 ;
0034 ; BeeIO();
0034 E5DF xcall _BeeIO
0036 .dbline 93
0036 ; timer1_init();
0036 E7DF xcall _timer1_init
0038 .dbline 96
0038 ;
0038 ;
0038 ; OSInit(); // Initialize "uC/OS-II, The Real-Time Kernel"
0038 0E940000 xcall _OSInit
003C .dbline 97
003C ; watchdog_init();
003C 24D0 xcall _watchdog_init
003E .dbline 102
003E ;
003E ; //---- Any initialization code before starting multitasking --------------//
003E ;
003E ; // View_Pic(aVfdDispRAM1,DisplayBuff1,1);
003E ; AppTaskCreate();
003E 0ED0 xcall _AppTaskCreate
0040 .dbline 103
0040 ; AppTaskStart(&temp);
0040 8E01 movw R16,R28
0042 05D0 xcall _AppTaskStart
0044 .dbline 106
0044 ;
0044 ; //---- Create any other task you want before we start multitasking -------//
0044 ; WDR();
0044 A895 wdr
0046 .dbline 108
0046 ;
0046 ; OSStart(); //Start multitasking (i.e. give control to uC/OS-II)
0046 0E940000 xcall _OSStart
004A .dbline -2
004A L3:
004A 2196 adiw R28,1
004C .dbline 0 ; func end
004C 0895 ret
004E .dbsym l temp 0 c
004E .dbsym r ko 20 c
004E .dbsym r it 20 c
004E .dbend
004E .dbfunc s AppTaskStart _AppTaskStart fV
004E ; p_arg -> R20,R21
.even
004E _AppTaskStart:
004E 0E940000 xcall push_gset1
0052 A801 movw R20,R16
0054 .dbline -1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -