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

📄 interrupt.lis

📁 AVR单片机 C语言程序设计经典实用
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00C0           ;                               {
 00C0                   .dbline 70
 00C0           ;                                       if(bDate > 31)
 00C0 8FE1              ldi R24,31
 00C2 20900300          lds R2,_bDate
 00C6 8215              cp R24,R2
 00C8 78F5              brsh L17
 00CA                   .dbline 71
 00CA           ;                                       {
 00CA                   .dbline 72
 00CA           ;                                               bDate = 1;
 00CA 81E0              ldi R24,1
 00CC 80930300          sts _bDate,R24
 00D0                   .dbline 73
 00D0           ;                                               bMonth++;
 00D0 80910400          lds R24,_bMonth
 00D4 8F5F              subi R24,255    ; addi 1
 00D6 80930400          sts _bMonth,R24
 00DA                   .dbline 74
 00DA           ;                                       }
 00DA                   .dbline 75
 00DA           ;                               }
 00DA 26C0              xjmp L17
 00DC           L16:
 00DC                   .dbline 76
 00DC           ;                               else if(bMonth == 2)
 00DC 80910400          lds R24,_bMonth
 00E0 8230              cpi R24,2
 00E2 11F5              brne L26
 00E4                   .dbline 77
 00E4           ;                               {
 00E4                   .dbline 78
 00E4           ;                                       if(bDate > 28)
 00E4 8CE1              ldi R24,28
 00E6 20900300          lds R2,_bDate
 00EA 8215              cp R24,R2
 00EC E8F4              brsh L28
 00EE                   .dbline 79
 00EE           ;                                       {
 00EE                   .dbline 80
 00EE           ;                                               if((bYear % 4) != 0)
 00EE 14E0              ldi R17,4
 00F0 00910500          lds R16,_bYear
 00F4 0E940000          xcall mod8u
 00F8 0023              tst R16
 00FA 49F0              breq L30
 00FC                   .dbline 81
 00FC           ;                                               {
 00FC                   .dbline 82
 00FC           ;                                                       bDate = 1;
 00FC 81E0              ldi R24,1
 00FE 80930300          sts _bDate,R24
 0102                   .dbline 83
 0102           ;                                                       bMonth++;
 0102 80910400          lds R24,_bMonth
 0106 8F5F              subi R24,255    ; addi 1
 0108 80930400          sts _bMonth,R24
 010C                   .dbline 84
 010C           ;                                               }
 010C 0DC0              xjmp L31
 010E           L30:
 010E                   .dbline 86
 010E           ;                                               else
 010E           ;                                               {
 010E                   .dbline 87
 010E           ;                                                       if(bDate > 29)
 010E 8DE1              ldi R24,29
 0110 20900300          lds R2,_bDate
 0114 8215              cp R24,R2
 0116 40F4              brsh L32
 0118                   .dbline 88
 0118           ;                                                       {
 0118                   .dbline 89
 0118           ;                                                               bDate = 1;
 0118 81E0              ldi R24,1
 011A 80930300          sts _bDate,R24
 011E                   .dbline 90
 011E           ;                                                               bMonth++;
 011E 80910400          lds R24,_bMonth
 0122 8F5F              subi R24,255    ; addi 1
 0124 80930400          sts _bMonth,R24
 0128                   .dbline 91
 0128           ;                                                       }
 0128           L32:
 0128                   .dbline 92
 0128           ;                                               }
 0128           L31:
 0128                   .dbline 93
 0128           ;                                       }
 0128           L28:
 0128                   .dbline 94
 0128           ;                               }
 0128           L26:
 0128           L17:
 0128           L10:
 0128                   .dbline 95
 0128           ;                               if(bMonth > 12)
 0128 8CE0              ldi R24,12
 012A 20900400          lds R2,_bMonth
 012E 8215              cp R24,R2
 0130 40F4              brsh L34
 0132                   .dbline 96
 0132           ;                               {
 0132                   .dbline 97
 0132           ;                                       bMonth = 1;
 0132 81E0              ldi R24,1
 0134 80930400          sts _bMonth,R24
 0138                   .dbline 98
 0138           ;                                       bYear++;
 0138 80910500          lds R24,_bYear
 013C 8F5F              subi R24,255    ; addi 1
 013E 80930500          sts _bYear,R24
 0142                   .dbline 99
 0142           ;                               }
 0142           L34:
 0142                   .dbline 100
 0142           ;                       }
 0142           L7:
 0142                   .dbline 101
 0142           ;               }
 0142           L5:
 0142                   .dbline 102
 0142           L3:
 0142                   .dbline -2
 0142                   .dbline 103
 0142           ;       }
 0142           ; }
 0142           L2:
 0142                   .dbline 0 ; func end
 0142 0895              ret
 0144                   .dbend
                        .area vector(rom, abs)
                        .org 12
 000C 0C94A200          jmp _Timer2_Interrupt
                        .area text(rom, con, rel)
 0144                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LCD菜单系统设计\interrupt.c
 0144                   .dbfunc e Timer2_Interrupt _Timer2_Interrupt fV
                        .even
 0144           _Timer2_Interrupt::
 0144 0E940000          xcall push_lset
 0148                   .dbline -1
 0148                   .dbline 113
 0148           ; 
 0148           ; //***************************************************************
 0148           ; // Function    : Timer2_Interrupt
 0148           ; // Input       : none
 0148           ; // Output      : none
 0148           ; // Description : Kernel Clock Interrupt Service Routine
 0148           ; //***************************************************************
 0148           ; #pragma interrupt_handler Timer2_Interrupt:4
 0148           ; void Timer2_Interrupt(void)
 0148           ; {
 0148                   .dbline 115
 0148           ;       //Clear Timer2 OCIF Flag
 0148           ;       TIFR  |= 0x80;
 0148 88B7              in R24,0x38
 014A 8068              ori R24,128
 014C 88BF              out 0x38,R24
 014E                   .dbline 116
 014E           ;     TCNT2 = 0x00;
 014E 2224              clr R2
 0150 24BC              out 0x24,R2
 0152                   .dbline 118
 0152           ;       //Update Task Status
 0152           ;       OS_Task_Update();
 0152 0E940000          xcall _OS_Task_Update
 0156                   .dbline -2
 0156                   .dbline 119
 0156           ; }
 0156           L36:
 0156 0E940000          xcall pop_lset
 015A                   .dbline 0 ; func end
 015A 1895              reti
 015C                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LCD菜单系统设计\interrupt.c
 0000           _bSecond::
 0000                   .blkb 1
 0001                   .dbsym e bSecond _bSecond c
 0001           _bMinute::
 0001                   .blkb 1
 0002                   .dbsym e bMinute _bMinute c
 0002           _bHour::
 0002                   .blkb 1
 0003                   .dbsym e bHour _bHour c
 0003           _bDate::
 0003                   .blkb 1
 0004                   .dbsym e bDate _bDate c
 0004           _bMonth::
 0004                   .blkb 1
 0005                   .dbsym e bMonth _bMonth c
 0005           _bYear::
 0005                   .blkb 1
 0006                   .dbsym e bYear _bYear c

⌨️ 快捷键说明

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