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

📄 rs_usb.lst

📁 Example codes for ADuC842 CPU family
💻 LST
📖 第 1 页 / 共 2 页
字号:
 320      =2  #define SPI_SPR1    0x02
 321      =2  #define SPI_SPR0    0x01
 322      =2  
 323      =2  /* I2CCON MASTER MODE*/
 324      =2  #define I2C_MDO     0x80
 325      =2  #define I2C_MDE     0x40
 326      =2  #define I2C_MCO     0x20
 327      =2  #define I2C_MDI     0x10
 328      =2  #define I2C_I2CM    0x08
 329      =2  
 330      =2  /* I2CCON SLAVE MODE*/
 331      =2  #define I2C_I2CSI   0x80
 332      =2  #define I2C_I2CGC   0x40
 333      =2  #define I2C_I2CID1  0x20
 334      =2  #define I2C_I2CID0  0x10
 335      =2  #define I2C_I2CM    0x08
 336      =2  #define I2C_I2CRS   0x04
 337      =2  #define I2C_I2CTX   0x02
 338      =2  #define I2C_I2CI    0x01
 339      =2  
 340      =2  /* DPCON */
 341      =2  #define DP_DPT      0x40
 342      =2  #define DP_DP1m1    0x20
 343      =2  #define DP_DP1m0    0x10
 344      =2  #define DP_DP0m1    0x08
 345      =2  #define DP_DP0m0    0x04
 346      =2  #define DP_DPSEL    0x01
 347      =2  
 348      =2  /* PSMCON */
 349      =2  #define PSM_CMPD    0x40
 350      =2  #define PSM_PSMI    0x20
 351      =2  #define PSM_TPD1    0x10
 352      =2  #define PSM_TPD0    0x08
 353      =2  #define PSM_PSMEN   0x01
 354      =2  
 355      =2  /* WDCON */
 356      =2  #define WD_PRE3     0x80
 357      =2  #define WD_PRE2     0x40
 358      =2  #define WD_PRE1     0x20
 359      =2  #define WD_PRE0     0x10
 360      =2  #define WD_WDIR     0x08
 361      =2  #define WD_WDS      0x04
 362      =2  #define WD_WDE      0x02
C51 COMPILER V7.50   RS_USB                                                                12/19/2005 19:21:27 PAGE 7   

 363      =2  #define WD_WDWR     0x01
 364      =2  
 365      =2  /* TIMECON */
 366      =2  #define TIC_TFH     0x40
 367      =2  #define TIC_ITS1    0x20
 368      =2  #define TIC_ITS0    0x10
 369      =2  #define TIC_STI     0x08
 370      =2  #define TIC_TII     0x04
 371      =2  #define TIC_TIEN    0x02
 372      =2  #define TIC_TCEN    0x01
 373      =2  
 374      =2  /* TMOD */
 375      =2  #define TMOD_GATE1  0x80
 376      =2  #define TMOD_CT_T1  0x40
 377      =2  #define TMOD_M1_T1  0x20
 378      =2  #define TMOD_M0_T1  0x10
 379      =2  #define TMOD_GATE0  0x08
 380      =2  #define TMOD_CT_T0  0x04
 381      =2  #define TMOD_M1_T0  0x02
 382      =2  #define TMOD_M0_T0  0x01
 383      =2  
 384      =2  /* TCON */
 385      =2  #define TCON_TF1    0x80
 386      =2  #define TCON_TR1    0x40
 387      =2  #define TCON_TF0    0x20
 388      =2  #define TCON_TR0    0x10
 389      =2  #define TCON_IE1    0x08
 390      =2  #define TCON_IT1    0x04
 391      =2  #define TCON_IE0    0x02
 392      =2  #define TCON_IT0    0x01
 393      =2  
 394      =2  /* T2CON */
 395      =2  #define TCON_TF2    0x80
 396      =2  #define TCON_EXF2   0x40
 397      =2  #define TCON_RCLK   0x20
 398      =2  #define TCON_TCLK   0x10
 399      =2  #define TCON_EXEN2  0x08
 400      =2  #define TCON_TR2    0x04
 401      =2  #define TCON_CNT2   0x02
 402      =2  #define TCON_CAP2   0x01
 403      =2  
 404      =2  /* T3CON */
 405      =2  #define TCON_T3BAUDEN 0x80
 406      =2  #define TCON_DIV2   0x04
 407      =2  #define TCON_DIV1   0x02
 408      =2  #define TCON_DIV0   0x01
 409      =2  
 410      =2  /* SCON */
 411      =2  #define UART_SM0    0x80
 412      =2  #define UART_SM1    0x40
 413      =2  #define UART_SM2    0x20
 414      =2  #define UART_REN    0x10
 415      =2  #define UART_TB8    0x08
 416      =2  #define UART_RB8    0x04
 417      =2  #define UART_TI     0x02
 418      =2  #define UART_RI     0x01
 419      =2  
 420      =2  /* IE */
 421      =2  #define IE_EA       0x80
 422      =2  #define IE_EADC     0x40
 423      =2  #define IE_ET2      0x20
 424      =2  #define IE_ES       0x10
