📄 vectors08.lis
字号:
00E4 ; SCISendN(110,(INT8U *)0x8080);
00E4 ; */
00E4 ; FlashFlag1=1;
00E4 A601 lda #1
00E6 C70000 sta _FlashFlag1
00E9 .dbline 105
00E9 ; }
00E9 L17:
00E9 L3:
00E9 .dbline 106
00E9 ; EnableMCUInterrupt(); //开放总中断
00E9 9A CLI
00EA .dbline -2
00EA L1:
00EA A713 ais #19
00EC .dbline 0 ; func end
00EC 86 pula
00ED B700 sta *__rlo
00EF 86 pula
00F0 B700 sta *__rhi
00F2 86 pula
00F3 B700 sta *__r11
00F5 86 pula
00F6 B700 sta *__r10
00F8 86 pula
00F9 B700 sta *__r9
00FB 86 pula
00FC B700 sta *__r8
00FE 86 pula
00FF B700 sta *__r7
0101 86 pula
0102 B700 sta *__r6
0104 86 pula
0105 B700 sta *__r5
0107 86 pula
0108 B700 sta *__r4
010A 86 pula
010B B700 sta *__r3
010D 86 pula
010E B700 sta *__r2
0110 86 pula
0111 B700 sta *__r1
0113 86 pula
0114 B700 sta *__r0
0116 8A pulh
0117 80 rti
0118 .dbsym l tmp 2 A[12:12]c
0118 .dbsym l i 14 c
0118 .dbsym l data 15 A[4:4]c
0118 .dbend
0118 .dbfunc e isrTIMER1 _isrTIMER1 fV
0118 _isrTIMER1::
0118 .dbline -1
0118 8B pshh
0119 .dbline 121
0119 ; }
0119 ;
0119 ;
0119 ; //isrTIMER1:定时器1溢出中断处理函数----------------------------------------*
0119 ; //功 能:每1秒计时秒数加1,加到60(不含)就清0,并分数加1 *
0119 ; // LCD显示刷新间隔:1秒 *
0119 ; //说 明: *
0119 ; // 修改的全局变量:ScdTim、MntTim *
0119 ; // 使用的全局变量:CurtTmp,Temper,CurtTime,Time,LcdShowBuff[64] *
0119 ; // 使用的常量:BigNumCode *
0119 ; // 修改的标志:无 *
0119 ; //-------------------------------------------------------------------------*
0119 ; #pragma interrupt_handler isrTIMER1
0119 ; void isrTIMER1(void)
0119 ; {
0119 .dbline 122
0119 ; DisableMCUInterrupt(); //禁止总中断
0119 9B SEI
011A .dbline 125
011A ;
011A ; //1 计时加热时间
011A ; if(ScdTim<59)
011A C60000 lda _ScdTim
011D A13B cmp #59
011F 240A bhs L20
0121 .dbline 126
0121 ; ScdTim++; //秒计数
0121 C60000 lda _ScdTim
0124 AB01 add #1
0126 C70000 sta _ScdTim
0129 2014 bra L21
012B L20:
012B .dbline 128
012B ; else
012B ; {
012B .dbline 129
012B ; MntTim++; //分计数
012B C60001 lda _MntTim+1
012E AB01 add #1
0130 C70001 sta _MntTim+1
0133 C60000 lda _MntTim
0136 A900 adc #0
0138 C70000 sta _MntTim
013B .dbline 130
013B ; ScdTim=0;
013B 4F clra
013C C70000 sta _ScdTim
013F .dbline 131
013F ; }
013F L21:
013F .dbline 134
013F ;
013F ; //3 清除定时器溢出标志位
013F ; T1SC&=~(1<<TOFBit);
013F 1F20 bclr #7,0x20
0141 .dbline 136
0141 ;
0141 ; EnableMCUInterrupt(); //开放总中断
0141 9A CLI
0142 .dbline -2
0142 L19:
0142 .dbline 0 ; func end
0142 8A pulh
0143 80 rti
0144 .dbend
0144 .dbfunc e isrTim2Ch0I _isrTim2Ch0I fV
0144 _isrTim2Ch0I::
0144 .dbline -1
0144 8B pshh
0145 .dbline 148
0145 ; }
0145 ;
0145 ; //isrTim2Ch0I:定时器2通道0下降沿输入捕捉中断处理程序-----------------------*
0145 ; //功 能: 复位按钮按下触发此中断,置标志 *
0145 ; //说 明: *
0145 ; // 修改的全局变量:CaptureTime(防"抖动") *
0145 ; // 使用的全局变量:ScdTim *
0145 ; // 修改的标志:ResetFlag *
0145 ; //-------------------------------------------------------------------------*
0145 ; #pragma interrupt_handler isrTim2Ch0I
0145 ; void isrTim2Ch0I(void)
0145 ; {
0145 .dbline 149
0145 ; DisableMCUInterrupt(); //禁止总中断
0145 9B SEI
0146 .dbline 153
0146 ;
0146 ;
0146 ; //防"抖动",1秒内最多只算一次中断
0146 ; if(CaptureTime !=ScdTim) //好像有1/60的概率将正常中断防掉诶?!
0146 C60000 lda _CaptureTime
0149 C10000 cmp _ScdTim
014C 2705 beq L23
014E .dbline 154
014E ; {
014E .dbline 155
014E ; ResetFlag=1;
014E A601 lda #1
0150 C70000 sta _ResetFlag
0153 .dbline 156
0153 ; }
0153 L23:
0153 .dbline 157
0153 ; CaptureTime=ScdTim; //更新"上次"中断时间
0153 C60000 lda _ScdTim
0156 C70000 sta _CaptureTime
0159 .dbline 160
0159 ;
0159 ; //清除定时器溢出标志位
0159 ; T2SC0&=~(1<<CH0FBit);
0159 1F30 bclr #7,0x30
015B .dbline 162
015B ;
015B ; EnableMCUInterrupt(); //开放总中断
015B 9A CLI
015C .dbline -2
015C L22:
015C .dbline 0 ; func end
015C 8A pulh
015D 80 rti
015E .dbend
015E .dbfunc e isrTim2Ch1I _isrTim2Ch1I fV
015E _isrTim2Ch1I::
015E .dbline -1
015E 8B pshh
015F .dbline 173
015F ; }
015F ; //isrTim2Ch1I:定时器2通道1下降沿输入捕捉中断处理程序-----------------------*
015F ; //功 能: Bake炉电源重启按钮按下触发此中断,置标志 *
015F ; //说 明: *
015F ; // 修改的全局变量:CaptureTime(防"抖动") *
015F ; // 使用的全局变量:ScdTim *
015F ; // 修改的标志:BakeFlag *
015F ; //-------------------------------------------------------------------------*
015F ; #pragma interrupt_handler isrTim2Ch1I
015F ; void isrTim2Ch1I(void)
015F ; {
015F .dbline 174
015F ; DisableMCUInterrupt(); //禁止总中断
015F 9B SEI
0160 .dbline 177
0160 ;
0160 ; //防"抖动",1秒内最多只算一次中断
0160 ; if(CaptureTime !=ScdTim) //好像有1/60的概率将正常中断防掉诶?!
0160 C60000 lda _CaptureTime
0163 C10000 cmp _ScdTim
0166 2705 beq L26
0168 .dbline 178
0168 ; {
0168 .dbline 179
0168 ; BakeFlag=1;
0168 A601 lda #1
016A C70000 sta _BakeFlag
016D .dbline 180
016D ; }
016D L26:
016D .dbline 181
016D ; CaptureTime=ScdTim; //更新"上次"中断时间
016D C60000 lda _ScdTim
0170 C70000 sta _CaptureTime
0173 .dbline 184
0173 ;
0173 ; //清除定时器溢出标志位
0173 ; T2SC1&=~(1<<CH0FBit);
0173 1F33 bclr #7,0x33
0175 .dbline 185
0175 ; EnableMCUInterrupt(); //开放总中断
0175 9A CLI
0176 .dbline -2
0176 L25:
0176 .dbline 0 ; func end
0176 8A pulh
0177 80 rti
0178 .dbend
0178 .dbfunc e isrDummy _isrDummy fV
0178 _isrDummy::
0178 .dbline -1
0178 8B pshh
0179 .dbline 192
0179 ; }
0179 ;
0179 ; /**/
0179 ; //未定义的中断处理函数,本函数不能删除
0179 ; #pragma interrupt_handler isrDummy
0179 ; void isrDummy(void)
0179 ; {
0179 .dbline -2
0179 L28:
0179 .dbline 0 ; func end
0179 8A pulh
017A 80 rti
017B .dbend
.area memory(abs)
.org 0xffdc
FFDC .dbfile Vectors08.c
FFDC __vectab::
FFDC 0178 .word _isrDummy
FFDE 0178 .word _isrDummy
FFE0 0178 .word _isrDummy
FFE2 0178 .word _isrDummy
FFE4 0000 .word _isrSCIRe
FFE6 0178 .word _isrDummy
FFE8 0178 .word _isrDummy
FFEA 0178 .word _isrDummy
FFEC 0178 .word _isrDummy
FFEE 015E .word _isrTim2Ch1I
FFF0 0144 .word _isrTim2Ch0I
FFF2 0118 .word _isrTIMER1
FFF4 0178 .word _isrDummy
FFF6 0178 .word _isrDummy
FFF8 0178 .word _isrDummy
FFFA 0178 .word _isrDummy
FFFC 0178 .word _isrDummy
FFFE .dbsym e _vectab __vectab A[34:17]pfV
.area lit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -