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

📄 key05r2.lst

📁 使用68HC705J1A写的一个键盘的代码,包括资料说明,一份难得的资料,本人开发键盘时好不容易才找到的资料
💻 LST
📖 第 1 页 / 共 4 页
字号:
                 526  *         Once both the ALT keys have been released *
                 527  *         a calculation must be made to convert the *
                 528  *         bytes found in ASCII Storage to binary    *
                 529  *         for transmission.                         *
                 530  *                                                   *
                 531  *****************************************************
                 532  
 0556 B6C1       533  alt_rel lda     status          ;Decimal Calculation
 0558 A430       534          and     #$30
 055A 262B       535          bne     complet         ;One of the Alt Keys Still Pressed
                 536  
 055C B6C3       537          lda     asc
 055E AE64       538          ldx     #$64    ;x 100
 0560 42         539          mul
 0561 B7C0       540          sta     byte
                 541  
 0563 B6C4       542          lda     asc+1
 0565 AE0A       543          ldx     #$0A    ;x 10
 0567 42         544          mul
 0568 BBC5       545          add     asc+2   ;Add Units
 056A BBC0       546          add     byte    ;Add hundreds
 056C B7C0       547          sta     byte
                 548  
 056E CD0593     549          jsr     RS232T  ;Transmit number
                 550  
 0571 CC0320     551          jmp     main    ;Return to Main.
                 552  
                 553  *****************************************************
                 554  *                                                   *
                 555  * ctrl_re Ctrl Released.(Hexadecimal Enter Routine) *
                 556  *         Once both the CTRL keys have been released*
                 557  *         a calculation must be made to convert the *
                 558  *         bytes found in ASCII Storage to binary    *
                 559  *         for transmission.                         *
                 560  *                                                   *
                 561  *****************************************************
                 562  
 0574 B6C1       563  ctrl_re lda     status
 0576 A4C0       564          and     #$C0
 0578 260D       565          bne     complet         ;One of the Ctrl Keys Still Pressed
                 566  
 057A B6C4       567          lda     asc+1
 057C 48         568          lsla
 057D 48         569          lsla
 057E 48         570          lsla
 057F 48         571          lsla
 0580 BBC5       572          add     asc+2
 0582 B7C0       573          sta     byte
                 574  
 0584 CD0593     575          jsr     RS232T          ;Transmit Number
                 576  
 0587 CC0320     577  complet jmp     main            ;Return to Main
                 578  
                 579  *****************************************************
                 580  *                                                   *


KEY05R2.ASM            Assembled with CASM   05/06/1998  18:19  PAGE 11



                 581  * clrasc - Clear ASCII Storage Locations (3 Bytes)  *
                 582  *        - These storage bytes are used for the     *
                 583  *          ALTDEC & CTRLHEX Routines.               *
                 584  *                                                   *
                 585  *****************************************************
                 586  
 058A 3FC3       587  clrasc  clr     asc+0
 058C 3FC4       588          clr     asc+1
 058E 3FC5       589          clr     asc+2
 0590 CC0320     590          jmp     main
                 591  
                 592  *****************************************************
                 593  *                                                   *
                 594  * RS-232 NRZ 8N1 Transmit Routine.                  *
                 595  *                                                   *
                 596  * Uses a 4.00 Mhz Crystal (2 Mhz Bus Speed)         *
                 597  * to obtain a transmission speed of 9600 BPS        *
                 598  *                                                   *
                 599  *****************************************************
                 600  
 0593 AE08       601  RS232T  ldx     #8        ; Number of Bits (8)
 0595 1B01       602          bclr    TXD,PORTB ; Start Bit (0)
 0597 A61D       603          lda     #$1D      ; 29 Cycles 6[29] + 6
 0599 CD05C4     604          jsr     delay
 059C 21FE       605          brn     *
 059E 9D         606          nop
 059F 9D         607          nop
 05A0 36C0       608  nextbit ror     byte
 05A2 2505       609          bcs     rsmark
 05A4 1B01       610          bclr    TXD,PORTB ; Space (Logic 0)
 05A6 CC05AD     611          jmp     rsnext
 05A9 1A01       612  rsmark  bset    TXD,PORTB ; Mark (Logic 1)
 05AB 21FE       613          brn     *
 05AD A61C       614  rsnext  lda     #$1C      ; 28 Cycles 6[28] + 6
 05AF CD05C4     615          jsr     delay
 05B2 9D         616          nop
 05B3 9D         617          nop
 05B4 5A         618          decx
 05B5 26E9       619          bne     nextbit
 05B7 21FE       620          brn     *
 05B9 21FE       621          brn     *
 05BB 9D         622          nop
 05BC 1A01       623          bset    TXD,PORTB ; Stop Bit (Logic 1)
 05BE A61F       624          lda     #$1F      ; 31 Cycles 6[31] + 6
 05C0 CD05C4     625          jsr     delay
 05C3 81         626          rts
                 627  
 05C4 4A         628  delay   deca              ; Delay = 6[A] + 6
 05C5 26FD       629          bne     delay
 05C7 81         630          rts
                 631  
                 632  *****************************************************
                 633  *                                                   *
                 634  *   No-Shift - Lookup Table when Shift not Pressed  *
                 635  *                                                   *
                 636  *****************************************************
                 637  
 05C8 00         638  noshift fcb      $00     ; 00


