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

📄 ps2_bin.ls1

📁 ps2的驱动
💻 LS1
📖 第 1 页 / 共 5 页
字号:
00A3 120000   F      655             LCALL   ReadPS2
                     656     ;         Delay(5);
                     657                             ; SOURCE LINE # 186
00A6 7F05            658             MOV     R7,#05H
00A8 120000   F      659             LCALL   _Delay
                     660     ;         
                     661     ;         Order(COMMAND_SETSTATUS);//设置状态灯CapsLock,NumLock,ScrollLock
                     662                             ; SOURCE LINE # 188
00AB 7FED            663             MOV     R7,#0EDH
00AD 120000   F      664             LCALL   _Order
                     665     ;         ReadPS2();               //等待键盘应答
                     666                             ; SOURCE LINE # 189
00B0 120000   F      667             LCALL   ReadPS2
                     668     ;         LedStatus = DISALL;
                     669                             ; SOURCE LINE # 190
00B3 E4              670             CLR     A
00B4 F500     F      671             MOV     LedStatus,A
                     672     ;         Order(LedStatus);        //关闭所有灯
                     673                             ; SOURCE LINE # 191
00B6 AF00     F      674             MOV     R7,LedStatus
00B8 120000   F      675             LCALL   _Order
                     676     ;         ReadPS2();               //等待键盘应答
                     677                             ; SOURCE LINE # 192
00BB 120000   F      678             LCALL   ReadPS2
                     679     ;         /*
                     680     ;         Order(COMMAND_READID);   //读键盘ID
                     681     ;         ReadPS2();               //等待键盘应答
                     682     ;         KeyIDLo = ReadPS2();     //获得键盘ID低字节
                     683     ;         KeyIDHi = ReadPS2();     //获得键盘ID高字节
                     684     ;         */
                     685     ;         LedStatus = NUMLOCK_EN;  //开NumLock灯
                     686                             ; SOURCE LINE # 199
00BE 750002   F      687             MOV     LedStatus,#02H
                     688     ;         Order(COMMAND_SETSTATUS);   
                     689                             ; SOURCE LINE # 200
00C1 7FED            690             MOV     R7,#0EDH
00C3 120000   F      691             LCALL   _Order
                     692     ;         ReadPS2();               //等待应答
                     693                             ; SOURCE LINE # 201
00C6 120000   F      694             LCALL   ReadPS2
                     695     ;         Order(LedStatus);        //
                     696                             ; SOURCE LINE # 202
00C9 AF00     F      697             MOV     R7,LedStatus
00CB 120000   F      698             LCALL   _Order
                     699     ;         ReadPS2();               //等待应答
                     700                             ; SOURCE LINE # 203
00CE 120000   F      701             LCALL   ReadPS2
                     702     ;         Order(COMMAND_SETRATE);  //设置速率延时
                     703                             ; SOURCE LINE # 204
00D1 7FF3            704             MOV     R7,#0F3H
00D3 120000   F      705             LCALL   _Order
                     706     ;         ReadPS2();               //等待应答
                     707                             ; SOURCE LINE # 205
00D6 120000   F      708             LCALL   ReadPS2
                     709     ;         Order(0x20);             //500ms/30
                     710                             ; SOURCE LINE # 206
00D9 7F20            711             MOV     R7,#020H
00DB 120000   F      712             LCALL   _Order
                     713     ;         ReadPS2();
                     714                             ; SOURCE LINE # 207
00DE 120000   F      715             LCALL   ReadPS2
                     716     ;         Order(COMMAND_ENABLE);   //使能键盘
                     717                             ; SOURCE LINE # 208
A51 MACRO ASSEMBLER  PS2_BIN                                                              05/26/2005 15:31:26 PAGE    12

00E1 7FF4            718             MOV     R7,#0F4H
00E3 120000   F      719             LCALL   _Order
                     720     ;         ReadPS2();
                     721                             ; SOURCE LINE # 209
00E6 120000   F      722             LCALL   ReadPS2
                     723     ;         Order(COMMAND_SETRATE);  //设置速率延时
                     724                             ; SOURCE LINE # 210
00E9 7FF3            725             MOV     R7,#0F3H
00EB 120000   F      726             LCALL   _Order
                     727     ;         ReadPS2();
                     728                             ; SOURCE LINE # 211
00EE 120000   F      729             LCALL   ReadPS2
                     730     ;         Order(0x20);             //
                     731                             ; SOURCE LINE # 212
00F1 7F20            732             MOV     R7,#020H
00F3 120000   F      733             LCALL   _Order
                     734     ;         ReadPS2();
                     735                             ; SOURCE LINE # 213
00F6 120000   F      736             LCALL   ReadPS2
                     737     ;         
                     738     ;         Delay(200);              //延时
                     739                             ; SOURCE LINE # 215
00F9 7FC8            740             MOV     R7,#0C8H
00FB 120000   F      741             LCALL   _Delay
                     742     ;         
                     743     ;         EINT;                    //开总中断
                     744                             ; SOURCE LINE # 217
