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

📄 read_reg.lst

📁 ubi9021的51驱动程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V6.12  READ_REG                                                               03/13/2007 09:54:33 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE READ_REG
OBJECT MODULE PLACED IN .\read_reg.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\read_reg.c COMPACT DEBUG OBJECTEXTEND

stmt level    source

   1          #include "reg51.h"
   2          #include "read_reg.h"
   3          #include "usbmass.h"
   4          
   5          void          _nop_     (void);
   6          
   7          U8	gStallMark;
   8          U32	gWaitPktTicks = UMO_WAIT_USB_PKT_TICKS;	//timeout value for usb packet waiting
   9          
  10          XD	U8		gEPOUT;			//out-endpoint
  11          XD	U8		gEPIN;			//in-endpoint
  12          XD	U8		volatile gEP;
  13          XD	U8		gIrqEn;
  14          XD	U8		gMxPkSz;		//maximum packet size (bulk)
  15          XD	U8		gMxPkSzCtr;		//maximum packet size (control)
  16          XD	U8		gIFSC;			//interface sub-class
  17          XD	U8		gUsbVer;		//USB Version
  18          XD	U8		gUsbCfg;
  19          XD	U8		gLun;			//"LUN" for USB_XXX routines
  20          XD	U8		gDevAddr;
  21          
  22          XD	U16 	gVID;
  23          XD	U16		gPID;
  24          
  25          U8	gUsbIrq;		//DEV_WaitForIrq, DEV_WaitMS, WaitPacketDone
  26          
  27          U32	 msec;
  28          
  29          
  30          
  31          U8	gInitState    = IS_NO_INIT;
  32          
  33          
  34          
  35          //////////////////////////////////////////////////////////
  36          int enable_debug=0;
  37          char gUsbTimeOver=0;
  38          
  39          int gSecCnt=0;
  40          int gSecAddr=-1;
  41          
  42          ///////////////////////////////////////////////////////////
  43          extern XD	U8	gCBW[31];		//SCSI CBW 31byte or
  44          extern XD	U8		gMaxLun;		//gMaxLun = ??á??· LUN
  45          
  46          /*
  47          void test(void)
  48          {
  49           char i = 0;
  50          /* for(i=0;i<n;i++)
  51           {
  52           	_nop_();
  53           }
  54          }  */
  55          void clock_initial() reentrant using 0
C51 COMPILER V6.12  READ_REG                                                               03/13/2007 09:54:33 PAGE 2   

  56          {
  57   1      	TMOD=0x01;
  58   1      	TF0=0;
  59   1      	TR0=0;
  60   1      	TH0=0xf8;
  61   1      	TL0=0x30;
  62   1      	TR0=1;
  63   1      	ET0=1;
  64   1      	EA=1;
  65   1      }
  66          void clock_int() interrupt 1 using 1
  67          {
  68   1      	if(--msec==0)
  69   1      		{
  70   2      		gUsbTimeOver=1;
  71   2      		//ET0=0;
  72   2      		//EA=0;
  73   2      		}
  74   1      }
  75          void RISC_start_timer2(U32 n)
  76          {
  77   1      	msec=n;
  78   1      	clock_initial();
  79   1      }
  80          
  81          int usb_irq_poll()
  82          {
  83   1         return (IO_IRQ_PENDING);
  84   1      }
  85          
  86          int usb_plugin()
  87          {
  88   1        return (IO_PLUGIN_DET);
  89   1      }
  90          
  91          void RISC_sleep_nsec(U32 n)
  92          {
  93   1      		U32 nusec=n/1000;
  94   1      		U32 i;
  95   1      		for(i=0;i<nusec;i++)
  96   1      			{
  97   2      			 _nop_();
  98   2      			 _nop_();
  99   2      			}
 100   1      }
 101          
 102          
 103          void RISC_sleep_cycles(int n)
 104          {
 105   1      	while(n--)
 106   1      	{
 107   2      	      _nop_();
 108   2      	}
 109   1      }
 110          
 111          void DEV_TimerStart(int msec)
 112          {
 113   1      	gUsbTimeOver=0;
 114   1      	RISC_start_timer2(msec);
 115   1      
 116   1      }
 117          
