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

📄 max7219.lst

📁 数控直流电源和变频电源程序在c环境下编译
💻 LST
字号:
C51 COMPILER V7.06   MAX7219                                                               09/07/2008 18:03:35 PAGE 1   


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

stmt level    source

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

  56   1        Write_Max7219(0x03,LED[*(p+5)]);
  57   1        Write_Max7219(0x02,LED[*(p+6)]);
  58   1        Write_Max7219(0x01,LED[*(p+7)]);
  59   1      
  60   1      }
  61          


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