00FE D2AF            745             SETB    EA
0100                 746     ?C0012:
                     747     ;      
                     748     ; while(1)
                     749                             ; SOURCE LINE # 219
                     750     ; {
                     751                             ; SOURCE LINE # 220
                     752     ; //  KeyScan();//扫描键盘
                     753     ;   if(KeyFlag == 1)
                     754                             ; SOURCE LINE # 222
0100 300005   F      755             JNB     KeyFlag,?C0014
                     756     ;   {
                     757                             ; SOURCE LINE # 223
                     758     ;    KeyFlag = 0;
                     759                             ; SOURCE LINE # 224
0103 C200     F      760             CLR     KeyFlag
                     761     ;    KeyTransmit();//
                     762                             ; SOURCE LINE # 225
0105 120000   F      763             LCALL   KeyTransmit
                     764     ;   
                     765     ;   }
                     766                             ; SOURCE LINE # 227
0108                 767     ?C0014:
                     768     ; 
                     769     ; KickDog();
                     770                             ; SOURCE LINE # 229
0108 120000   F      771             LCALL   KickDog
                     772     ; 
                     773     ; }
                     774                             ; SOURCE LINE # 231
010B 80F3            775             SJMP    ?C0012
                     776     ; END OF main
                     777     
----                 778     CSEG    AT      00023H
0023 020000   F      779             LJMP    uart
                     780     
                     781     ; }
                     782     ; 
                     783     ; /*********************************************************/
A51 MACRO ASSEMBLER  PS2_BIN                                                              05/26/2005 15:31:26 PAGE    13

                     784     ; //函数:uart
                     785     ; //功能:串口中断
                     786     ; //输入:无
                     787     ; //输出:无
                     788     ; //描述:
                     789     ; /*********************************************************/
                     790     ; void uart() interrupt 4 using 2
                     791     
----                 792             RSEG  ?PR?uart?PS2_BIN
                     793             USING   2
0000                 794     uart:
0000 C0E0            795             PUSH    ACC
0002 C0D0            796             PUSH    PSW
                     797                             ; SOURCE LINE # 241
                     798     ; {
                     799     ; ES=0;
                     800                             ; SOURCE LINE # 243
0004 C2AC            801             CLR     ES
                     802     ; TH1=0xfa; //装入初值,22.1184MHZ 的晶振,9600 的波特率
                     803                             ; SOURCE LINE # 244
0006 758DFA          804             MOV     TH1,#0FAH
                     805     ; TL1=0xfa;
                     806                             ; SOURCE LINE # 245
0009 758BFA          807             MOV     TL1,#0FAH
                     808     ; 
                     809     ; if(RI == 1)       //接收中断
                     810                             ; SOURCE LINE # 247
000C 309804          811             JNB     RI,?C0016
                     812     ; {
                     813                             ; SOURCE LINE # 248
                     814     ;   RI= 0;
                     815                             ; SOURCE LINE # 249
000F C298            816             CLR     RI
                     817     ; 
                     818     ; }
                     819                             ; SOURCE LINE # 251
0011 800F            820             SJMP    ?C0017
0013                 821     ?C0016:
                     822     ; else if(TI == 1)  //发送中断
                     823                             ; SOURCE LINE # 252
0013 30990C          824             JNB     TI,?C0017
                     825     ; {
                     826                             ; SOURCE LINE # 253
                     827     ;   if(KeyCodeSum >1)
                     828                             ; SOURCE LINE # 254
0016 E500     F      829             MOV     A,KeyCodeSum
0018 D3              830             SETB    C
0019 9401            831             SUBB    A,#01H
001B 5003            832             JNC     ?C0020
                     833     ;   {
                     834                             ; SOURCE LINE # 255
                     835     ;  //  SBUF = KeyCodeBuff[--KeyCodeSum];  
                     836     ; //   SBUF = 0x00;
                     837     ;   }
                     838                             ; SOURCE LINE # 258
001D                 839     ?C0019:
                     840     ;                 else
                     841     ;                 {
                     842                             ; SOURCE LINE # 260
                     843     ;                         KeyCodeSum = 0;                        
                     844                             ; SOURCE LINE # 261
001D 750000   F      845             MOV     KeyCodeSum,#00H
                     846     ;                 }
                     847                             ; SOURCE LINE # 262
0020                 848     ?C0020:
                     849     ;   TI = 0;
A51 MACRO ASSEMBLER  PS2_BIN                                                              05/26/2005 15:31:26 PAGE    14

                     850                             ; SOURCE LINE # 263
0020 C299            851             CLR     TI
                     852     ; }
                     853                             ; SOURCE LINE # 264
0022                 854     ?C0017:
                     855     ; ES=1;
                     856                             ; SOURCE LINE # 265
0022 D2AC            857             SETB    ES
                     858     ; }
                     859                             ; SOURCE LINE # 266
0024 D0D0            860             POP     PSW
0026 D0E0            861             POP     ACC
0028 32              862             RETI    
                     863     ; END OF uart
                     864     
                     865     ; 
                     866     ; unsigned char findcode(unsigned char dat,unsigned char sort)
                     867     
----                 868             RSEG  ?PR?_findcode?PS2_BIN
0000                 869     _findcode:
                     870             USING   0
                     871                             ; SOURCE LINE # 268
                     872     ;---- Variable 'dat?240' assigned to Register 'R7' ----
                     873     ;---- Variable 'sort?241' assigned to Register 'R5' ----
                     874     ; {
                     875                             ; SOURCE LINE # 269
                     876     ;       unsigned char conter=0x00;

⌨️ 快捷键说明

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