C51 COMPILER V7.50   RS_USB                                                                12/19/2005 19:21:27 PAGE 8   

 425      =2  #define IE_ET1      0x08
 426      =2  #define IE_EX1      0x04
 427      =2  #define IE_ET0      0x02
 428      =2  #define IE_EX0      0x01
 429      =2  
 430      =2  /* IP */
 431      =2  #define IP_PADC     0x40
 432      =2  #define IP_PT2      0x20
 433      =2  #define IP_PS       0x10
 434      =2  #define IP_PT1      0x08
 435      =2  #define IP_PX1      0x04
 436      =2  #define IP_PT0      0x02
 437      =2  #define IP_PX0      0x01
 438      =2  
 439      =2  /* IEIP2 */
 440      =2  #define IP_PTI      0x40
 441      =2  #define IP_PPSM     0x20
 442      =2  #define IP_PSI      0x10
 443      =2  #define IP_ETI      0x04
 444      =2  #define IP_EPSMI    0x02
 445      =2  #define IP_ESI      0x01
 446      =2  
 447      =2  
   2      =1  
   3      =1  sbit LED = P3^7;
   4      =1  sbit RxD_USB = P1^7;
   5      =1  sbit TxD_USB = P3^4;
   6      =1  sbit CTS_USB = P3^5;
   7      =1  sbit DSR_USB = P3^6;
   8      =1  
   9      =1  extern void DelayUs(unsigned char count);
  10      =1  extern void DelayUs2(void);
  11      =1  extern signed int ReadByte(void);
  12      =1  extern void SendByte(unsigned char data_byte);
   2          
   3          void DelayUs(unsigned char count) {
   4   1              #pragma asm
   5   1                      MOV A,R7
   6   1      Jump_DelayUs:
   7   1                      DEC A
   8   1                      JNZ Jump_DelayUs
   9   1              #pragma endasm
  10   1      }
