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

📄 multitask.lst

📁 单片机学习的最好例子, 1.51多任务切换 2.红外解码 3.数码管扫描显示 4.1602LCD的现实,以及文字动画效果 5.系统构架,资源整合,菜单应用,按键板,其它更新中
💻 LST
📖 第 1 页 / 共 3 页
字号:
                     179     
0090                 180         TIMER_INTERRUPT_0_FOR_MULTI_TASK_COPY_STACK_LOOP_1:
0090 E6              181         MOV      A,@R0
0091 F7              182         MOV      @R1,A
                     183     
0092 08              184         INC      R0
0093 09              185         INC      R1
                     186     
                     187         ;Next
0094 DAFA            188         DJNZ     R2,TIMER_INTERRUPT_0_FOR_MULTI_TASK_COPY_STACK_LOOP_1
                     189     
                     190         ;PSW,A,B
                     191         MOV      PSW, VAR_TASK_BUFFER_PSW
*** ERROR #7 IN 191 (MULTITASK.INC, LINE 191): UNDEFINED SYMBOL
*** ERROR #18 IN 191 (MULTITASK.INC, LINE 191): DATA-ADDRESS EXPECTED
                     192         MOV      ACC, VAR_TASK_BUFFER_ACC
*** ERROR #7 IN 192 (MULTITASK.INC, LINE 192): UNDEFINED SYMBOL
*** ERROR #18 IN 192 (MULTITASK.INC, LINE 192): DATA-ADDRESS EXPECTED
                     193         MOV      B,   VAR_TASK_BUFFER_B
*** ERROR #7 IN 193 (MULTITASK.INC, LINE 193): UNDEFINED SYMBOL
*** ERROR #18 IN 193 (MULTITASK.INC, LINE 193): DATA-ADDRESS EXPECTED
                     194         
                     195         ;Data pointer
                     196         MOV      DPL, VAR_TASK_BUFFER_DPL
*** ERROR #7 IN 196 (MULTITASK.INC, LINE 196): UNDEFINED SYMBOL
*** ERROR #18 IN 196 (MULTITASK.INC, LINE 196): DATA-ADDRESS EXPECTED
                     197         MOV      DPH, VAR_TASK_BUFFER_DPH
*** ERROR #7 IN 197 (MULTITASK.INC, LINE 197): UNDEFINED SYMBOL
*** ERROR #18 IN 197 (MULTITASK.INC, LINE 197): DATA-ADDRESS EXPECTED
                     198     
                     199         ;R0~7
                     200         MOV      R0, VAR_TASK_BUFFER_R0
*** ERROR #7 IN 200 (MULTITASK.INC, LINE 200): UNDEFINED SYMBOL
*** ERROR #18 IN 200 (MULTITASK.INC, LINE 200): DATA-ADDRESS EXPECTED
                     201         MOV      R1, VAR_TASK_BUFFER_R1
*** ERROR #7 IN 201 (MULTITASK.INC, LINE 201): UNDEFINED SYMBOL
*** ERROR #18 IN 201 (MULTITASK.INC, LINE 201): DATA-ADDRESS EXPECTED
                     202         MOV      R2, VAR_TASK_BUFFER_R2
*** ERROR #7 IN 202 (MULTITASK.INC, LINE 202): UNDEFINED SYMBOL
*** ERROR #18 IN 202 (MULTITASK.INC, LINE 202): DATA-ADDRESS EXPECTED
                     203         MOV      R3, VAR_TASK_BUFFER_R3
*** ERROR #7 IN 203 (MULTITASK.INC, LINE 203): UNDEFINED SYMBOL
*** ERROR #18 IN 203 (MULTITASK.INC, LINE 203): DATA-ADDRESS EXPECTED
                     204         MOV      R4, VAR_TASK_BUFFER_R4
A51 MACRO ASSEMBLER  MULTITASK                                                            04/04/2009 22:01:21 PAGE     5

*** ERROR #7 IN 204 (MULTITASK.INC, LINE 204): UNDEFINED SYMBOL
*** ERROR #18 IN 204 (MULTITASK.INC, LINE 204): DATA-ADDRESS EXPECTED
                     205         MOV      R5, VAR_TASK_BUFFER_R5
*** ERROR #7 IN 205 (MULTITASK.INC, LINE 205): UNDEFINED SYMBOL
*** ERROR #18 IN 205 (MULTITASK.INC, LINE 205): DATA-ADDRESS EXPECTED
                     206         MOV      R6, VAR_TASK_BUFFER_R6
*** ERROR #7 IN 206 (MULTITASK.INC, LINE 206): UNDEFINED SYMBOL
*** ERROR #18 IN 206 (MULTITASK.INC, LINE 206): DATA-ADDRESS EXPECTED
                     207         MOV      R7, VAR_TASK_BUFFER_R7
*** ERROR #7 IN 207 (MULTITASK.INC, LINE 207): UNDEFINED SYMBOL
*** ERROR #18 IN 207 (MULTITASK.INC, LINE 207): DATA-ADDRESS EXPECTED
                     208     
                     209         ;SP
                     210         MOV      SP, VAR_TASK_BUFFER_SP
*** ERROR #7 IN 210 (MULTITASK.INC, LINE 210): UNDEFINED SYMBOL
*** ERROR #18 IN 210 (MULTITASK.INC, LINE 210): DATA-ADDRESS EXPECTED
                     211         
                     212         ;PC counter
                     213         ;Note: here must PUSH PC counter
                     214         ;because the SP is next goto by MCU when interrupt function return
                     215         ;Don't worry that if a task function no loop, it will return and end, the 
                     216         ;task will goto TASK_FINISHED function and Kill task 
                     217         ;But don't forget SP = Start address must 
                     218         PUSH     VAR_TASK_BUFFER_PCL
*** ERROR #7 IN 218 (MULTITASK.INC, LINE 218): UNDEFINED SYMBOL
*** ERROR #18 IN 218 (MULTITASK.INC, LINE 218): DATA-ADDRESS EXPECTED
                     219         PUSH     VAR_TASK_BUFFER_PCH
*** ERROR #7 IN 219 (MULTITASK.INC, LINE 219): UNDEFINED SYMBOL
*** ERROR #18 IN 219 (MULTITASK.INC, LINE 219): DATA-ADDRESS EXPECTED
                     220     
                     221         ;Eanble Timer0 interrup
00BC D28C            222         SETB     TR0
00BE D2A9            223         SETB     ET0
                     224     
                     225         LJMP     TIMER_INTERRUPT_0_FOR_MULTI_TASK__TASK_SWITCH_RETURN
*** ERROR #7 IN 225 (MULTITASK.INC, LINE 225): UNDEFINED SYMBOL
*** ERROR #16 IN 225 (MULTITASK.INC, LINE 225): CODE-ADDRESS EXPECTED
                     226     ;RET ;RET return by youself
                     227     
                     228     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     229     ;Switch current task to next 
                     230     ;Move task buffer 
00C3                 231     TASK_SWITCH_BUFFER_:
00C3 0200CC          232         LJMP     TASK_CURRENT_SAVE_TO_XDATA_
00C6                 233         TASK_SWITCH_BUFFER__TASK_CURRENT_SAVE_TO_XDATA_RETURN:
                     234          
00C6 0200EF          235         LJMP     TASK_NEXT_GET_XDATA_
00C9                 236         TASK_SWITCH_BUFFER__TASK_NEXT_GET_XDATA_RETURN:
                     237     
00C9 020089          238         LJMP     TIMER_INTERRUPT_0_FOR_MULTI_TASK__TASK_SWITCH_BUFFER_RETURN
                     239     ;RET return by youself
                     240     
                     241     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     242     ;Save current task buffer data(in the RAM) to external memory
00CC                 243     TASK_CURRENT_SAVE_TO_XDATA_:
                     244         MOV     A,VAR_TASK_CURRENT_ID
