📄 vectors08.lis
字号:
00F5 ; if((key1==key2))
00F5 E601 lda 1,X
00F7 E102 cmp 2,X
00F9 2601 bne L16
00FB .dbline 39
00FB ; key_num++;
00FB 7C inc ,X
00FC L16:
00FC .dbline 40
00FC L13:
00FC .dbline 35
00FC 6C03 inc 3,X
00FE L15:
00FE .dbline 35
00FE E603 lda 3,X
0100 A105 cmp #5
0102 25E7 blo L12
0104 .dbline 41
0104 ; }
0104 ; if(key_num>=2)
0104 F6 lda ,X
0105 A102 cmp #2
0107 2506 blo L18
0109 .dbline 42
0109 ; KB_DefValue=key1;
0109 E601 lda 1,X
010B B700 sta *_KB_DefValue
010D 2004 bra L19
010F L18:
010F .dbline 44
010F ; else
010F ; KB_DefValue=key2;
010F E602 lda 2,X
0111 B700 sta *_KB_DefValue
0113 L19:
0113 .dbline 45
0113 ; asm("CLI"); //开总中断
0113 9A CLI
0114 .dbline -2
0114 L11:
0114 A704 ais #4
0116 .dbline 0 ; func end
0116 86 pula
0117 B700 sta *__rlo
0119 86 pula
011A B700 sta *__rhi
011C 86 pula
011D B700 sta *__r11
011F 86 pula
0120 B700 sta *__r10
0122 86 pula
0123 B700 sta *__r9
0125 86 pula
0126 B700 sta *__r8
0128 86 pula
0129 B700 sta *__r7
012B 86 pula
012C B700 sta *__r6
012E 86 pula
012F B700 sta *__r5
0131 86 pula
0132 B700 sta *__r4
0134 86 pula
0135 B700 sta *__r3
0137 86 pula
0138 B700 sta *__r2
013A 86 pula
013B B700 sta *__r1
013D 86 pula
013E B700 sta *__r0
0140 8A pulh
0141 80 rti
0142 .dbsym l key_num 0 c
0142 .dbsym l key1 1 c
0142 .dbsym l key2 2 c
0142 .dbsym l i 3 c
0142 .dbend
0142 .dbfunc e isrTIMER1 _isrTIMER1 fV
0142 ; no -> 0,X
0142 _isrTIMER1::
0142 .dbline -1
0142 8B pshh
0143 B600 lda *__r0
0145 87 psha
0146 B600 lda *__r1
0148 87 psha
0149 B600 lda *__r2
014B 87 psha
014C B600 lda *__r3
014E 87 psha
014F B600 lda *__r4
0151 87 psha
0152 B600 lda *__r5
0154 87 psha
0155 B600 lda *__r6
0157 87 psha
0158 B600 lda *__r7
015A 87 psha
015B B600 lda *__r8
015D 87 psha
015E B600 lda *__r9
0160 87 psha
0161 B600 lda *__r10
0163 87 psha
0164 B600 lda *__r11
0166 87 psha
0167 B600 lda *__rhi
0169 87 psha
016A B600 lda *__rlo
016C 87 psha
016D A7FF ais #-1
016F 95 tsx
0170 .dbline 52
0170 ; }
0170 ; /*定时器Timer1中断处理函数------------------------------------*
0170 ; *功能:每1S中采集一次AD值,进行一次DA转换
0170 ; *-------------------------------------------------------------*/
0170 ; #pragma interrupt_handler isrTIMER1
0170 ; void isrTIMER1(void)
0170 ; {
0170 .dbline 54
0170 ; INT8U no;
0170 ; asm("SEI"); //关总中断
0170 9B SEI
0171 .dbline 56
0171 ; //1:采集2片2542-22路的AD值
0171 ; ADC22P(ADValue);
0171 450000 ldhx #_ADValue
0174 89 pshx
0175 8B pshh
0176 CD0000 jsr _ADC22P
0179 A702 ais #2
017B .dbline 58
017B ; //2:DA转换
017B ; DAC(DAvalue);
017B 450000 ldhx #_DAvalue
017E 89 pshx
017F 8B pshh
0180 CD0000 jsr _DAC
0183 A702 ais #2
0185 95 tsx
0186 .dbline 60
0186 ; //------------------------------
0186 ; no++;
0186 7C inc ,X
0187 .dbline 61
0187 ; if(no==30)
0187 F6 lda ,X
0188 A11E cmp #30
018A 2603 bne L21
018C .dbline 62
018C ; {
018C .dbline 63
018C ; TimeFlag|=0x01; //30s标志TimeFlag.0
018C 1000 bset #0,*_TimeFlag
018E .dbline 64
018E ; no=0;
018E 7F clr ,X
018F .dbline 65
018F ; }
018F L21:
018F .dbline 68
018F ; //------------------------------
018F ; //清除定时器溢出标志位
018F ; T1SC&=~(1<<TOFBit);
018F 1F20 bclr #7,0x20
0191 .dbline 69
0191 ; asm("CLI"); //开总中断
0191 9A CLI
0192 .dbline -2
0192 L20:
0192 A701 ais #1
0194 .dbline 0 ; func end
0194 86 pula
0195 B700 sta *__rlo
0197 86 pula
0198 B700 sta *__rhi
019A 86 pula
019B B700 sta *__r11
019D 86 pula
019E B700 sta *__r10
01A0 86 pula
01A1 B700 sta *__r9
01A3 86 pula
01A4 B700 sta *__r8
01A6 86 pula
01A7 B700 sta *__r7
01A9 86 pula
01AA B700 sta *__r6
01AC 86 pula
01AD B700 sta *__r5
01AF 86 pula
01B0 B700 sta *__r4
01B2 86 pula
01B3 B700 sta *__r3
01B5 86 pula
01B6 B700 sta *__r2
01B8 86 pula
01B9 B700 sta *__r1
01BB 86 pula
01BC B700 sta *__r0
01BE 8A pulh
01BF 80 rti
01C0 .dbsym l no 0 c
01C0 .dbend
01C0 .dbfunc e isrDummy _isrDummy fV
01C0 _isrDummy::
01C0 .dbline -1
01C0 8B pshh
01C1 .dbline 74
01C1 ; }
01C1 ; //未定义的中断处理函数,本函数不能删除
01C1 ; #pragma interrupt_handler isrDummy
01C1 ; void isrDummy(void)
01C1 ; {
01C1 .dbline -2
01C1 L23:
01C1 .dbline 0 ; func end
01C1 8A pulh
01C2 80 rti
01C3 .dbend
.area memory(abs)
.org 0xffdc
FFDC .dbfile vectors08.c
FFDC __vectab::
FFDC 01C0 .word _isrDummy
FFDE 01C0 .word _isrDummy
FFE0 00A6 .word _isrKBI
FFE2 01C0 .word _isrDummy
FFE4 0000 .word _isrRe
FFE6 01C0 .word _isrDummy
FFE8 01C0 .word _isrDummy
FFEA 01C0 .word _isrDummy
FFEC 01C0 .word _isrDummy
FFEE 01C0 .word _isrDummy
FFF0 01C0 .word _isrDummy
FFF2 0142 .word _isrTIMER1
FFF4 01C0 .word _isrDummy
FFF6 01C0 .word _isrDummy
FFF8 01C0 .word _isrDummy
FFFA 01C0 .word _isrDummy
FFFC 01C0 .word _isrDummy
FFFE .dbsym e _vectab __vectab A[34:17]pfV
.area lit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -