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

📄 ps2_bin.ls1

📁 ps2的驱动
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     436     ; 
                     437     ; };
                     438     ; unsigned char code e0_keyval[]=
                     439     ; {0x11,0x1F,0x14,0x12,0x70,0x6c,0x7d,0x71,0x69,0x7a,0x4a,0x5a,0x75,0x6b,0x72,0x74,0x5e,0x3
                             f,0x37,0x7c,0x27,0x2f};
                     440     ; unsigned char code pausekey[]={0xe1,0x14};
                     441     ; //unsigned char code pausekey[]={0xe1,0x14}
                     442     ; 
                     443     ; void main()
                     444     
----                 445             RSEG  ?PR?main?PS2_BIN
0000                 446     main:
                     447             USING   0
                     448                             ; SOURCE LINE # 113
                     449     ; {
                     450                             ; SOURCE LINE # 114
                     451     ; DINT; //关中断
                     452                             ; SOURCE LINE # 115
0000 C2AF            453             CLR     EA
A51 MACRO ASSEMBLER  PS2_BIN                                                              05/26/2005 15:31:26 PAGE     8

                     454     ;         
                     455     ; for(i=0;i<1000;i++)
                     456                             ; SOURCE LINE # 117
0002 E4              457             CLR     A
0003 F500     F      458             MOV     i,A
0005 F500     F      459             MOV     i+01H,A
0007                 460     ?C0001:
0007 0500     F      461             INC     i+01H
0009 E500     F      462             MOV     A,i+01H
000B 7002            463             JNZ     ?C0160
000D 0500     F      464             INC     i
000F                 465     ?C0160:
000F B4E8F5          466             CJNE    A,#0E8H,?C0001
0012 E500     F      467             MOV     A,i
0014 B403F0          468             CJNE    A,#03H,?C0001
0017                 469     ?C0002:
                     470     ;                 ;//延时稳定
                     471     ;         
                     472     ;         /*  初始化变量  */
                     473     ; sda = 0;
                     474                             ; SOURCE LINE # 121
0017 C2B4            475             CLR     sda
                     476     ; scl = 0;      //端口设置为高
                     477                             ; SOURCE LINE # 122
0019 C2B2            478             CLR     scl
                     479     ; key_sw = 1;   //关键盘
                     480                             ; SOURCE LINE # 123
001B D291            481             SETB    key_sw
                     482     ;         for(i=0;i<1000;i++)
                     483                             ; SOURCE LINE # 124
001D E4              484             CLR     A
001E F500     F      485             MOV     i,A
0020 F500     F      486             MOV     i+01H,A
0022                 487     ?C0004:
                     488     ;                 Delay(10);
                     489                             ; SOURCE LINE # 125
0022 7F0A            490             MOV     R7,#0AH
0024 120000   F      491             LCALL   _Delay
0027 0500     F      492             INC     i+01H
0029 E500     F      493             MOV     A,i+01H
002B 7002            494             JNZ     ?C0162
002D 0500     F      495             INC     i
002F                 496     ?C0162:
002F C3              497             CLR     C
0030 94E8            498             SUBB    A,#0E8H
0032 E500     F      499             MOV     A,i
0034 6480            500             XRL     A,#080H
0036 9483            501             SUBB    A,#083H
0038 40E8            502             JC      ?C0004
003A                 503     ?C0005:
                     504     ;         for(i = 0;i<16;i++)
                     505                             ; SOURCE LINE # 126
003A E4              506             CLR     A
003B F500     F      507             MOV     i,A
003D F500     F      508             MOV     i+01H,A
003F                 509     ?C0007:
                     510     ;         {
                     511                             ; SOURCE LINE # 127
                     512     ;                 KeyCodeBuff[i] = 0;
                     513                             ; SOURCE LINE # 128
003F 7400     F      514             MOV     A,#LOW (KeyCodeBuff)
0041 2500     F      515             ADD     A,i+01H
0043 F8              516             MOV     R0,A
0044 E4              517             CLR     A
0045 F6              518             MOV     @R0,A
                     519     ;         }
A51 MACRO ASSEMBLER  PS2_BIN                                                              05/26/2005 15:31:26 PAGE     9

                     520                             ; SOURCE LINE # 129
0046 0500     F      521             INC     i+01H
0048 E500     F      522             MOV     A,i+01H
004A 7002            523             JNZ     ?C0163
004C 0500     F      524             INC     i
004E                 525     ?C0163:
004E 6410            526             XRL     A,#010H
0050 4500     F      527             ORL     A,i
0052 70EB            528             JNZ     ?C0007
0054                 529     ?C0008:
                     530     ;         KeyCodeSum              = 0;
                     531                             ; SOURCE LINE # 130
0054 E4              532             CLR     A
0055 F500     F      533             MOV     KeyCodeSum,A
                     534     ;         KeyFlag                 = 0;
                     535                             ; SOURCE LINE # 131
0057 C200     F      536             CLR     KeyFlag
                     537     ;         KeyUpFlag               = 0;
                     538                             ; SOURCE LINE # 132
0059 C200     F      539             CLR     KeyUpFlag
                     540     ;         KeyExtendFlag           = 0;
                     541                             ; SOURCE LINE # 133
005B C200     F      542             CLR     KeyExtendFlag
                     543     ;         KeyLedLockFlag          = 0;
                     544                             ; SOURCE LINE # 134
005D C200     F      545             CLR     KeyLedLockFlag
                     546     ;         KeyBoardConnectFlag     = 0;
                     547                             ; SOURCE LINE # 135
005F C200     F      548             CLR     KeyBoardConnectFlag
                     549     ;         KeyPauseFlag            = 0;
                     550                             ; SOURCE LINE # 136
0061 C200     F      551             CLR     KeyPauseFlag
                     552     ;         KeyMakeCodeFlag         = 0;
                     553                             ; SOURCE LINE # 137
0063 C200     F      554             CLR     KeyMakeCodeFlag
                     555     ;         KeyIDLo                 = 0;
                     556                             ; SOURCE LINE # 138
0065 F500     F      557             MOV     KeyIDLo,A
                     558     ;         KeyIDHi                 = 0;
                     559                             ; SOURCE LINE # 139
0067 F500     F      560             MOV     KeyIDHi,A
                     561     ;         LedStatus               = 0;
                     562                             ; SOURCE LINE # 140
0069 F500     F      563             MOV     LedStatus,A
                     564     ; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     565     ; TMOD=0x22; // 定时器1 工作于方式2
                     566                             ; SOURCE LINE # 142
006B 758922          567             MOV     TMOD,#022H
                     568     ; //20
                     569     ; SCON=0x40; // 串口工作于方式1
                     570                             ; SOURCE LINE # 144
006E 759840          571             MOV     SCON,#040H
                     572     ; TH1=0xfa; //装入初值,22.1184MHZ 的晶振,9600 的波特率
                     573                             ; SOURCE LINE # 145
0071 758DFA          574             MOV     TH1,#0FAH
                     575     ; TL1=0xfa;
                     576                             ; SOURCE LINE # 146
0074 758BFA          577             MOV     TL1,#0FAH
                     578     ; TL0 = 0xff;
                     579                             ; SOURCE LINE # 147
0077 758AFF          580             MOV     TL0,#0FFH
                     581     ; TH0 = 0xff;
                     582                             ; SOURCE LINE # 148
007A 758CFF          583             MOV     TH0,#0FFH
                     584     ; PCON=0x00; //波特率无倍增
                     585                             ; SOURCE LINE # 149
A51 MACRO ASSEMBLER  PS2_BIN                                                              05/26/2005 15:31:26 PAGE    10

007D F587            586             MOV     PCON,A
                     587     ; TR1=1; //开启定时器1 开始工作
                     588                             ; SOURCE LINE # 150
007F D28E            589             SETB    TR1
                     590     ; TR0=1; //开启定时器0 开始工作
                     591                             ; SOURCE LINE # 151
0081 D28C            592             SETB    TR0
                     593     ; //EA=1;
                     594     ; 
                     595     ; ES=1; 
                     596                             ; SOURCE LINE # 154
0083 D2AC            597             SETB    ES
                     598     ; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     599     ; /*
                     600     ;         TMOD = 0x22;  //T1为波特率发生器设置19200波特率
                     601     ;         //T0为采样键盘时钟发生器
                     602     ;         TL1 = 0xFD;
                     603     ;         TH1 = 0xFD;
                     604     ; // TL0 =
                     605     ; // TH0 =
                     606     ; PCON |= 0x80; //SMOD设置为1
                     607     ; SCON = 0x50;  //串口控制寄存器
                     608     ;       //工作方式
                     609     ;       //非多机通讯方式
                     610     ;       //允许接收
                     611     ;       //
                     612     ; 
                     613     ; TR1 = 1;      //定时器1开始
                     614     ; */
                     615     ;         IT0 = 0;      //低电平引起中断
                     616                             ; SOURCE LINE # 172
0085 C288            617             CLR     IT0
                     618     ; 
                     619     ;         ES = 1;       //开串口中断
                     620                             ; SOURCE LINE # 174
0087 D2AC            621             SETB    ES
                     622     ;         EX0 = 1;      //开外部0中断
                     623                             ; SOURCE LINE # 175
0089 D2A8            624             SETB    EX0
                     625     ;         key_sw = 0;   //开键盘电源
                     626                             ; SOURCE LINE # 176
008B C291            627             CLR     key_sw
                     628     ;         scl = 1;
                     629                             ; SOURCE LINE # 177
008D D2B2            630             SETB    scl
                     631     ;         sda = 1;
                     632                             ; SOURCE LINE # 178
008F D2B4            633             SETB    sda
                     634     ;           
                     635     ; Delay(1);
                     636                             ; SOURCE LINE # 180
0091 7F01            637             MOV     R7,#01H
0093 120000   F      638             LCALL   _Delay
0096                 639     ?C0010:
                     640     ;         while(!KeyBoardConnectFlag)
                     641                             ; SOURCE LINE # 181
0096 200005   F      642             JB      KeyBoardConnectFlag,?C0011
                     643     ;                 ReadPS2();//等待键盘自检成功
                     644                             ; SOURCE LINE # 182
0099 120000   F      645             LCALL   ReadPS2
009C 80F8            646             SJMP    ?C0010
009E                 647     ?C0011:
                     648     ;                 
                     649     ;         Order(COMMAND_RESET);   //复位键盘
                     650                             ; SOURCE LINE # 184
009E 7FFF            651             MOV     R7,#0FFH
A51 MACRO ASSEMBLER  PS2_BIN                                                              05/26/2005 15:31:26 PAGE    11

00A0 120000   F      652             LCALL   _Order
                     653     ;         ReadPS2();              //等待键盘应答
                     654                             ; SOURCE LINE # 185

⌨️ 快捷键说明

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