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

📄 max518.lst

📁 有关于共阳数码管的驱动程序 用c51写的 希望对大家有帮助
💻 LST
字号:
C51 COMPILER V7.20   MAX518                                                                03/06/2007 10:46:54 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MAX518
OBJECT MODULE PLACED IN MAX518.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE MAX518.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************
   2                                                                                          
   3                             MAX518信号发生器实验
   4                           网址:http://www.kaifaban.com  
   5                                                    
   6                          功能:在OUT0,OUT1端输出相位相反的锯齿波
   7                                                               
   8          ********************************************************************/
   9          #include <reg52.h>
  10          #include <intrins.h>
  11          #define  uchar unsigned char
  12          #define  uint unsigned int
  13          sbit SCL=P3^4;//串行时钟线
  14          sbit SDA=P3^5;//串行数据线
  15          //I2C延时程序
  16          void I2cDelay(){
  17   1      _nop_();_nop_();_nop_();_nop_();_nop_();
  18   1      }
  19          //I2C起始条件
  20          void I2cStart(){
  21   1      SDA=1;
  22   1      _nop_();
  23   1      SCL=1;
  24   1      I2cDelay();
  25   1      SDA=0;
  26   1      I2cDelay();
  27   1      SCL=0;//钳住I2C总线,准备发送或接收数据
  28   1      _nop_();
  29   1      }
  30          //I2C停止条件
  31          void I2cStop(){
  32   1      SDA=0;
  33   1      _nop_();
  34   1      SCL=1;
  35   1      I2cDelay();
  36   1      SDA=1;
  37   1      I2cDelay();
  38   1      }
  39          //等待应答
  40          bit WaitAck(){
  41   1        uchar Time=255;
  42   1        SDA=1;
  43   1        _nop_();
  44   1        SCL=1;
  45   1        I2cDelay();
  46   1        while(SDA){
  47   2          Time--;
  48   2          if(Time==0){
  49   3            I2cStop();
  50   3            return (0);
  51   3          }
  52   2        }
  53   1        SCL=0;
  54   1        _nop_();
  55   1        return (1);
C51 COMPILER V7.20   MAX518                                                                03/06/2007 10:46:54 PAGE 2   

  56   1      }
  57          //I2C写一字节数据
  58          void I2cWriteByte(uchar Data){
  59   1        uchar i;
  60   1        for(i=0;i<8;i++){
  61   2          SCL=0;
  62   2          I2cDelay();
  63   2          SDA=(bit)(Data&0x80);
  64   2          Data<<=1;
  65   2          I2cDelay();
  66   2          SCL=1;
  67   2          I2cDelay();
  68   2        }
  69   1        SCL=0;
  70   1      }
  71          //I2C写数据到MAX518
  72          void I2cWrite(uchar Command,uchar Data){
  73   1      I2cStart();//启动总线
  74   1      I2cWriteByte(0x58);//发送器件地址
  75   1      WaitAck();
  76   1      I2cWriteByte(Command);//发送命令字节
  77   1      WaitAck();
  78   1      I2cWriteByte(Data);//发送数据
  79   1      WaitAck();
  80   1      I2cStop();
  81   1      }
  82          //主函数
  83          main(){
  84   1      uchar i=0;
  85   1      while(1){
  86   2      I2cWrite(0x00,i);
  87   2      I2cWrite(0x01,0xFF-i);
  88   2      i++;
  89   2      }
  90   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    142    ----
   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 + -