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

📄 max7219.lst

📁 关于MAX7219与TLC2543的数据采集系统
💻 LST
字号:
C51 COMPILER V7.08   MAX7219                                                               04/08/2007 10:50:40 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE MAX7219
OBJECT MODULE PLACED IN max7219.OBJ
COMPILER INVOKED BY: E:\Program Files\keil\C51\BIN\C51.EXE max7219.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<intrins.h>
   3          //
   4          sbit DIN = P2^7;                                        // 串行数据输入
   5          sbit CLK = P2^5;                                        // 串行时钟
   6          sbit LOAD = P2^6;                                       // 显示数据锁存控制 
   7          /*
   8          sbit DIN = P0^0;                                        // 串行数据输入
   9          sbit CLK = P0^2;                                        // 串行时钟
  10          sbit LOAD = P0^1;                                       // 显示数据锁存控制 
  11          */
  12          #ifndef uchar
  13          #define uchar unsigned char 
  14          #define uint  unsigned int
  15          #endif  
  16          
  17          #define NoOp   0x00                     // 空操作寄存器
  18          #define Digit0 0x01                     // 数码管1寄存器
  19          #define Digit1 0x02                     // 数码管2寄存器
  20          #define Digit2 0x03                     // 数码管3寄存器
  21          #define Digit3 0x04                     // 数码管4寄存器
  22          #define Digit4 0x05                     // 数码管5寄存器
  23          #define Digit5 0x06                     // 数码管6寄存器
  24          #define Digit6 0x07                     // 数码管7寄存器
  25          #define Digit7 0x08                     // 数码管8寄存器
  26          
  27          #define DecodeMode 0x09                 // 译码模式寄存器
  28          #define Intensity 0x0a                          // 亮度寄存器
  29          #define ScanLimit 0x0b                  // 扫描位数寄存器
  30          #define ShutDown 0x0c                   // 低功耗模式寄存器
  31          #define DisplayTest 0x0f                // 显示测试寄存器
  32          
  33          #define ShutdownMode 0x00               // 低功耗方式
  34          #define NormalOperation 0x01            // 正常操作方式
  35          
  36          #define ScanDigit 0x07                  // 扫描位数设置,显示8位数码管
  37          #define DecodeDigit 0xff                // 译码设置,8位均为BCD码
  38          #define IntensityGrade 0x0a             // 亮度级别设置
  39          
  40          #define TestMode 0x01                   // 显示测试模式
  41          #define TextEnd 0x00                    // 显示测试结束,恢复正常工作模式
  42          
  43          /* 向MAX7219写入字节(8位)*/
  44          void SendChar (uchar ch)
  45          {
  46   1              uchar i,temp;
  47   1          _nop_();
  48   1          for (i=0;i<8;i++)
  49   1          {
  50   2                      temp=ch&0x80;
  51   2              ch=ch<<1;
  52   2              if(temp)
  53   2              {
  54   3                      DIN=1;
  55   3                      CLK=0;
C51 COMPILER V7.08   MAX7219                                                               04/08/2007 10:50:40 PAGE 2   

  56   3                      CLK=1;
  57   3              }
  58   2              else
  59   2              {
  60   3                      DIN=0;
  61   3                      CLK=0;
  62   3                      CLK=1;
  63   3              }
  64   2          }
  65   1      }
  66          
  67          /* 向MAX7219的寄存器写入字节(8位)*/
  68          void WriteWord(uchar addr,uchar num)
  69          {
  70   1          LOAD=0;
  71   1          _nop_();
  72   1          SendChar(addr);
  73   1          _nop_();
  74   1          SendChar(num);
  75   1          _nop_();
  76   1          LOAD=1;                             // 锁存进相应寄存器
  77   1      }
  78          
  79          /* MAX7219初始化 */
  80          void InitDisplay (void)
  81          {
  82   1          WriteWord(ScanLimit,ScanDigit);         // 设置扫描界限
  83   1          WriteWord(DecodeMode,DecodeDigit);      // 设置译码模式
  84   1          WriteWord(Intensity,IntensityGrade);    // 设置亮度
  85   1          WriteWord(ShutDown,NormalOperation);    // 设置为正常工作模式
  86   1      }


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