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

📄 max7219.lst

📁 串行数码管驱动集成芯片MAX7219的驱动和LCD12864液晶驱动
💻 LST
字号:
C51 COMPILER V7.08   MAX7219                                                               11/24/2007 09:21:29 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE MAX7219
OBJECT MODULE PLACED IN C:\MAX7219.obj
COMPILER INVOKED BY: C:\Program Files\Keil51\C51\BIN\C51.EXE MAX7219.C BROWSE DEBUG OBJECTEXTEND OBJECT(C:\MAX7219.obj)

line level    source

   1          #include<reg52.h>
   2          #define  uchar unsigned char
   3          
   4          sbit din=P1^0;
   5          sbit clk=P1^2;
   6          sbit load=P1^1;
   7          /******************对7219的写字节程序******************/
   8          //功能:实现对控制寄存器的读写;
   9          //时序要求:MAX7219采用串行数据传输方式,由16位数据包发送到DIN引脚的串行数据在每个CLK的上升沿被移入内部
  10          //的16位移位寄存器中,然后在LOAD的上升沿将数据锁存到数字或控制寄存器;LOAD信号必须在第十六个时钟上升沿同
  11          //时或之后,但在下一个时钟上升沿变高,否则数据库丢失。
  12          void Write_Max7219_byte(uchar DATA)           //LED写数据函数
  13          {
  14   1             uchar i;
  15   1             load=0;
  16   1             for(i=8;i>=1;i--)
  17   1                {
  18   2                  clk=0;
  19   2                  din=DATA&0x80;
  20   2                  DATA=DATA<<1;
  21   2                  clk=1;
  22   2                 }
  23   1                                                   
  24   1        }
  25          
  26          /*****************7219写数字程序************************/
  27          //功能:先写LED数字控制寄存器,再将要显示的字符送到相应的数字寄存器显示
  28          void Write_Max7219(uchar address,uchar dat)
  29          {
  30   1        load=0;
  31   1        Write_Max7219_byte(address);
  32   1        Write_Max7219_byte(dat);
  33   1       load=1;               
  34   1      }
  35          
  36          /****************7219初始化程序**********************/
  37          //功能:完成对各个内部寄存器的初始化
  38          void Init_Max7219(void)     
  39          {
  40   1       Write_Max7219(0x09, 0xff);   //译码寄存器,写入0ffH,对0至7位均译码
  41   1       Write_Max7219(0x0a, 0x02);   //亮度调节寄存器,写入03H,实现一般的亮度显示
  42   1       Write_Max7219(0x0b, 0x03);   //扫描界限寄存器,写入03H,实现对0到3位数码管的显示
  43   1       Write_Max7219(0x0c, 0x01);   //停机寄存器,写入01H,实现正常工作
  44   1       Write_Max7219(0x0f, 0x00);   //显示测试寄存器,写入00H,实现正常工作
  45   1      }
  46          
  47          /*****************主程序******************/
  48          //实现四个数码显示0123
  49          void main()
  50          {
  51   1       Init_Max7219(); 
  52   1       Write_Max7219(0x01,0x00);
  53   1       Write_Max7219(0x02,0x01);
  54   1       Write_Max7219(0x03,0x02);
  55   1       Write_Max7219(0x04,0x03);
C51 COMPILER V7.08   MAX7219                                                               11/24/2007 09:21:29 PAGE 2   

  56   1      
  57   1       }


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