⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 这是我做课程设计时自己做的,用摩托罗位的飞思卡尔单片机做的,包括了对键盘复键的处理
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 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 + -