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 + -
显示快捷键?