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

📄 hal4sys.lst

📁 D12 USB源代码 硬盘
💻 LST
字号:
C51 COMPILER V7.06   HAL4SYS                                                               02/17/2004 14:42:22 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE HAL4SYS
OBJECT MODULE PLACED IN Hal4sys.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Hal4sys.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*IDE外设低层代码
   2             //*************************************************************************
   3             //
   4             //                  P H I L I P S   P R O P R I E T A R Y
   5             //
   6             //           COPYRIGHT (c)   1999 BY PHILIPS SINGAPORE.
   7             //                     --  ALL RIGHTS RESERVED  --
   8             //
   9             // File Name:            Hal4sys.C
  10             // Author:           Hilbert Zhang ZhenYu
  11             // Created:          Nov. 19, 99
  12             // Modified:
  13             // Revision:                 0.0.
  14             //
  15             //*************************************************************************
  16             //
  17             //*************************************************************************
  18             */
  19          #include <reg51.h>                /* special function register declarations   */
  20          #include <intrins.h>
  21          #undef   GLOBAL_EXT
  22          #include "SysCnfg.h"
  23          #include "BasicTyp.H"
  24          #include "Hal4Sys.h"
  25          /*
  26             //*************************************************************************
  27             // Public Data
  28             //*************************************************************************
  29          */
  30          INT8_EXT    Hal4Sys_ClockTicks;
  31          /*
  32             //*************************************************************************
  33             // Functions
  34             //*************************************************************************
  35          */
  36          void Hal4Sys_InitTimer0(void)           //定时器0初始化设置
  37          {
  38   1          //Init Timer0;
  39   1          TIMER0_MODE &= 0XF0;    // clear Timer 0 amd Keep Timer 1
  40   1              TIMER0_MODE |= 0X01;    // 16bit Timer
  41   1              TIMER0_PRIORITY = 0;    // 0 prority of Timer 0
  42   1              TIMER0_IRQ_ENABLE = 1;  // Enable IRQ Timer0
  43   1          TIMER0_LOW = 0x00;    // 1 MS interval @24MHz
  44   1          TIMER0_HIGH =TIMER0_AT24MHZ;
  45   1          TIMER0_START = 1;       // Start Timer 0
  46   1      }
  47          
  48          
  49          void Hal4Sys_Wait4US(void)
  50          {
  51   1          // @24MHz
  52   1          _nop_();
  53   1          _nop_();
  54   1          _nop_();
  55   1          _nop_();
C51 COMPILER V7.06   HAL4SYS                                                               02/17/2004 14:42:22 PAGE 2   

  56   1      }
  57          
  58          
  59          void Hal4Sys_WaitInUS(INT16 time)
  60          {
  61   1         for(; time != 0; time -- );  //once 10 states 
  62   1      }
  63          
  64          
  65          void Hal4Sys_WaitInMS(INT8 time)                                
  66          {
  67   1          LowerIRQL();
  68   1          Hal4Sys_ClockTicks = 0 ;
  69   1          while(Hal4Sys_ClockTicks > time);
  70   1      }
  71          
  72          /*  PIO mode for D12 access */
  73          
  74          void Hal4Sys_D12CmdPortOutB( INT8 val)                          //D12写命令
  75          {
  76   1              *((INT8 xdata *)D12_command) = val;
  77   1      }
  78          
  79          
  80          void Hal4Sys_D12DataPortOutB( INT8 val)                         //D12写数据
  81          {
  82   1              *((INT8 xdata *)D12_data) = val;
  83   1      }
  84          
  85          
  86          unsigned char Hal4Sys_D12DataPortInB( void)                     //D12读
  87          {
  88   1              return *((INT8 xdata *)D12_data);
  89   1      }
  90          
  91          
  92          void Hal4Sys_ATAPortOutB(INT16 Addr, INT8 Data)         //ATA写一字节
  93          {
  94   1              *((INT8 xdata *)Addr) = Data;
  95   1      }
  96          
  97          
  98          INT8 Hal4Sys_ATAPortInB(INT16 Addr)                                  //ATA读字节
  99          {
 100   1              return *((INT8 xdata *)Addr);
 101   1      }
 102          
 103          
 104          INT16 Hal4Sys_ATADataPortInW(void)                              //ATA读字16位
 105          {
 106   1              return  *((INT16 xdata *)ATAREG4IN_DATA);
 107   1      }
 108          
 109          
 110          //Amend by Liu Ying Bin
 111          INT16 Hal4Sys_SwapINT16(INT16 wData)
 112          {
 113   1          return ( (wData<<8)|(wData>>8) );
 114   1      }
 115          
 116          
 117          INT32 Hal4Sys_SwapINT32(INT32 dData)
C51 COMPILER V7.06   HAL4SYS                                                               02/17/2004 14:42:22 PAGE 3   

 118          {
 119   1          dData = (dData&0xff)<<24|(dData&0xff00)<<8|(dData&0xff000000)>>24|(dData&0xff0000)>>8;
 120   1              return dData;
 121   1      }
 122          
 123          
 124          void Hal4Sys_ResetD12(void)                                                             //D12复位
 125          {
 126   1          D12RST_N = 0; // reset D12 , Holdup time > 2 uS.
 127   1          Hal4Sys_WaitInMS(2000);
 128   1          D12RST_N = 1;
 129   1          Hal4Sys_WaitInUS(100);
 130   1      }
 131          
 132          
 133          void Hal4Sys_InitD12(void)
 134          {
 135   1          Hal4Sys_ResetD12();
 136   1          D12INT_EDGE = 0;        // Level trigle for D12INT_N
 137   1          D12INT_PRIORITY = 0;    // 0 Priority Level of D12INT_N
 138   1          D12INT_ENABLE = 1;      // Enalbe External IRQ0 for D12INT_N
 139   1      }
 140          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    275    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   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 + -