*** ERROR #7 IN 244 (MULTITASK.INC, LINE 244): UNDEFINED SYMBOL
*** ERROR #18 IN 244 (MULTITASK.INC, LINE 244): DATA-ADDRESS EXPECTED
                     245         MOV     B,#DEFINE_TASK_XDATA_BLOCK
*** ERROR #7 IN 245 (MULTITASK.INC, LINE 245): UNDEFINED SYMBOL
00D1 A4              246         MUL     AB
00D2 F8              247         MOV     R0,A ;offset
                     248     
                     249         MOV     DPTR,#DEFINE_TASK_XDATA_ADDRESS
*** ERROR #7 IN 249 (MULTITASK.INC, LINE 249): UNDEFINED SYMBOL
00D6 C3              250         CLR     C
A51 MACRO ASSEMBLER  MULTITASK                                                            04/04/2009 22:01:21 PAGE     6

                     251         
00D7 E582            252         MOV     A,DPL
00D9 38              253         ADDC    A,R0
00DA F582            254         MOV     DPL,A ;+offset
                     255     
00DC E583            256         MOV     A,DPH
00DE 3400            257         ADDC    A,#00
00E0 F583            258         MOV     DPH,A
                     259     
                     260         MOV     R0,#DEFINE_TASK_XDATA_BLOCK
*** ERROR #7 IN 260 (MULTITASK.INC, LINE 260): UNDEFINED SYMBOL
                     261         MOV     R1,#VAR_TASK_BUFFER_START_ADDRESS
*** ERROR #7 IN 261 (MULTITASK.INC, LINE 261): UNDEFINED SYMBOL
                     262     
00E6                 263         TASK_CURRENT_SAVE_TO_XDATA__COPY_DATA_LOOP:
00E6 E7              264         MOV      A,@R1
00E7 F0              265         MOVX     @DPTR,A
00E8 A3              266         INC      DPTR
00E9 09              267         INC      R1
                     268         ;Next    
00EA D8FA            269         DJNZ     R0,TASK_CURRENT_SAVE_TO_XDATA__COPY_DATA_LOOP
                     270     
00EC 0200C6          271         LJMP     TASK_SWITCH_BUFFER__TASK_CURRENT_SAVE_TO_XDATA_RETURN
                     272     ;RET return by youself
                     273     
                     274     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     275     ;Get next task xdata, the first get next task id
00EF                 276     TASK_NEXT_GET_XDATA_:
00EF 0200F8          277         LJMP     TASK_NEXT_GET_NEXT_ID_
00F2                 278         TASK_NEXT_GET_XDATA__TASK_NEXT_GET_NEXT_ID_RETURN:
                     279     
00F2 020127          280         LJMP     TASK_NEXT_RESUME_FROM_XDATA_
00F5                 281         TASK_NEXT_GET_XDATA__TASK_NEXT_RESUME_FROM_XDATA_RETURN:
                     282     
00F5 0200C9          283         LJMP     TASK_SWITCH_BUFFER__TASK_NEXT_GET_XDATA_RETURN
                     284     ;RET return by youself
                     285     
                     286     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     287     ;Get next task id, if no found the currrent id don't be changed
00F8                 288     TASK_NEXT_GET_NEXT_ID_:
                     289         MOV      R0,#DEFINE_TASK_MAX
*** ERROR #7 IN 289 (MULTITASK.INC, LINE 289): UNDEFINED SYMBOL
                     290         MOV      R1,VAR_TASK_CURRENT_ID
*** ERROR #7 IN 290 (MULTITASK.INC, LINE 290): UNDEFINED SYMBOL
*** ERROR #18 IN 290 (MULTITASK.INC, LINE 290): DATA-ADDRESS EXPECTED
                     291         
00FC                 292         TASK_NEXT_GET_NEXT_ID__GET_NEXT_ID_LOOP:
00FC 09              293         INC      R1 ;Next Task ID
                     294     
                     295         CJNE     R1,#DEFINE_TASK_MAX,TASK_NEXT_GET_NEXT_ID__GET_NEXT_ADRRESS
*** ERROR #7 IN 295 (MULTITASK.INC, LINE 295): UNDEFINED SYMBOL
                     296         MOV      R1,#0x00 ;Task 0