KEY05R2.ASM            Assembled with CASM   05/06/1998  18:19  PAGE 12



 05C9 00         639          fcb      $00     ; 01  F9
 05CA 00         640          fcb      $00     ; 02
 05CB 00         641          fcb      $00     ; 03  F5
 05CC 00         642          fcb      $00     ; 04  F3
 05CD 00         643          fcb      $00     ; 05  F1
 05CE 00         644          fcb      $00     ; 06  F2
 05CF 00         645          fcb      $00     ; 07  F12
 05D0 00         646          fcb      $00     ; 08
 05D1 00         647          fcb      $00     ; 09  F10
 05D2 00         648          fcb      $00     ; 0A  F8
 05D3 00         649          fcb      $00     ; 0B  F6
 05D4 00         650          fcb      $00     ; 0C  F4
 05D5 09         651          fcb      $09     ; 0D  TAB
 05D6 60         652          fcb      '`'     ; 0E  ` or ~
 05D7 00         653          fcb      $00     ; 0F
                 654  
 05D8 00         655          fcb      $00     ; 10
 05D9 00         656          fcb      $00     ; 11  Left ALT
 05DA 00         657          fcb      $00     ; 12  Left SHIFT
 05DB 00         658          fcb      $00     ; 13
 05DC 00         659          fcb      $00     ; 14  Left Ctrl
 05DD 71         660          fcb      'q'     ; 15  Q
 05DE 31         661          fcb      '1'     ; 16  1 or !
 05DF 00         662          fcb      $00     ; 17
 05E0 00         663          fcb      $00     ; 18
 05E1 00         664          fcb      $00     ; 19
 05E2 7A         665          fcb      'z'     ; 1A  Z
 05E3 73         666          fcb      's'     ; 1B  S
 05E4 61         667          fcb      'a'     ; 1C  A
 05E5 77         668          fcb      'w'     ; 1D  W
 05E6 32         669          fcb      '2'     ; 1E  2 or @
 05E7 00         670          fcb      $00     ; 1F
                 671  
 05E8 00         672          fcb      $00     ; 20
 05E9 63         673          fcb      'c'     ; 21  C
 05EA 78         674          fcb      'x'     ; 22  X
 05EB 64         675          fcb      'd'     ; 23  D
 05EC 65         676          fcb      'e'     ; 24  E
 05ED 34         677          fcb      '4'     ; 25  4 or $
 05EE 33         678          fcb      '3'     ; 26  3 or #
 05EF 00         679          fcb      $00     ; 27
 05F0 00         680          fcb      $00     ; 28
 05F1 20         681          fcb      ' '     ; 29  Space
 05F2 76         682          fcb      'v'     ; 2A  V
 05F3 66         683          fcb      'f'     ; 2B  F
 05F4 74         684          fcb      't'     ; 2C  T
 05F5 72         685          fcb      'r'     ; 2D  R
 05F6 35         686          fcb      '5'     ; 2E  5 or %
 05F7 00         687          fcb      $00     ; 2F
                 688  
 05F8 00         689          fcb      $00     ; 30
 05F9 6E         690          fcb      'n'     ; 31  N
 05FA 62         691          fcb      'b'     ; 32  B
 05FB 68         692          fcb      'h'     ; 33  H
 05FC 67         693          fcb      'g'     ; 34  G
 05FD 79         694          fcb      'y'     ; 35  Y
 05FE 36         695          fcb      '6'     ; 36  6 or ^
 05FF 00         696          fcb      $00     ; 37


KEY05R2.ASM            Assembled with CASM   05/06/1998  18:19  PAGE 13



 0600 00         697          fcb      $00     ; 38
 0601 00         698          fcb      $00     ; 39
 0602 6D         699          fcb      'm'     ; 3A  M
 0603 6A         700          fcb      'j'     ; 3B  J
 0604 75         701          fcb      'u'     ; 3C  U
 0605 37         702          fcb      '7'     ; 3D  7 or &
 0606 38         703          fcb      '8'     ; 3E  8 or *
 0607 00         704          fcb      $00     ; 3F
                 705  
 0608 00         706          fcb      $00     ; 40
 0609 2C         707          fcb      ','     ; 41  , or <
 060A 6B         708          fcb      'k'     ; 42  K
 060B 69         709          fcb      'i'     ; 43  I
 060C 6F         710          fcb      'o'     ; 44  O
 060D 30         711          fcb      '0'     ; 45  0 or )
 060E 39         712          fcb      '9'     ; 46  9 or (
 060F 00         713          fcb      $00     ; 47
 0610 00         714          fcb      $00     ; 48
 0611 2E         715          fcb      '.'     ; 49  . or >
 0612 2F         716          fcb      '/'     ; 4A  / or ?
 0613 6C         717          fcb      'l'     ; 4B  L
 0614 3B         718          fcb      ';'     ; 4C  ; or :
 0615 70         719          fcb      'p'     ; 4D  P
 0616 2D         720          fcb      '-'     ; 4E  - or _
 0617 00         721          fcb      $00     ; 4F
                 722  
 0618 00         723          fcb      $00     ; 50
 0619 00         724          fcb      $00     ; 51
 061A 27         725          fcb      $27     ; 52  ' or "
 061B 00         726          fcb      $00     ; 53
 061C 5B         727          fcb      '['     ; 54  [ or {
 061D 3D         728          fcb      '='     ; 55  = OR +
 061E 00         729          fcb      $00     ; 56
 061F 00         730          fcb      $00     ; 57
 0620 00         731          fcb      $00     ; 58  Caps Lock
 0621 00         732          fcb      $00     ; 59  Right Shift
 0622 0D         733          fcb      $0D     ; 5A  Enter
 0623 5D         734          fcb      ']'     ; 5B  ] or }
 0624 00         735          fcb      $00     ; 5C
 0625 5C         736          fcb      '\'     ; 5D  \ or |
 0626 00         737          fcb      $00     ; 5E
 0627 00         738          fcb      $00     ; 5F
                 739  
 0628 00         740          fcb      $00     ; 60
 0629 00         741          fcb      $00     ; 61
 062A 00         742          fcb      $00     ; 62
 062B 00         743          fcb      $00     ; 63
 062C 00         744          fcb      $00     ; 64
 062D 00         745          fcb      $00     ; 65
 062E 08         746          fcb      $08     ; 66  Backspace
 062F 00         747          fcb      $00     ; 67
 0630 00         748          fcb      $00     ; 68
 0631 31         749          fcb      '1'     ; 69  NUM - 1 or END
 0632 00         750          fcb      $00     ; 6A
 0633 34         751          fcb      '4'     ; 6B  NUM - 4 or LEFT
 0634 37         752          fcb      '7'     ; 6C  NUM - 7 or HOME
 0635 00         753          fcb      $00     ; 6D
 0636 00         754          fcb      $00     ; 6E


KEY05R2.ASM            Assembled with CASM   05/06/1998  18:19  PAGE 14



 0637 00         755          fcb      $00     ; 6F
                 756  
 0638 30         757          fcb      '0'     ; 70  NUM - 0 or INS
 0639 2E         758          fcb      '.'     ; 71  NUM - . or DEL
 063A 32         759          fcb      '2'     ; 72  NUM - 2 or DOWN
 063B 35         760          fcb      '5'     ; 73  NUM - 5
 063C 36         761          fcb      '6'     ; 74  NUM - 6 or RIGHT
 063D 38         762          fcb      '8'     ; 75  NUM - 8 or UP
 063E 1B         763          fcb      $1B     ; 76  ESC
 063F 00         764          fcb      $00     ; 77  NUM LOCK
 0640 00         765          fcb      $00     ; 78  F11
 0641 2B         766          fcb      '+'     ; 79  NUM - + (Plus)
 0642 33         767          fcb      '3'     ; 7A  NUM 3 or PAGE DOWN
 0643 2D         768          fcb      '-'     ; 7B  NUM - - (Minus)
 0644 2A         769          fcb      '*'     ; 7C  NUM - *
 0645 39         770          fcb      '9'     ; 7D  NUM - 9 or PAGE UP
 0646 00         771          fcb      $00     ; 7E  SCROLL LOCK
 0647 00         772          fcb      $00     ; 7F
                 773  
 0648 00         774          fcb      $00     ; 80
 0649 00         775          fcb      $00     ; 81
 064A 00         776          fcb      $00     ; 82
 064B 00         777          fcb      $00     ; 83  F7
 064C 00         778          fcb      $00     ; 84
 064D 00         779          fcb      $00     ; 85
 064E 00         780          fcb      $00     ; 86
 064F 00         781          fcb      $00     ; 87
 0650 00         782          fcb      $00     ; 88
 0651 00         783          fcb      $00     ; 89
 0652 00         784          fcb      $00     ; 8A
 0653 00         785          fcb      $00     ; 8B
 0654 00         786          fcb      $00     ; 8C
 0655 00         787          fcb      $00     ; 8D
 0656 00         788          fcb      $00     ; 8E
 0657 00         789          fcb      $00     ; 8F
                 790  
                 791  *****************************************************
                 792  *                                                   *
                 793  *   Shift - Lookup Table Used when Shift Pressed    *

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -