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

📄 app.lis

📁 把UCOSII移植到AVR MEGA8上的程序 应用程序为驱动1602显示器,虽说有些简单,但可测试UCOS的运行
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00EE                   .dbline 153
 00EE           ;     OSTaskCreate(AppTask2, (void *)0, (OS_STK *)&AppTask2Stk[OSTaskStkSize - 1], 2);
 00EE 82E0              ldi R24,2
 00F0 8A83              std y+2,R24
 00F2 80E0              ldi R24,<_AppTask2Stk
 00F4 90E0              ldi R25,>_AppTask2Stk
 00F6 E0910000          lds R30,_OSTaskStkSize
 00FA F0910100          lds R31,_OSTaskStkSize+1
 00FE 3197              sbiw R30,1
 0100 E80F              add R30,R24
 0102 F91F              adc R31,R25
 0104 F983              std y+1,R31
 0106 E883              std y+0,R30
 0108 2227              clr R18
 010A 3327              clr R19
 010C 00E0              ldi R16,<PL_AppTask2
 010E 10E0              ldi R17,>PL_AppTask2
 0110 00D0              rcall _OSTaskCreate
 0112                   .dbline -2
 0112           L9:
 0112 2396              adiw R28,3
 0114                   .dbline 0 ; func end
 0114 0895              ret
 0116                   .dbend
 0116                   .dbfunc s AppTask1 _AppTask1 fV
 0116           ;          p_arg -> R20,R21
                        .even
 0116           _AppTask1:
 0116 00D0              rcall push_gset1
 0118 A801              movw R20,R16
 011A 2497              sbiw R28,4
 011C                   .dbline -1
 011C                   .dbline 163
 011C           ; }
 011C           ; 
 011C           ; /*
 011C           ; *********************************************************************************************************
 011C           ; *                                              TASK #1
 011C           ; *********************************************************************************************************
 011C           ; */
 011C           ; 
 011C           ; static void  AppTask1(void *p_arg)
 011C           ; {
 011C                   .dbline 164
 011C           ;     p_arg = p_arg;
 011C 10C0              rjmp L12
 011E           L11:
 011E                   .dbline 165
 011E                   .dbline 168
 011E 80E0              ldi R24,<L14
 0120 90E0              ldi R25,>L14
 0122 9983              std y+1,R25
 0124 8883              std y+0,R24
 0126 21E0              ldi R18,1
 0128 01E0              ldi R16,1
 012A 00D0              rcall _LCD_write_string
 012C                   .dbline 169
 012C 2224              clr R2
 012E 3324              clr R3
 0130 3B82              std y+3,R3
 0132 2A82              std y+2,R2
 0134 83E0              ldi R24,3
 0136 8883              std y+0,R24
 0138 2227              clr R18
 013A 0027              clr R16
 013C 00D0              rcall _OSTimeDlyHMSM
 013E                   .dbline 171
 013E           L12:
 013E                   .dbline 165
 013E EFCF              rjmp L11
 0140           X1:
 0140                   .dbline -2
 0140           L10:
 0140 2496              adiw R28,4
 0142 00D0              rcall pop_gset1
 0144                   .dbline 0 ; func end
 0144 0895              ret
 0146                   .dbsym r p_arg 20 pV
 0146                   .dbend
 0146                   .dbfunc s AppTask2 _AppTask2 fV
 0146           ;          p_arg -> R20,R21
                        .even
 0146           _AppTask2:
 0146 00D0              rcall push_gset1
 0148 A801              movw R20,R16
 014A 2497              sbiw R28,4
 014C                   .dbline -1
 014C                   .dbline 181
 014C           ;     while (TRUE) {
 014C           ;        // LED_Toggle(2);
 014C           ;         //OSTimeDly(OS_TICKS_PER_SEC / 5);
 014C           ;     LCD_write_string(1,1,"I love UCOS-II");
 014C           ;       OSTimeDlyHMSM(0,0,3,0);
 014C           ;       
 014C           ;       }
 014C           ; }
 014C           ; 
 014C           ; /*
 014C           ; *********************************************************************************************************
 014C           ; *                                              TASK #2
 014C           ; *********************************************************************************************************
 014C           ; */
 014C           ; 
 014C           ; static void  AppTask2(void *p_arg)
 014C           ; {
 014C                   .dbline 182
 014C           ;     p_arg = p_arg;
 014C 1CC0              rjmp L17
 014E           L16:
 014E                   .dbline 183
 014E                   .dbline 186
 014E 2227              clr R18
 0150 3327              clr R19
 0152 01E0              ldi R16,1
 0154 10E0              ldi R17,0
 0156 00D0              rcall _LCD_write_char
 0158                   .dbline 187
 0158 80E0              ldi R24,<L19
 015A 90E0              ldi R25,>L19
 015C 9983              std y+1,R25
 015E 8883              std y+0,R24
 0160 2227              clr R18
 0162 0027              clr R16
 0164 00D0              rcall _LCD_write_string
 0166                   .dbline 188
 0166 80E0              ldi R24,<L20
 0168 90E0              ldi R25,>L20
 016A 9983              std y+1,R25
 016C 8883              std y+0,R24
 016E 21E0              ldi R18,1
 0170 0027              clr R16
 0172 00D0              rcall _LCD_write_string
 0174                   .dbline 189
 0174 2224              clr R2
 0176 3324              clr R3
 0178 3B82              std y+3,R3
 017A 2A82              std y+2,R2
 017C 85E0              ldi R24,5
 017E 8883              std y+0,R24
 0180 2227              clr R18
 0182 0027              clr R16
 0184 00D0              rcall _OSTimeDlyHMSM
 0186                   .dbline 190
 0186           L17:
 0186                   .dbline 183
 0186 E3CF              rjmp L16
 0188           X2:
 0188                   .dbline -2
 0188           L15:
 0188 2496              adiw R28,4
 018A 00D0              rcall pop_gset1
 018C                   .dbline 0 ; func end
 018C 0895              ret
 018E                   .dbsym r p_arg 20 pV
 018E                   .dbend
 018E                   .dbfunc s AppIOInit _AppIOInit fV
                        .even
 018E           _AppIOInit:
 018E                   .dbline -1
 018E                   .dbline 200
 018E           ;     while (TRUE) {
 018E           ;         //LED_Toggle(3);
 018E           ;         //OSTimeDly(OS_TICKS_PER_SEC / 2);
 018E           ;                LCD_write_char(0x01,0);                                    /*显示清屏                        */
 018E           ;          LCD_write_string(0,0," from MICRIUM ");
 018E           ;          LCD_write_string(0,1,"atmega8");
 018E           ;                OSTimeDlyHMSM(0,0,5,0);
 018E           ;     }
 018E           ; }
 018E           ; 
 018E           ; /*
 018E           ; *********************************************************************************************************
 018E           ; *                                            SETUP THE I/Os
 018E           ; *********************************************************************************************************
 018E           ; */
 018E           ; 
 018E           ; static void AppIOInit (void)
 018E           ; {
 018E                   .dbline 201
 018E           ;      DDRD |= LCD_DATA | LCD_RW;
 018E 81B3              in R24,0x11
 0190 886F              ori R24,248
 0192 81BB              out 0x11,R24
 0194                   .dbline 202
 0194           ;      DDRC |= LCD_RS   | LCD_EN;
 0194 84B3              in R24,0x14
 0196 8063              ori R24,48
 0198 84BB              out 0x14,R24
 019A                   .dbline -2
 019A           L21:
 019A                   .dbline 0 ; func end
 019A 0895              ret
 019C                   .dbend
 019C                   .dbfunc e OSTickISR_Init _OSTickISR_Init fV
                        .even
 019C           _OSTickISR_Init::
 019C                   .dbline -1
 019C                   .dbline 212
 019C           ; }
 019C           ; 
 019C           ; /*
 019C           ; *********************************************************************************************************
 019C           ; *                                        SETUP THE TICK RATE
 019C           ; *********************************************************************************************************
 019C           ; */
 019C           ; 
 019C           ; void  OSTickISR_Init (void)
 019C           ; {
 019C                   .dbline 215
 019C           ;     //TCCR0 = 0x07;                                       /* Set TIMER0 prescaler to CLK/1024            */
 019C           ;     //TIMSK = 0x01;  
 019C           ;       TCCR0 = 0x00; 
 019C 2224              clr R2
 019E 23BE              out 0x33,R2
 01A0                   .dbline 216
 01A0           ;     TCNT0 = 0x64; 
 01A0 84E6              ldi R24,100
 01A2 82BF              out 0x32,R24
 01A4                   .dbline 217
 01A4           ;     TCCR0 = 0x05;  
 01A4 85E0              ldi R24,5
 01A6 83BF              out 0x33,R24
 01A8                   .dbline 218
 01A8           ;       TIMSK = 0x01;                                 /* Enable TIMER0 overflow interrupt            */
 01A8 81E0              ldi R24,1
 01AA 89BF              out 0x39,R24
 01AC                   .dbline -2
 01AC           L22:
 01AC                   .dbline 0 ; func end
 01AC 0895              ret
 01AE                   .dbend
 01AE                   .dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
                        .even
 01AE           _OSTickISR_Handler::
 01AE                   .dbline -1
 01AE                   .dbline 229
 01AE           ; }
 01AE           ; 
 01AE           ; 
 01AE           ; /*
 01AE           ; *********************************************************************************************************
 01AE           ; *                                        SETUP THE TICK RATE
 01AE           ; *********************************************************************************************************
 01AE           ; */
 01AE           ; 
 01AE           ; void  OSTickISR_Handler (void)
 01AE           ; {
 01AE                   .dbline 230
 01AE           ;     TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
 01AE 84E6              ldi R24,100
 01B0 82BF              out 0x32,R24
 01B2                   .dbline 231
 01B2           ;     OSTimeTick();
 01B2 00D0              rcall _OSTimeTick
 01B4                   .dbline -2
 01B4           L23:
 01B4                   .dbline 0 ; func end
 01B4 0895              ret
 01B6                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
 0000           _i::
 0000                   .blkb 2
 0002                   .dbsym e i _i pc
 0002           _AppTask2Stk::
 0002                   .blkb 128
 0082                   .dbsym e AppTask2Stk _AppTask2Stk A[128:128]c
 0082           _AppTask1Stk::
 0082                   .blkb 128
 0102                   .dbsym e AppTask1Stk _AppTask1Stk A[128:128]c
 0102           _AppTaskStartStk::
 0102                   .blkb 128
 0182                   .dbsym e AppTaskStartStk _AppTaskStartStk A[128:128]c
                        .area data(ram, con, rel)
 0000                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
 0000           L20:
 0000                   .blkb 8
                        .area idata
 0000 61746D6567613800  .byte 'a,'t,'m,'e,'g,'a,56,0
                        .area data(ram, con, rel)
 0008                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
 0008           L19:
 0008                   .blkb 15
                        .area idata
 0008 2066726F6D204D49435249554D2000    .byte 32,'f,'r,'o,'m,32,'M,'I,'C,'R,'I,'U,'M,32,0
                        .area data(ram, con, rel)
 0017                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
 0017           L14:
 0017                   .blkb 15
                        .area idata
 0017 49206C6F76652055434F532D494900    .byte 'I,32,'l,'o,'v,'e,32,'U,'C,'O,'S,45,'I,'I,0
                        .area data(ram, con, rel)
 0026                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
 0026           L8:
 0026                   .blkb 8
                        .area idata
 0026 57656C636F6D6500  .byte 'W,'e,'l,'c,'o,'m,'e,0
                        .area data(ram, con, rel)
 002E                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
                        .area func_lit
 0000 A300      PL_AppTask2:    .word `_AppTask2
 0002 8B00      PL_AppTask1:    .word `_AppTask1
 0004 2D00      PL_AppTaskStart:        .word `_AppTaskStart

⌨️ 快捷键说明

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