vectors08.lis

来自「为日本瑞萨苏州分公司做的一个温控系统」· LIS 代码 · 共 548 行 · 第 1/2 页

LIS
548
字号
 010C B704              sta *_FlashData+4
 010E                   .dbline 80
 010E           ;                FlashData[5]=TADmax;
 010E C60001            lda _TADmax+1
 0111 B705              sta *_FlashData+5
 0113                   .dbline 81
 0113           ;                FlashData[6]=data[2];
 0113 E606              lda 6,X
 0115 B706              sta *_FlashData+6
 0117                   .dbline 82
 0117           ;                N=7;
 0117 A607              lda #7
 0119 B700              sta *_N
 011B                   .dbline 83
 011B           ;                FlashFlag=1;
 011B A601              lda #1
 011D B700              sta *_FlashFlag
 011F                   .dbline 84
 011F           ;                break;
 011F           L4:
 011F           L5:
 011F                   .dbline 86
 011F           ;       }
 011F           ;    }
 011F           L2:
 011F                   .dbline 95
 011F           ; /*/////////////////////////////
 011F           ;    else if(data[0]==0xAA)
 011F           ;    {
 011F           ;      SCIReN(1,data);
 011F           ;      SCISend1(data[0]);
 011F           ;      SCISend1(0xFF);
 011F           ;    }
 011F           ; /////////////////////////////////////*/   
 011F           ;    EnableMCUInterrupt();
 011F 9A                CLI
 0120                   .dbline -2
 0120           L1:
 0120 A708              ais #8
 0122                   .dbline 0 ; func end
 0122 86                pula
 0123 B700              sta *__rlo
 0125 86                pula
 0126 B700              sta *__rhi
 0128 86                pula
 0129 B700              sta *__r11
 012B 86                pula
 012C B700              sta *__r10
 012E 86                pula
 012F B700              sta *__r9
 0131 86                pula
 0132 B700              sta *__r8
 0134 86                pula
 0135 B700              sta *__r7
 0137 86                pula
 0138 B700              sta *__r6
 013A 86                pula
 013B B700              sta *__r5
 013D 86                pula
 013E B700              sta *__r4
 0140 86                pula
 0141 B700              sta *__r3
 0143 86                pula
 0144 B700              sta *__r2
 0146 86                pula
 0147 B700              sta *__r1
 0149 86                pula
 014A B700              sta *__r0
 014C 8A                pulh
 014D 80                rti
 014E                   .dbsym l Tmax 2 c
 014E                   .dbsym l Tmin 3 c
 014E                   .dbsym l data 4 A[4:4]c
 014E                   .dbend
 014E                   .dbfunc e isrTIMER1 _isrTIMER1 fV
 014E           _isrTIMER1::
 014E                   .dbline -1
 014E 8B                pshh
 014F B600              lda *__r0
 0151 87                psha
 0152 B600              lda *__r1
 0154 87                psha
 0155 B600              lda *__r2
 0157 87                psha
 0158 B600              lda *__r3
 015A 87                psha
 015B B600              lda *__r4
 015D 87                psha
 015E B600              lda *__r5
 0160 87                psha
 0161 B600              lda *__r6
 0163 87                psha
 0164 B600              lda *__r7
 0166 87                psha
 0167 B600              lda *__r8
 0169 87                psha
 016A B600              lda *__r9
 016C 87                psha
 016D B600              lda *__r10
 016F 87                psha
 0170 B600              lda *__r11
 0172 87                psha
 0173 B600              lda *__rhi
 0175 87                psha
 0176 B600              lda *__rlo
 0178 87                psha
 0179                   .dbline 102
 0179           ; }
 0179           ; 
 0179           ;  
 0179           ; //定时器1溢出中断处理函数
 0179           ; #pragma interrupt_handler isrTIMER1
 0179           ; void isrTIMER1(void)
 0179           ; {
 0179                   .dbline 103
 0179           ;     DisableMCUInterrupt();   //禁止总中断
 0179 9B                SEI
 017A                   .dbline 105
 017A           ;     //1 计时加热时间
 017A           ;     if(ScdTim<60)
 017A B600              lda *_ScdTim
 017C A13C              cmp #60
 017E 2404              bhs L26
 0180                   .dbline 106
 0180           ;        ScdTim++;             //秒计数
 0180 3C00              inc *_ScdTim
 0182 200E              bra L27
 0184           L26:
 0184                   .dbline 108
 0184           ;     else 
 0184           ;     {
 0184                   .dbline 109
 0184           ;        MntTim++;             //分计数
 0184 B601              lda *_MntTim+1
 0186 AB01              add #1
 0188 B701              sta *_MntTim+1
 018A B600              lda *_MntTim
 018C A900              adc #0
 018E B700              sta *_MntTim
 0190                   .dbline 110
 0190           ;        ScdTim=0;
 0190 3F00              clr *_ScdTim
 0192                   .dbline 111
 0192           ;     } 
 0192           L27:
 0192                   .dbline 115
 0192           ;        
 0192           ;     //2 LCD显示每1s刷新一次
 0192           ;     //将需要显示的各数据转换成LCD可显示的格式,并放入LcdShowBuff中
 0192           ;     InBuff(CurtTmp,Temper,CurtTime,Time,LcdShowBuff); 
 0192 450000            ldhx #_LcdShowBuff
 0195 89                pshx
 0196 8B                pshh
 0197 5500              ldhx *_Time
 0199 89                pshx
 019A 8B                pshh
 019B 5500              ldhx *_CurtTime
 019D 89                pshx
 019E 8B                pshh
 019F 5500              ldhx *_Temper
 01A1 89                pshx
 01A2 8B                pshh
 01A3 5500              ldhx *_CurtTmp
 01A5 89                pshx
 01A6 8B                pshh
 01A7 CD0000            jsr _InBuff
 01AA A70A              ais #10
 01AC                   .dbline 117
 01AC           ;     //显示LcdShowBuff中的数据 
 01AC           ;     LcdShCh(LcdShowBuff);
 01AC 450000            ldhx #_LcdShowBuff
 01AF 89                pshx
 01B0 8B                pshh
 01B1 CD0000            jsr _LcdShCh
 01B4 A702              ais #2
 01B6                   .dbline 119
 01B6           ;     //在Lcd上显示自定义32*16点阵的字符
 01B6           ;     LcdShBigNum(0,0,(INT16U *)BigNumCode,CurtTmp);
 01B6 5500              ldhx *_CurtTmp
 01B8 89                pshx
 01B9 8B                pshh
 01BA A600              lda #<_BigNumCode
 01BC 87                psha
 01BD A600              lda #>_BigNumCode
 01BF 87                psha
 01C0 4F                clra
 01C1 87                psha
 01C2 87                psha
 01C3 CD0000            jsr _LcdShBigNum
 01C6 A706              ais #6
 01C8 95                tsx
 01C9                   .dbline 122
 01C9           ;     
 01C9           ;     //3 清除定时器溢出标志位
 01C9           ;     T1SC&=~(1<<TOFBit);
 01C9 1F20              bclr #7,0x20
 01CB                   .dbline 123
 01CB           ;     EnableMCUInterrupt();    //开放总中断
 01CB 9A                CLI
 01CC                   .dbline -2
 01CC           L25:
 01CC                   .dbline 0 ; func end
 01CC 86                pula
 01CD B700              sta *__rlo
 01CF 86                pula
 01D0 B700              sta *__rhi
 01D2 86                pula
 01D3 B700              sta *__r11
 01D5 86                pula
 01D6 B700              sta *__r10
 01D8 86                pula
 01D9 B700              sta *__r9
 01DB 86                pula
 01DC B700              sta *__r8
 01DE 86                pula
 01DF B700              sta *__r7
 01E1 86                pula
 01E2 B700              sta *__r6
 01E4 86                pula
 01E5 B700              sta *__r5
 01E7 86                pula
 01E8 B700              sta *__r4
 01EA 86                pula
 01EB B700              sta *__r3
 01ED 86                pula
 01EE B700              sta *__r2
 01F0 86                pula
 01F1 B700              sta *__r1
 01F3 86                pula
 01F4 B700              sta *__r0
 01F6 8A                pulh
 01F7 80                rti
 01F8                   .dbend
 01F8                   .dbfunc e isrDummy _isrDummy fV
 01F8           _isrDummy::
 01F8                   .dbline -1
 01F8 8B                pshh
 01F9                   .dbline 129
 01F9           ; }
 01F9           ; 
 01F9           ; //未定义的中断处理函数,本函数不能删除
 01F9           ; #pragma interrupt_handler isrDummy  
 01F9           ; void isrDummy(void) 
 01F9           ;   {
 01F9                   .dbline -2
 01F9           L28:
 01F9                   .dbline 0 ; func end
 01F9 8A                pulh
 01FA 80                rti
 01FB                   .dbend
                        .area memory(abs)
                        .org 0xffdc
 FFDC                   .dbfile Vectors08.c
 FFDC           __vectab::
 FFDC 01F8              .word _isrDummy
 FFDE 01F8              .word _isrDummy
 FFE0 01F8              .word _isrDummy
 FFE2 01F8              .word _isrDummy
 FFE4 0000              .word _isrSCIRe
 FFE6 01F8              .word _isrDummy
 FFE8 01F8              .word _isrDummy
 FFEA 01F8              .word _isrDummy
 FFEC 01F8              .word _isrDummy
 FFEE 01F8              .word _isrDummy
 FFF0 01F8              .word _isrDummy
 FFF2 014E              .word _isrTIMER1
 FFF4 01F8              .word _isrDummy
 FFF6 01F8              .word _isrDummy
 FFF8 01F8              .word _isrDummy
 FFFA 01F8              .word _isrDummy
 FFFC 01F8              .word _isrDummy
 FFFE                   .dbsym e _vectab __vectab A[34:17]pfV
                        .area lit

⌨️ 快捷键说明

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