C51 COMPILER V6.12  READ_REG                                                               03/13/2007 09:54:33 PAGE 3   

 118          /******************************************************************************
 119           *	MemCopy
 120           ******************************************************************************/
 121          /*
 122          void MemCopy(U8* pTrg, U8* pSrc, U16 bytCnt)
 123          {
 124          	while(bytCnt-->0) *pTrg++ = *pSrc++;
 125          
 126          	return;
 127          }
 128          */
 129          
 130          
 131          /******************************************************************************
 132           *	MemFill
 133           ******************************************************************************/
 134          
 135          void MemFill(U8* buf, U8 val, U16 bytCnt)
 136          {
 137   1      	while(bytCnt-->0) *buf++ = val;
 138   1      
 139   1      	return;
 140   1      }
 141          
 142          /*
 143          void DEV_WriteReg(U8 addr, U8 regdata)
 144          {
 145                  MCU_CS=1;
 146          	MCU_A0=1;
 147                  MCU_WR=1;
 148                  P0=addr;
 149          
 150          	MCU_A0=0;
 151            	MCU_CS=0;
 152                  MCU_WR=0;
 153          
 154          
 155          
 156          	_nop_();
 157          	_nop_();
 158          	_nop_();
 159          	MCU_WR=1;
 160                  MCU_CS=1;
 161          	MCU_A0=1;
 162          
 163          	_nop_();
 164          	_nop_();
 165          	_nop_();
 166          
 167           	P0=regdata;
 168          
 169                  MCU_CS=0;
 170            	MCU_WR=0;
 171          
 172          	_nop_();
 173          	_nop_();
 174          	_nop_();
 175          
 176          
 177          	MCU_WR=1;
 178          	MCU_CS=1;
 179          
C51 COMPILER V6.12  READ_REG                                                               03/13/2007 09:54:33 PAGE 4   

 180          }
 181          
 182          
 183          U8 DEV_ReadReg(U8 addr)
 184          {
 185          	register U8 regdata;
 186          
 187          	MCU_RD=1;
 188                 	MCU_A0=1;
 189                  MCU_CS=1;
 190            	MCU_WR=1;
 191          
 192          
 193          
 194          	P0=addr;
 195           	MCU_A0=0;
 196                  MCU_CS=0;
 197           	MCU_WR=0;
 198          
 199          
 200          
 201          
 202          	_nop_();
 203          	_nop_();
 204          	_nop_();
 205          
 206              	MCU_WR=1;
 207           	MCU_A0=1;
 208                  MCU_CS=1;
 209          
 210          	_nop_();
 211          	_nop_();
 212          	_nop_();
 213                  P0=0xFF;  /////
 214            	MCU_CS=0;
 215           	MCU_RD=0;
 216          
 217          	regdata=P0;
 218          
 219          	MCU_RD=1;
 220                  
 221                  MCU_CS=1;
 222          
 223          	return regdata;
 224          }
 225          
 226          */
 227          
 228          
 229          void DEV_WriteReg(U8 addr, U8 regdata)
 230          {
 231   1              MCU_CS=1;
 232   1      	MCU_A0=1;
 233   1              MCU_WR=1;
 234   1              P0=addr;
 235   1      
 236   1      	MCU_A0=0;
 237   1        	MCU_CS=0;
 238   1              MCU_WR=0;
 239   1      
 240   1      
 241   1      
C51 COMPILER V6.12  READ_REG                                                               03/13/2007 09:54:33 PAGE 5   

 242   1      	_nop_();
 243   1      	_nop_();
 244   1      	_nop_();
 245   1      	_nop_();
 246   1      	_nop_();
 247   1      	_nop_();
 248   1      	
 249   1      	MCU_WR=1;
 250   1      	_nop_();	
 251   1              MCU_CS=1;
 252   1      		
 253   1      	_nop_();
 254   1      	_nop_();
 255   1      		
 256   1      	MCU_A0=1;
 257   1      
 258   1      	_nop_();
 259   1      	_nop_();
 260   1      	_nop_();
 261   1      	_nop_();
 262   1      	_nop_();
 263   1      	_nop_();
 264   1      
 265   1       	P0=regdata;
 266   1      	
 267   1      	_nop_();
 268   1      	_nop_();
 269   1      
 270   1              MCU_CS=0;
 271   1        	MCU_WR=0;
 272   1      
 273   1      	_nop_();
 274   1      	_nop_();
 275   1      	_nop_();
 276   1      
 277   1      
 278   1      	MCU_WR=1;
 279   1      	_nop_();
 280   1      	MCU_CS=1;
 281   1      
 282   1      	_nop_();
 283   1      	_nop_();
 284   1      	_nop_();
 285   1      	_nop_();
 286   1      	_nop_();
 287   1      	_nop_();	
 288   1      
 289   1      }
 290          
 291          
 292          U8 DEV_ReadReg(U8 addr)
 293          {
 294   1      	register U8 regdata;
 295   1      
 296   1      	MCU_RD=1;
 297   1             MCU_A0=1;
 298   1              MCU_CS=1;
 299   1        	MCU_WR=1;
 300   1      
 301   1      
 302   1      
 303   1      	P0=addr;
C51 COMPILER V6.12  READ_REG                                                               03/13/2007 09:54:33 PAGE 6   

 304   1       	MCU_A0=0;
 305   1              MCU_CS=0;
 306   1       	MCU_WR=0;
 307   1      
 308   1      
 309   1      
 310   1      	_nop_();
 311   1      	_nop_();

⌨️ 快捷键说明

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