*** WARNING C280 IN LINE 3 OF RS_USB.C: 'count': unreferenced local variable
  11          
  12          void DelayUs2(void) {
  13   1              #pragma asm
  14   1                      MOV A,#0x00 // START
  15   1                      RRC A
  16   1                      MOV (0xB0.4),C
  17   1                      NOP
  18   1                      NOP
  19   1                      NOP
  20   1                      NOP
  21   1      
  22   1                      MOV A,#0x01 //0
  23   1                      RRC A
  24   1                      MOV (0xB0.4),C
  25   1                      NOP
  26   1                      NOP
  27   1                      NOP
  28   1                      NOP
C51 COMPILER V7.50   RS_USB                                                                12/19/2005 19:21:27 PAGE 9   

  29   1      
  30   1                      MOV A,#0x00 //1
  31   1                      RRC A
  32   1                      MOV (0xB0.4),C
  33   1                      NOP
  34   1                      NOP
  35   1                      NOP
  36   1                      NOP
  37   1      
  38   1                      MOV A,#0x00 //2
  39   1                      RRC A
  40   1                      MOV (0xB0.4),C
  41   1                      NOP
  42   1                      NOP
  43   1                      NOP
  44   1                      NOP
  45   1      
  46   1                      MOV A,#0x00 //3
  47   1                      RRC A
  48   1                      MOV (0xB0.4),C
  49   1                      NOP
  50   1                      NOP
  51   1                      NOP
  52   1                      NOP
  53   1      
  54   1                      MOV A,#0x01 //4
  55   1                      RRC A
  56   1                      MOV (0xB0.4),C
  57   1                      NOP
  58   1                      NOP
  59   1                      NOP
  60   1                      NOP
  61   1      
  62   1                      MOV A,#0x01 //5
  63   1                      RRC A
  64   1                      MOV (0xB0.4),C
  65   1                      NOP
  66   1                      NOP
  67   1                      NOP
  68   1                      NOP
  69   1      
  70   1                      MOV A,#0x00 //6
  71   1                      RRC A
  72   1                      MOV (0xB0.4),C
  73   1                      NOP
  74   1                      NOP
  75   1                      NOP
  76   1                      NOP
  77   1      
  78   1                      MOV A,#0x00 //7
  79   1                      RRC A
  80   1                      MOV (0xB0.4),C
  81   1                      NOP
  82   1                      NOP
  83   1                      NOP
  84   1                      NOP
  85   1      
  86   1                      MOV A,#0x01 //STOP
  87   1                      RRC A
  88   1                      MOV (0xB0.4),C
  89   1                      NOP
  90   1                      NOP
C51 COMPILER V7.50   RS_USB                                                                12/19/2005 19:21:27 PAGE 10  

  91   1                      NOP
  92   1              #pragma endasm
  93   1      }
  94          
  95          
  96          signed int ReadByte(void) {
  97   1              #pragma asm
  98   1                      CLR DSR_USB
  99   1                      MOV R7,#0xFF
 100   1                      MOV R6,#0x08
 101   1      Wait_Start:
 102   1                      MOV C,RxD_USB
 103   1                      JNC Read_0
 104   1                      DJNZ R7,Wait_Start
 105   1                      SETB DSR_USB
 106   1                      MOV R6,#0xFF
 107   1                      MOV R7,#0xFF
 108   1                      JMP Read_End
 109   1      Read_0:
 110   1                      CLR A   
 111   1      Read_1:
 112   1                      NOP     
 113   1                      NOP     
 114   1                      NOP     
 115   1                      MOV C,RxD_USB
 116   1                      RLC     A
 117   1                      DJNZ R6,Read_1
 118   1                      MOV R6,#0x08
 119   1                      SETB DSR_USB
 120   1      Read_2:
 121   1                      RRC A
 122   1                      XCH A,R7
 123   1                      RLC A
 124   1                      XCH A,R7
 125   1                      DJNZ R6,Read_2
 126   1                      MOV R6,#0x00
 127   1      Read_End:
 128   1              #pragma endasm
 129   1      }
 130          
 131          
 132          
 133          void SendByte(unsigned char data_byte) {
 134   1              TxD_USB = 0;
 135   1          EA = 0;
 136   1      //      data_byte++;
 137   1              #pragma asm
 138   1                      MOV R6,#0x08
 139   1      Jump:
 140   1                      MOV A,R7  //data_byte
 141   1                      RRC A
 142   1                      MOV R7,A
 143   1                      MOV (0xB0.4),C
 144   1                      NOP
 145   1                      DJNZ R6,Jump
 146   1                      NOP
 147   1                      NOP
 148   1                      NOP
 149   1              #pragma endasm
 150   1              TxD_USB = 1;
 151   1          EA = 0;  // Do odblokowania potem
 152   1      }
C51 COMPILER V7.50   RS_USB                                                                12/19/2005 19:21:27 PAGE 11  

*** WARNING C280 IN LINE 133 OF RS_USB.C: 'data_byte': unreferenced local variable
 153          
 154          
 155          
 156          
 157          
C51 COMPILER V7.50   RS_USB                                                                12/19/2005 19:21:27 PAGE 12  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
_SendByte. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  data_byte?341. . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
ReadByte . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_DelayUs . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  count?040. . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
TxD_USB. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
DelayUs2 . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    385    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  2 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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