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

📄 main.lst

📁 这是一个对OSD芯片upd6464A操作的接口测试程序,使用KC51编译一个高速球键盘程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 458   2              }   //switch cProtocol end
 459   1      
 460   1      }   //end main                   
 461                                           
 462                  
 463                                                                          
 464                  
 465            
 466                  
 467                          
 468                          void receive_send(void) interrupt       SIO_VECTOR
 469                          {       
 470   1                         
 471   1                              switch((char)RI)
 472   1                              {
 473   2                              case 1:
 474   2                                      
 475   2                                      RI=0;
 476   2                                      cKeyCodeReceiveState=1; //有接收时就置位        然后在主程序中清除
 477   2                                      cKeyCodeReceive=SBUF;
 478   2                                      break;  
 479   2                                                              
 480   2                              case 0:
 481   2                                      TI=0;
 482   2                                      if(flagTxd==0xff)
 483   2                                      {
 484   3                                       SBUF=(unsigned char)(comTxd>>countTxd);
 485   3                                       ++countTxd;
 486   3                                       if(countTxd==4)
 487   3                                        flagTxd=0xee;
 488   3                                        }
 489   2                                        break;                                
C51 COMPILER V8.01   MAIN                                                                  12/13/2008 17:52:30 PAGE 9   

 490   2                              }       
 491   1                      }
 492                          
 493          
 494           struct         structSwitchStatus  GetSwitchStatus()
 495           {
 496   1      volatile struct         structSwitchStatus      statu;
 497   1      bflag=0;
 498   1      ID0=ID1=ID3=ID4=ID5=ID6=1;
 499   1      bflag_0=!ID0 ;bflag_1=!ID1 ;bflag_2=!ID2 ;bflag_3=!ID3 ;bflag_4=!ID4 ;
 500   1      bflag_5=!ID5 ;bflag_6=!ID6 ;
 501   1      statu.id=bflag;
 502   1      bflag=0;
 503   1      PROTOCOL0=PROTOCOL1=PROTOCOL2=PROTOCOL3=1;
 504   1      bflag_0=!PROTOCOL3 ;bflag_1=!PROTOCOL2 ;bflag_2=!PROTOCOL1;bflag_3=!PROTOCOL0 ; 
 505   1      statu.protocol=bflag;
 506   1      bflag=0;
 507   1      BAUD0=BAUD1=1;
 508   1      bflag_0=!BAUD1 ; bflag_1=!BAUD0 ; 
 509   1      statu.rxdBaud=bflag;
 510   1      bflag=0; 
 511   1      CAMBAUD0=CAMBAUD1=1;
 512   1      bflag_0=!CAMBAUD1 ; bflag_1=!CAMBAUD0 ;   
 513   1      statu.cameraBaud=bflag;
 514   1      bflag=0; 
 515   1      CAMERA0=CAMERA1=1;
 516   1      bflag_0=!CAMERA1 ; bflag_1=!CAMERA0  ;   
 517   1      statu.cameraType=bflag;
 518   1      return(statu);
 519   1      }
 520          void TxdString(unsigned long com)
 521          {
 522   1      if(flagTxd==0xee)
 523   1      {
 524   2      flagTxd=0xff;
 525   2      countTxd=0;
 526   2      comTxd=com;
 527   2      SBUF=0xff;
 528   2      }
 529   1      }
C51 COMPILER V8.01   MAIN                                                                  12/13/2008 17:52:30 PAGE 10  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 37
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 44
0000         ERRor:
                                           ; SOURCE LINE # 45
0000 75E1FF            MOV     WDT_CONTR,#0FFH
                                           ; SOURCE LINE # 46
0003 120000      E     LCALL   GlobalSet
                                           ; SOURCE LINE # 47
0006 120000      E     LCALL   IntDisable
                                           ; SOURCE LINE # 48
0009 120000      E     LCALL   T0Stop
                                           ; SOURCE LINE # 49
000C 120000      E     LCALL   T1Stop
                                           ; SOURCE LINE # 50
000F 120000      E     LCALL   T2Stop
                                           ; SOURCE LINE # 51
0012 120000      E     LCALL   IntSet
                                           ; SOURCE LINE # 52
0015 120000      E     LCALL   TimerSet
                                           ; SOURCE LINE # 53
0018 120000      E     LCALL   SciSet
                                           ; SOURCE LINE # 54
001B 120000      E     LCALL   IntEnable
                                           ; SOURCE LINE # 55
001E 750000      R     MOV     x,#00H
0021 750000      R     MOV     x+01H,#00H
0024         ?C0002:
0024 7FFF              MOV     R7,#0FFH
0026 7EFF              MOV     R6,#0FFH
0028 7D00              MOV     R5,#00H
002A 7C00              MOV     R4,#00H
002C AB00        R     MOV     R3,y+03H
002E AA00        R     MOV     R2,y+02H
0030 A900        R     MOV     R1,y+01H
0032 A800        R     MOV     R0,y
0034 C3                CLR     C
0035 120000      E     LCALL   ?C?ULCMP
0038 500D              JNC     ?C0003
                                           ; SOURCE LINE # 56