*** ERROR #3 IN 296 (MULTITASK.INC, LINE 296): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                     297     
0100                 298         TASK_NEXT_GET_NEXT_ID__GET_NEXT_ADRRESS:
0100 E9              299         MOV      A,R1
                     300         MOV      B,#DEFINE_TASK_XDATA_BLOCK
*** ERROR #7 IN 300 (MULTITASK.INC, LINE 300): UNDEFINED SYMBOL
0104 A4              301         MUL      AB ;offset
                     302     
                     303         MOV      DPTR,#DEFINE_TASK_XDATA_ADDRESS
*** ERROR #7 IN 303 (MULTITASK.INC, LINE 303): UNDEFINED SYMBOL
0108 C3              304         CLR      C
                     305     
0109 3582            306         ADDC     A,DPL
010B F582            307         MOV      DPL,A
A51 MACRO ASSEMBLER  MULTITASK                                                            04/04/2009 22:01:21 PAGE     7

                     308         
010D E583            309         MOV      A,DPH
                     310         ADDC     A,#0x00
*** ERROR #3 IN 310 (MULTITASK.INC, LINE 310): ILLEGAL CHARACTER IN NUMERIC CONSTANT
010F F583            311         MOV      DPH,A ;+offset
                     312     
0111 E0              313         MOVX     A,@DPTR ;PCL 
                     314     
0112 6005            315         JZ       TASK_NEXT_GET_NEXT_ID__PCH
                     316         MOV      VAR_TASK_CURRENT_ID,R1
*** ERROR #7 IN 316 (MULTITASK.INC, LINE 316): UNDEFINED SYMBOL
0116 020124          317         LJMP     TASK_NEXT_GET_NEXT_ID__RETURN
                     318     
0119                 319         TASK_NEXT_GET_NEXT_ID__PCH:
0119 A3              320         INC      DPTR
011A E0              321         MOVX     A,@DPTR ;PCH
                     322     
011B 6005            323         JZ       TASK_NEXT_GET_NEXT_ID__GET_NEXT_ID_LOOP_NEXT
                     324         MOV      VAR_TASK_CURRENT_ID,R1
*** ERROR #7 IN 324 (MULTITASK.INC, LINE 324): UNDEFINED SYMBOL
011F 020124          325         LJMP     TASK_NEXT_GET_NEXT_ID__RETURN
                     326         
0122                 327         TASK_NEXT_GET_NEXT_ID__GET_NEXT_ID_LOOP_NEXT:
                     328         ;Next
0122 D8D8            329         DJNZ     R0,TASK_NEXT_GET_NEXT_ID__GET_NEXT_ID_LOOP
                     330     
0124                 331         TASK_NEXT_GET_NEXT_ID__RETURN:
0124 0200F2          332         LJMP     TASK_NEXT_GET_XDATA__TASK_NEXT_GET_NEXT_ID_RETURN
                     333     ;RET return by youself
                     334     
                     335     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     336     ;Resume data from external memory to current task buffer data(in the RAM) 
0127                 337     TASK_NEXT_RESUME_FROM_XDATA_:
                     338         MOV      R0,VAR_TASK_CURRENT_ID
*** ERROR #7 IN 338 (MULTITASK.INC, LINE 338): UNDEFINED SYMBOL
*** ERROR #18 IN 338 (MULTITASK.INC, LINE 338): DATA-ADDRESS EXPECTED
                     339     
0129 E8              340         MOV      A,R0
                     341         MOV      B,#DEFINE_TASK_XDATA_BLOCK
*** ERROR #7 IN 341 (MULTITASK.INC, LINE 341): UNDEFINED SYMBOL
012D A4              342         MUL      AB ;offset
                     343     
                     344         MOV      DPTR,#DEFINE_TASK_XDATA_ADDRESS
*** ERROR #7 IN 344 (MULTITASK.INC, LINE 344): UNDEFINED SYMBOL
0131 C3              345         CLR      C

⌨️ 快捷键说明

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