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

📄 chengxu.lst

📁 15入15出继电器控制板
💻 LST
字号:
C51 COMPILER V9.00   CHENGXU                                                               01/01/2002 02:02:36 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE CHENGXU
OBJECT MODULE PLACED IN chengxu.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE eeprom\chengxu.c BROWSE DEBUG OBJECTEXTEND PRINT(.\chengxu.lst) OBJECT(chen
                    -gxu.obj)

line level    source

   1          /********************************************************************
   2                                      汇诚科技
   3          
   4          实现功能:EEPROM应用程序
   5          使用芯片:STC15F104E
   6          晶振:12MHZ
   7          编译环境:Keil
   8          作者:zhangxinchunleo
   9          网站:www.ourhc.cn
  10          淘宝店:汇诚科技 http://shop36330473.taobao.com
  11          【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  12          
  13          *********************************************************************/
  14          /********************************************************************/
  15          #include "Hfile\\STC12C5A60S2.h"
  16          #include <intrins.H>
  17          #define uchar unsigned char //宏定义字符型变量
  18          #define uint  unsigned int      //宏定义整型变量
  19          /********************************************************************
  20                                      命令定义
  21          *********************************************************************/
  22          #define CMD_IDLE     0   //EEPROM无操作
  23          #define CMD_READ     1   //读取字节
  24          #define CMD_PROGRAM  2   //写入字节
  25          #define CMD_ERASE    3   //擦除字节
  26          /********************************************************************
  27                                 编程周期由晶振决定
  28          *********************************************************************/
  29          //#define ENABLE_IAP 0X80        //编程周期由晶振决定(如果<30MHZ选用此项)
  30          //#define ENABLE_IAP 0X81        //编程周期由晶振决定(如果<24MHZ选用此项)
  31          //#define ENABLE_IAP 0X82        //编程周期由晶振决定(如果<20MHZ选用此项)
  32            #define ENABLE_IAP 0X83        //编程周期由晶振决定(如果<12MHZ选用此项)
  33          //#define ENABLE_IAP 0X84        //编程周期由晶振决定(如果<6MHZ选用此项)
  34          //#define ENABLE_IAP 0X85        //编程周期由晶振决定(如果<3MHZ选用此项)
  35          //#define ENABLE_IAP 0X86        //编程周期由晶振决定(如果<2MHZ选用此项)
  36          //#define ENABLE_IAP 0X87        //编程周期由晶振决定(如果<1MHZ选用此项)
  37          
  38          #define IAP_ADDRESS 0X0000       //内部EEPROM地址
  39          
  40          /********************************************************************
  41                                      操作函数
  42          *********************************************************************/
  43          void IapIdle()
  44          {
  45   1      IAP_CONTR=0;
  46   1      IAP_CMD=0;
  47   1      IAP_TRIG=0;
  48   1      IAP_ADDRH=0X80;
  49   1      IAP_ADDRL=0;
  50   1      }
  51          
  52          /********************************************************************
  53                                      读取一个字节函数
  54          *********************************************************************/
C51 COMPILER V9.00   CHENGXU                                                               01/01/2002 02:02:36 PAGE 2   

  55          uchar IapReadByte(uint addr)
  56          {
  57   1      uchar dat;  
  58   1      IAP_CONTR=ENABLE_IAP;
  59   1      IAP_CMD=CMD_READ;
  60   1      IAP_ADDRL=addr;
  61   1      IAP_ADDRH=addr>>8;
  62   1      IAP_TRIG=0X5A;
  63   1      IAP_TRIG=0XA5;
  64   1      _nop_();
  65   1      _nop_();
  66   1      _nop_();
  67   1      dat=IAP_DATA;
  68   1      IapIdle();
  69   1      return dat;
  70   1      }
  71          
  72          /********************************************************************
  73                                      写入一个字节函数
  74          *********************************************************************/
  75          void IapProgramByte(uint addr,uchar dat)
  76          {
  77   1      
  78   1      IAP_CONTR=ENABLE_IAP;
  79   1      IAP_CMD=CMD_PROGRAM;
  80   1      IAP_ADDRL=addr;
  81   1      IAP_ADDRH=addr>>8;
  82   1      IAP_DATA=dat;
  83   1      IAP_TRIG=0X5A;
  84   1      IAP_TRIG=0XA5;
  85   1      _nop_();
  86   1      _nop_();
  87   1      _nop_();
  88   1      IapIdle();
  89   1      }
  90          /********************************************************************
  91                                      擦除一个扇区函数
  92          *********************************************************************/
  93          void IapEraseSector(uint addr)
  94          {
  95   1      IAP_CONTR=ENABLE_IAP;
  96   1      IAP_CMD=CMD_ERASE;
  97   1      IAP_ADDRL=addr;
  98   1      IAP_ADDRH=addr>>8;
  99   1      IAP_TRIG=0X5A;
 100   1      IAP_TRIG=0XA5;
 101   1      _nop_();
 102   1      _nop_();
 103   1      _nop_();
 104   1      IapIdle();
 105   1      }
 106           
 107          /********************************************************************
 108                                      结束
 109          *********************************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     84    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V9.00   CHENGXU                                                               01/01/2002 02:02:36 PAGE 3   

   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 + -