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

📄 usb.lst

📁 keil c 开发的USB芯片CH375的程序CPU 为c8051f340
💻 LST
字号:
C51 COMPILER V8.05a   USB                                                                  02/21/2008 09:56:10 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE USB
OBJECT MODULE PLACED IN USB.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE USB.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "C8051F340.h"
   2          #include "intrins.h"
   3          #include <PORTDEFINE.H>
   4          #include <MCU.H>
   5          
   6          unsigned char xdata CH375_CMD_PORT                      _at_      CH375_CMD_PORT_ADDR;
   7          unsigned char xdata CH375_DAT_PORT                      _at_      CH375_DAT_PORT_ADDR;
   8          
   9          void Delayus(unsigned char n)
  10          {                                                        // 48Mhz  1us
  11   1              unsigned char i,j;
  12   1              for(j=0; j<n; j++) 
  13   1              {
  14   2              for(i=0; i<5; i++)
  15   2                      {
  16   3                      _nop_(); 
  17   3                      _nop_(); 
  18   3                      _nop_();
  19   3                      _nop_(); 
  20   3                      _nop_(); 
  21   3                      _nop_();
  22   3                      }
  23   2              }
  24   1      }
  25          
  26          void Delayms(unsigned char n)
  27          {
  28   1              unsigned int i;
  29   1              unsigned char j;
  30   1              for(j=0;j<n;j++)
  31   1              {
  32   2                      for(i=0;i<3000;i++)
  33   2                      {
  34   3                              _nop_();
  35   3                              _nop_();
  36   3                              _nop_();
  37   3                              _nop_();
  38   3                              _nop_();
  39   3                              _nop_();
  40   3                              _nop_();
  41   3                              _nop_();
  42   3                              _nop_();
  43   3                              _nop_();
  44   3                      }                                
  45   2              }
  46   1      }
  47          
  48          void Selectchip(unsigned char ch,unsigned char mode) //ch为高位地址
  49          {
  50   1              switch(mode)
  51   1              {
  52   2                      case 0:         P2=ch&0x3f;                                     //选择液晶,高两位为00
  53   2                                              STRCLK=0;
  54   2                                              STRCLK=1;
  55   2                                              break;
C51 COMPILER V8.05a   USB                                                                  02/21/2008 09:56:10 PAGE 2   

  56   2                      case 1:         P2=(ch&0x7f)|0x40;                      //选择FLASH,高两位为01
  57   2                                              STRCLK=0;
  58   2                                              STRCLK=1;
  59   2                                              break;
  60   2                      case 2:         P2=(ch|0x80)&0xbf;                      //选择USB,高两位为10
  61   2                                              STRCLK=0;
  62   2                                              STRCLK=1;
  63   2                                              break;
  64   2                      case 3:         P2=ch|0xc0;                                     //选择跳线,高两位为11
  65   2                                              STRCLK=0;
  66   2                                              STRCLK=1;
  67   2                                              break;
  68   2                      default:        break;
  69   2              }               
  70   1      }
  71          
  72          
  73          void xWriteCH375Cmd(unsigned char cmd) 
  74          {  //* 向CH375的命令端口写入命令,周期不小于4uS,如果单片机较快则延时
  75   1              Delayus(5);
  76   1              SelExRam();
  77   1              CH375_CMD_PORT=cmd;
  78   1              SelInRam();
  79   1              Delayus(5);
  80   1      }
  81          
  82          void xWriteCH375Data(unsigned char dat) 
  83          {  //* 向CH375的数据端口写入数据,周期不小于1.5uS,如果单片机较快则延时
  84   1              
  85   1              Delayus(5);
  86   1              SelExRam();
  87   1              CH375_DAT_PORT=dat;
  88   1              SelInRam();
  89   1              Delayus(5);  //* 如果是MCS51单片机,因其较慢,所以实际上无需延时  
  90   1              
  91   1      }                                                                                                                                          
  92          
  93          unsigned char xReadCH375Data(void) 
  94          {  //* 从CH375的数据端口读出数据,周期不小于1.5uS,如果单片机较快则延时
  95   1              unsigned char uc1;
  96   1              
  97   1              Delayus(5);  //* 如果是MCS51单片机,因其较慢,所以实际上无需延时 
  98   1              SelExRam();
  99   1              uc1=CH375_DAT_PORT;
 100   1              SelInRam();
 101   1              Delayus(5);
 102   1              
 103   1              return uc1;
 104   1      }
 105          
 106          void USB_RESET()
 107          {
 108   1              USBRST=1;               //高电平复位
 109   1              Delayus(5);
 110   1              USBRST=0;
 111   1              Delayms(40);    //40ms完成硬件复位      
 112   1      }
 113          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    179    ----
C51 COMPILER V8.05a   USB                                                                  02/21/2008 09:56:10 PAGE 3   

   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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