📄 main.lis
字号:
019B 2603 bne X42
019D CC0253 jmp L27
01A0 X42:
01A0 X19:
01A0 E61E lda 30,X
01A2 2609 bne X20
01A4 E61F lda 31,X
01A6 A1E5 cmp #-27
01A8 2603 bne X43
01AA CC0232 jmp L24
01AD X43:
01AD X20:
01AD E61E lda 30,X
01AF 2606 bne X21
01B1 E61F lda 31,X
01B3 A1E6 cmp #-26
01B5 2757 beq L21
01B7 X21:
01B7 CC02A9 jmp L12
01BA X22:
01BA ; {
01BA L14:
01BA ; case '1':Key_handle('1');break;
01BA A631 lda #49
01BC 87 psha
01BD CD0306 jsr _Key_handle
01C0 A701 ais #1
01C2 95 tsx
01C3 CC02A9 jmp L12
01C6 L15:
01C6 ; case '2':Key_handle('2');break;
01C6 A632 lda #50
01C8 87 psha
01C9 CD0306 jsr _Key_handle
01CC A701 ais #1
01CE 95 tsx
01CF CC02A9 jmp L12
01D2 L16:
01D2 ; case '3':Key_handle('3');break;
01D2 A633 lda #51
01D4 87 psha
01D5 CD0306 jsr _Key_handle
01D8 A701 ais #1
01DA 95 tsx
01DB CC02A9 jmp L12
01DE L17:
01DE ; case '4':Key_handle('4');break;
01DE A634 lda #52
01E0 87 psha
01E1 CD0306 jsr _Key_handle
01E4 A701 ais #1
01E6 95 tsx
01E7 CC02A9 jmp L12
01EA L18:
01EA ; case '5':Key_handle('5');break;
01EA A635 lda #53
01EC 87 psha
01ED CD0306 jsr _Key_handle
01F0 A701 ais #1
01F2 95 tsx
01F3 CC02A9 jmp L12
01F6 L19:
01F6 ; case '6':Key_handle('6');break;
01F6 A636 lda #54
01F8 87 psha
01F9 CD0306 jsr _Key_handle
01FC A701 ais #1
01FE 95 tsx
01FF CC02A9 jmp L12
0202 L20:
0202 ; case '7':Key_handle('7');break;
0202 A637 lda #55
0204 87 psha
0205 CD0306 jsr _Key_handle
0208 A701 ais #1
020A 95 tsx
020B CC02A9 jmp L12
020E L21:
020E ; case L1:Key_handle(L1);break;
020E A6E6 lda #-26
0210 87 psha
0211 CD0306 jsr _Key_handle
0214 A701 ais #1
0216 95 tsx
0217 CC02A9 jmp L12
021A L22:
021A ; case L2:Key_handle(L2);break;
021A A6C6 lda #-58
021C 87 psha
021D CD0306 jsr _Key_handle
0220 A701 ais #1
0222 95 tsx
0223 CC02A9 jmp L12
0226 L23:
0226 ; case L3:Key_handle(L3);break;
0226 A6A6 lda #-90
0228 87 psha
0229 CD0306 jsr _Key_handle
022C A701 ais #1
022E 95 tsx
022F CC02A9 jmp L12
0232 L24:
0232 ; case L4:Key_handle(L4);break;
0232 A6E5 lda #-27
0234 87 psha
0235 CD0306 jsr _Key_handle
0238 A701 ais #1
023A 95 tsx
023B 206C bra L12
023D L25:
023D ; case L5:Key_handle(L5);break;
023D A6C5 lda #-59
023F 87 psha
0240 CD0306 jsr _Key_handle
0243 A701 ais #1
0245 95 tsx
0246 2061 bra L12
0248 L26:
0248 ; case L6:Key_handle(L6);break;
0248 A6A5 lda #-91
024A 87 psha
024B CD0306 jsr _Key_handle
024E A701 ais #1
0250 95 tsx
0251 2056 bra L12
0253 L27:
0253 ; case L7:Key_handle(L7);break;
0253 A6E3 lda #-29
0255 87 psha
0256 CD0306 jsr _Key_handle
0259 A701 ais #1
025B 95 tsx
025C 204B bra L12
025E L28:
025E ; case H1:Key_handle(H1);break;
025E A646 lda #70
0260 87 psha
0261 CD0306 jsr _Key_handle
0264 A701 ais #1
0266 95 tsx
0267 2040 bra L12
0269 L29:
0269 ; case H2:Key_handle(H2);break;
0269 A6D6 lda #-42
026B 87 psha
026C CD0306 jsr _Key_handle
026F A701 ais #1
0271 95 tsx
0272 2035 bra L12
0274 L30:
0274 ; case H3:Key_handle(H3);break;
0274 A696 lda #-106
0276 87 psha
0277 CD0306 jsr _Key_handle
027A A701 ais #1
027C 95 tsx
027D 202A bra L12
027F L31:
027F ; case H4:Key_handle(H4);break;
027F A645 lda #69
0281 87 psha
0282 CD0306 jsr _Key_handle
0285 A701 ais #1
0287 95 tsx
0288 201F bra L12
028A L32:
028A ; case H5:Key_handle(H5);break;
028A A6D5 lda #-43
028C 87 psha
028D CD0306 jsr _Key_handle
0290 A701 ais #1
0292 95 tsx
0293 2014 bra L12
0295 L33:
0295 ; case H6:Key_handle(H6);break;
0295 A695 lda #-107
0297 87 psha
0298 CD0306 jsr _Key_handle
029B A701 ais #1
029D 95 tsx
029E 2009 bra L12
02A0 L34:
02A0 ; case H7:Key_handle(H7);break;
02A0 A6C3 lda #-61
02A2 87 psha
02A3 CD0306 jsr _Key_handle
02A6 A701 ais #1
02A8 95 tsx
02A9 ; default: ;break;
02A9 L12:
02A9 ; }
02A9 ; LCD_buff_fresh=1;
02A9 A601 lda #1
02AB B700 sta *_LCD_buff_fresh
02AD ; return 1;
02AD A601 lda #1
02AF L5:
02AF A721 ais #33
02B1 .dbline 0 ; func end
02B1 81 rts
02B2 ; Temp -> 0,X
02B2 ; Period -> 4,X
02B2 _PWMInit::
02B2 A7FE ais #-2
02B4 95 tsx
02B5 ; }
02B5 ; }
02B5 ;
02B5 ; void PWMInit(unsigned int Period)
02B5 ; {
02B5 ; unsigned int Temp=Period/2;
02B5 E605 lda 5,X
02B7 B700 sta *__r1
02B9 E604 lda 4,X
02BB B700 sta *__r0
02BD 3400 lsr *__r0
02BF 3600 ror *__r1
02C1 B600 lda *__r0
02C3 F7 sta ,X
02C4 B600 lda *__r1
02C6 E701 sta 1,X
02C8 ; //不允许溢出中断,不启动计数,分频因子=1,置位TSTOP,TRST
02C8 ; T1SC = 0x30;
02C8 A630 lda #48
02CA B720 sta 0x20
02CC ; //[设置PWM周期]
02CC ; T1MODH = (Temp>>8);
02CC F6 lda ,X
02CD B723 sta 0x23
02CF ; T1MODL = Period;
02CF E605 lda 5,X
02D1 B724 sta 0x24
02D3 ; //[初始化设置PWM脉宽为0]
02D3 ; T1CH0H = Period/4;
02D3 E605 lda 5,X
02D5 B700 sta *__r1
02D7 E604 lda 4,X
02D9 B700 sta *__r0
02DB 3400 lsr *__r0
02DD 3600 ror *__r1
02DF 3400 lsr *__r0
02E1 3600 ror *__r1
02E3 4E0026 mov *__r1,0x26
02E6 ; T1CH0L = Period/4;
02E6 E605 lda 5,X
02E8 B700 sta *__r1
02EA E604 lda 4,X
02EC B700 sta *__r0
02EE 3400 lsr *__r0
02F0 3600 ror *__r1
02F2 3400 lsr *__r0
02F4 3600 ror *__r1
02F6 4E0027 mov *__r1,0x27
02F9 ; //设为PWM模式,不允许输出比较中断,输出低电平,不带缓冲
02F9 ; T1SC0 = 0x1E;
02F9 A61E lda #30
02FB B725 sta 0x25
02FD ; //允许定时器1计数寄存器计数
02FD ; T1SC &= 0xDF;
02FD B620 lda 0x20
02FF A4DF and #-33
0301 B720 sta 0x20
0303 L41:
0303 A702 ais #2
0305 .dbline 0 ; func end
0305 81 rts
0306 ; key -> 4,X
0306 _Key_handle::
0306 A7FE ais #-2
0308 95 tsx
0309 ; }
0309 ;
0309 ; void Key_handle(unsigned char key)
0309 ; {
0309 ; if(LCD_buff1)
0309 B601 lda *_LCD_buff1
030B 2603 bne X66
030D CC0654 jmp L43
0310 X66:
0310 ; {
0310 ; switch(key) //do something and return
0310 7F clr ,X
0311 E604 lda 4,X
0313 E701 sta 1,X
0315 F6 lda ,X
0316 2609 bne X44
0318 E601 lda 1,X
031A A1A5 cmp #-91
031C 2603 bne X67
031E CC0579 jmp L72
0321 X67:
0321 X44:
0321 F6 lda ,X
0322 2609 bne X45
0324 E601 lda 1,X
0326 A1A6 cmp #-90
0328 2603 bne X68
032A CC052E jmp L66
032D X68:
032D X45:
032D E601 lda 1,X
032F B700 sta *__r1
0331 F6 lda ,X
0332 B700 sta *__r0
0334 5500 ldhx *__r0
0336 6500A6 cphx #166
0339 95 tsx
033A 9303 ble X69
033C CC03D8 jmp L91
033F X69:
033F L90:
033F F6 lda ,X
0340 2609 bne X46
0342 E601 lda 1,X
0344 A145 cmp #69
0346 2603 bne X70
0348 CC05F4 jmp L82
034B X70:
034B X46:
034B F6 lda ,X
034C 2609 bne X47
034E E601 lda 1,X
0350 A146 cmp #70
0352 2603 bne X71
0354 CC05AB jmp L76
0357 X71:
0357 X47:
0357 E601 lda 1,X
0359 B700 sta *__r1
035B F6 lda ,X
035C B700 sta *__r0
035E 5500 ldhx *__r0
0360 650046 cphx #70
0363 95 tsx
0364 9257 bgt L93
0366 L92:
0366 F6 lda ,X
0367 2609 bne X48
0369 E601 lda 1,X
036B A131 cmp #49
036D 2603 bne X72
036F CC044D jmp L48
0372 X72:
0372 X48:
0372 F6 lda ,X
0373 2609 bne X49
0375 E601 lda 1,X
0377 A132 cmp #50
0379 2603 bne X73
037B CC0466 jmp L50
037E X73:
037E X49:
037E F6 lda ,X
037F 2609 bne X50
0381 E601 lda 1,X
0383 A133 cmp #51
0385 2603 bne X74
0387 CC047F jmp L52
038A X74:
038A X50:
038A F6 lda ,X
038B 2609 bne X51
038D E601 lda 1,X
038F A134 cmp #52
0391 2603 bne X75
0393 CC0498 jmp L54
0396 X75:
0396 X51:
0396 F6 lda ,X
0397 2609 bne X52
0399 E601 lda 1,X
039B A135 cmp #53
039D 2603 bne X76
039F CC04B1 jmp L56
03A2 X76:
03A2 X52:
03A2 F6 lda ,X
03A3 2609 bne X53
03A5 E601 lda 1,X
03A7 A136 cmp #54
03A9 2603 bne X77
03AB CC04CA jmp L58
03AE X77:
03AE X53:
03AE F6 lda ,X
03AF 2609 bne X54
03B1 E601 lda 1,X
03B3 A137 cmp #55
03B5 2603 bne X78
03B7 CC04E3 jmp L60
03BA X78:
03BA X54:
03BA CC0652 jmp L46
03BD L93:
03BD F6 lda ,X
03BE 2609 bne X55
03C0 E601 lda 1,X
03C2 A195 cmp #-107
03C4 2603 bne X79
03C6 CC0624 jmp L86
03C9 X79:
03C9 X55:
03C9 F6 lda ,X
03CA 2609 bne X56
03CC E601 lda 1,X
03CE A196 cmp #-106
03D0 2603 bne X80
03D2 CC05DC jmp L80
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -