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

📄 max7219.lst

📁 实现51单片机的串行显示
💻 LST
字号:
C51 COMPILER V8.02   MAX7219                                                               05/25/2008 14:13:43 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAX7219
OBJECT MODULE PLACED IN max7219.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE max7219.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*
   2                  max7219 驱动程序 基于51单片机
   3          
   4                  zhaoliang_0801@dl.cn
   5                  07-3-27
   6          
   7          */
   8          
   9          #include <reg51.h> 
  10          /*****************************
  11          宏定义声明
  12          *****************************/
  13          //common part 
  14          #define  HIGH     1
  15          #define  LOW      0
  16          #define  TRUE     1
  17          #define  FALSE    0
  18          #define  ZERO     0 
  19          #define  MSB      0x80
  20          #define  LSB      0x01
  21          //max7219 part
  22          #define  DECODE_MODE   0x09 
  23          #define  INTENSITY     0x0A 
  24          #define  SCAN_LIMIT    0x0B 
  25          #define  SHUT_DOWN     0x0C 
  26          #define  DISPLAY_TEST  0x0F 
  27          
  28          /*************************************************************************
  29          管脚定义:
  30          不同的电路板上,改变这里的定义,
  31          *************************************************************************/
  32          sbit LOAD = P2^1; //MAX7219    Load-Data Input:         rising edge     pin 12 
  33          sbit DIN  = P2^2;       //MAX7219    Serial-Data Input:         rising edge     pin 1
  34          sbit CLK  = P2^0;       //MAX7219   Serial-Clock Input:         maximum 10MHz   pin 13
  35          
  36          /***********************************************************
  37          函数声明
  38          ***********************************************************/
  39          void Write_Max7219_byte(unsigned char temp);
  40          void Write_Max7219(unsigned char address,unsigned char dat);
  41          void Init_Max7219(void);
  42          
  43          /***************
  44          测试程序,
  45          显示1~8
  46          ***************/
  47          void main(void)
  48          {
  49   1              unsigned char i; 
  50   1              Init_Max7219();  
  51   1              while(TRUE)
  52   1              {  
  53   2                      for(i=1; i<9; i++) 
  54   2                      {
  55   3                              Write_Max7219(i,i);
C51 COMPILER V8.02   MAX7219                                                               05/25/2008 14:13:43 PAGE 2   

  56   3                      }
  57   2              } 
  58   1      }
  59          /******************************************
  60          发送一个字节的子程序:
  61          上升沿发送数据,
  62          MSB first
  63          ******************************************/
  64          void Write_Max7219_byte(unsigned char temp)
  65          {
  66   1              unsigned char i;
  67   1              for (i=0; i<8; i++)     
  68   1              { 
  69   2                      CLK = LOW;
  70   2                      DIN = (bit)(temp&MSB);      
  71   2                      temp <<=1;  
  72   2                      CLK = HIGH;
  73   2              }
  74   1      }
  75          /**********************************************************
  76          向寄存器中写入一个数据
  77          先写地址,后写数据
  78          load 上升沿锁存数据
  79          **********************************************************/
  80          void Write_Max7219(unsigned char address,unsigned char dat)
  81          { 
  82   1              LOAD = LOW;
  83   1              Write_Max7219_byte(address); 
  84   1              Write_Max7219_byte(dat);
  85   1              LOAD = HIGH;                 
  86   1      }
  87          /**********************
  88          初始化max7219 子函数
  89          设置工作寄存器
  90          需要查看芯片手册
  91          **********************/
  92          void Init_Max7219(void)      
  93          { 
  94   1              Write_Max7219(SHUT_DOWN,        0x01);   //开启正常工作模式(0xX1)
  95   1              Write_Max7219(DISPLAY_TEST, 0x00);   //选择工作模式(0xX0)
  96   1              Write_Max7219(DECODE_MODE,      0xff);   //选用全译码模式
  97   1              Write_Max7219(SCAN_LIMIT,       0x07);   //8只LED全用
  98   1              Write_Max7219(INTENSITY,        0x04);   //设置初始亮度
  99   1      }
 100          


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