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

📄 ad7890.lst

📁 AD转换器AD7890驱动程序(KeilC51)
💻 LST
字号:
C51 COMPILER V7.06   AD7890                                                                04/29/2004 19:11:30 PAGE 1   


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

stmt level    source

   1          #include "intrins.h"
   2          #include "At89x51.h"
   3          ////////////////////////////////////
   4          //晶体为11.0592MHz
   5          ///////////////////////////////////
   6          #define CLK7219    P2_6
   7          #define DIN7219    P2_5
   8          #define CS7219     P2_7
   9          ////////////////////////////////////
  10          /*#define SCLK7890    P1_0
  11          #define DI7890          P1_1
  12          #define DO7890          P1_1
  13          #define TFS7890     P1_3
  14          #define RFS7890     P1_4*/
  15          #define SCLK7890    P1_1
  16          #define DI7890          P1_2
  17          #define DO7890          P1_2
  18          #define TFS7890     P1_3
  19          #define RFS7890     P1_4
  20          ////////////////////////////////////
  21          void max7219(unsigned char ctr,unsigned char dat)
  22          {
  23   1              char i;
  24   1              CS7219=0;
  25   1              _nop_();
  26   1              
  27   1              for(i=0;i<8;i++)
  28   1              {
  29   2                      if(ctr&0x80)
  30   2                              DIN7219=1;
  31   2                      else
  32   2                              DIN7219=0;
  33   2                      CLK7219=1;
  34   2                      ctr<<=1;
  35   2                      CLK7219=0;
  36   2              }
  37   1              for(i=0;i<8;i++)
  38   1              {
  39   2                      if(dat&0x80)
  40   2                              DIN7219=1;
  41   2                      else
  42   2                              DIN7219=0;
  43   2                      CLK7219=1;
  44   2                      dat<<=1;
  45   2                      CLK7219=0;
  46   2              }
  47   1      
  48   1              CS7219=1;
  49   1      P1_0=~P1_0;
  50   1      }
  51          void Max7219Init()
  52          {
  53   1      ///////////////////////////////////////////////////////
  54   1      //7219初始化
  55   1              max7219(0x0C,0x01);    //shutdown register format 
C51 COMPILER V7.06   AD7890                                                                04/29/2004 19:11:30 PAGE 2   

  56   1              max7219(0x09,0xFF);    //decode mode code B 7-0
  57   1              max7219(0x0A,0x0F);    //intensity register format 
  58   1              max7219(0x0B,0x07);    //sacan limit register format 
  59   1              max7219(0x0F,0x00);    //display test register format 
  60   1      }
  61          unsigned int AD7890(unsigned char chan)
  62          {
  63   1              unsigned char ctr;
  64   1              unsigned int result;
  65   1              char i;
  66   1              ctr=chan<<5;
  67   1              ctr&=0xE0;
  68   1              ctr|=0x10;
  69   1              TFS7890=0;
  70   1              for(i=0;i<8;i++)
  71   1              {
  72   2                      SCLK7890=1;
  73   2                      if(ctr&0x80)
  74   2                              DI7890=1;
  75   2                      else
  76   2                              DI7890=0;
  77   2                      SCLK7890=0;
  78   2                      ctr<<=1;
  79   2              }
  80   1              TFS7890=1;
  81   1              for(i=0;i<20;i++)
  82   1                      _nop_();
  83   1              result=0;
  84   1              DO7890=1;
  85   1              RFS7890=0;
  86   1              SCLK7890=1;
  87   1              for(i=0;i<16;i++)
  88   1              {       
  89   2                      SCLK7890=0;
  90   2                      if(DO7890)
  91   2                              result|=0x01;
  92   2                      SCLK7890=1;
  93   2                      if(i!=15)
  94   2                              result<<=1;
  95   2              }       
  96   1              RFS7890=1;
  97   1              result&=0xFFF;
  98   1      P1_0=~P1_0;
  99   1              return result;
 100   1      }
 101          main()
 102          {
 103   1              char i;
 104   1              int j;
 105   1              unsigned int addata;
 106   1              CLK7219=0;
 107   1              Max7219Init();
 108   1      ////////////////////////////////////////////////////////
 109   1       //display data
 110   1              max7219(0x01,0x01);   
 111   1              max7219(0x02,0x02);    
 112   1              max7219(0x03,0x03);     
 113   1              max7219(0x04,0x04);     
 114   1              max7219(0x05,0x05);     
 115   1              max7219(0x06,0x06);     
 116   1              max7219(0x07,0x07);     
 117   1              max7219(0x08,0x08);     
C51 COMPILER V7.06   AD7890                                                                04/29/2004 19:11:30 PAGE 3   

 118   1              while(1)
 119   1              {
 120   2                      addata=AD7890(0x00);
 121   2                      for(i=0;i<8;i++)
 122   2                      {
 123   3                              max7219(8-i,addata%10);    //转换成十进制显示
 124   3                              addata/=10;
 125   3                      }       
 126   2                      P1_0=~P1_0;
 127   2                      for(i=0;i<5;i++)
 128   2                      for(j=0;j<31000;j++);
 129   2      
 130   2              }
 131   1      }


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