003A 75E1FF            MOV     WDT_CONTR,#0FFH
003D         ?C0004:
003D 0500        R     INC     x+01H
003F E500        R     MOV     A,x+01H
0041 7002              JNZ     ?C0112
0043 0500        R     INC     x
0045         ?C0112:
0045 80DD              SJMP    ?C0002
0047         ?C0003:
                                           ; SOURCE LINE # 57
0047 7500EE      R     MOV     flagTxd,#0EEH
                                           ; SOURCE LINE # 58
004A 750000      R     MOV     countTxd,#00H
                                           ; SOURCE LINE # 59
004D 120000      E     LCALL   T1Start
                                           ; SOURCE LINE # 60
0050 E500        R     MOV     A,programFlyOff
0052 6011              JZ      ?C0005
C51 COMPILER V8.01   MAIN                                                                  12/13/2008 17:52:30 PAGE 11  

                                           ; SOURCE LINE # 61
                                           ; SOURCE LINE # 62
0054 120000      E     LCALL   TxdBaud9600
                                           ; SOURCE LINE # 63
0057 750001      R     MOV     programFlyOff,#01H
                                           ; SOURCE LINE # 64
005A 7F00              MOV     R7,#00H
005C 7E00              MOV     R6,#00H
005E 7D00              MOV     R5,#00H
0060 7C00              MOV     R4,#00H
0062 120000      R     LCALL   _TxdString
                                           ; SOURCE LINE # 65
0065         ?C0005:
                                           ; SOURCE LINE # 66
0065 120000      R     LCALL   GetSwitchStatus
0068 C003              PUSH    AR3
006A C002              PUSH    AR2
006C C001              PUSH    AR1
006E 7B00              MOV     R3,#00H
0070 7A00        R     MOV     R2,#HIGH struSwitchTemp
0072 7900        R     MOV     R1,#LOW struSwitchTemp
0074 A801              MOV     R0,AR1
0076 AC02              MOV     R4,AR2
0078 AD03              MOV     R5,AR3
007A D001              POP     AR1
007C D002              POP     AR2
007E D003              POP     AR3
0080 7E00              MOV     R6,#00H
0082 7F05              MOV     R7,#05H
0084 120000      E     LCALL   ?C?COPY
                                           ; SOURCE LINE # 67
0087 E500        R     MOV     A,struSwitchTemp+02H
0089 120000      E     LCALL   ?C?CCASE
008C 0000        R     DW      ?C0007
008E 00                DB      00H
008F 0000        R     DW      ?C0008
0091 01                DB      01H
0092 0000        R     DW      ?C0009
0094 02                DB      02H
0095 0000        R     DW      ?C0010
0097 03                DB      03H
0098 0000              DW      00H
009A 0000        R     DW      ?C0006
                                           ; SOURCE LINE # 68
                                           ; SOURCE LINE # 69
009C         ?C0007:
009C 120000      E     LCALL   TxdBaud2400
009F 800D              SJMP    ?C0006
                                           ; SOURCE LINE # 70
00A1         ?C0008:
00A1 120000      E     LCALL   TxdBaud9600
00A4 8008              SJMP    ?C0006
                                           ; SOURCE LINE # 71
00A6         ?C0009:
00A6 120000      E     LCALL   TxdBaud4800
00A9 8003              SJMP    ?C0006
                                           ; SOURCE LINE # 72
00AB         ?C0010:
00AB 120000      E     LCALL   TxdBaud19200
                                           ; SOURCE LINE # 73
00AE         ?C0006:
                                           ; SOURCE LINE # 74
C51 COMPILER V8.01   MAIN                                                                  12/13/2008 17:52:30 PAGE 12  

00AE E500        R     MOV     A,struSwitchTemp+03H
00B0 120000      E     LCALL   ?C?CCASE
00B3 0000        R     DW      ?C0012
00B5 00                DB      00H
00B6 0000        R     DW      ?C0013
00B8 01                DB      01H
00B9 0000        R     DW      ?C0014
00BB 02                DB      02H
00BC 0000        R     DW      ?C0015
00BE 03                DB      03H
00BF 0000              DW      00H
00C1 0000        R     DW      ?C0011
                                           ; SOURCE LINE # 75
                                           ; SOURCE LINE # 76
00C3         ?C0012:
00C3 120000      E     LCALL   RxdBaud2400
00C6 800D              SJMP    ?C0011
                                           ; SOURCE LINE # 77
00C8         ?C0013:
00C8 120000      E     LCALL   RxdBaud9600
00CB 8008              SJMP    ?C0011
                                           ; SOURCE LINE # 78
00CD         ?C0014:
00CD 120000      E     LCALL   RxdBaud4800
00D0 8003              SJMP    ?C0011
                                           ; SOURCE LINE # 79
00D2         ?C0015:
00D2 120000      E     LCALL   RxdBaud19200
                                           ; SOURCE LINE # 80
00D5         ?C0011:
                                           ; SOURCE LINE # 81
00D5 120000      E     LCALL   T2Start
                                           ; SOURCE LINE # 82
00D8 850000      R     MOV     id,struSwitchTemp
                                           ; SOURCE LINE # 83
00DB 850000      R     MOV     cProtocol,struSwitchTemp+01H

⌨️ 快捷键说明

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