找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3816|回复: 0
打印 上一主题 下一主题
收起左侧

关于单片机驱动MAX7219程序 的程序问题

[复制链接]
跳转到指定楼层
楼主
ID:70752 发表于 2015-7-4 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include<intrins.h>
#define u8 unsigned char
#define u16 unsigned int

sbit DIN=P1^7;    //MAX7219  DIN串行数据输入端
sbit CLK=P1^6;    //MAX7219  CLK 时钟线
sbit LD=P1^5;     //MAX7219  LOAD片选端

sbit RET_813=P3^2;   //813        的6脚

void timer_ms(u8 tim)
{
  u8 i;
  while(tim--)
  {
    for(i=0;i<200;i++);   //延时1ms
  }
}

void w_max7219(u8 addr,u8 wdata)
{
   u8 j;
   u8 i;
   u8 temp;
   i=2;
  LD=0;
  while(i<16)
  {
    if(i<8)
        {
           temp=addr;  //先写入MAX7219内部寄存器地址,再向内部寄存器写入操作数值
        }
        else
        {
           temp=wdata;
        }
        for(j=0;j<8;j++)
        {
          CLK=0;
          if(temp&0x80)
          {
                    DIN=1;  //先发送数据的最高位
          }
          else
          {
                   DIN=0;
          }

          _nop_();
          CLK=1;
          _nop_();
          temp<<=1;
        }
        i=i+8;
  }
  LD=1;

}




void init_max7219()
{
  w_max7219(0x0c,0x01);  //操作方式,0x00为低功耗模式,0x01为正常操作模式
  w_max7219(0x0f,0x00);  //显示状态,0x00为正常显示,0x01为显示测试
  w_max7219(0x0b,0x07);  //8位扫描显示,取值范围0x01~0x07
  w_max7219(0x09,0x00);  //译码方式,0x00为不译码
  w_max7219(0x0a,0x07);  //显示亮度,取值范围0~f

  timer_ms(2);
}

void main()
{
    u16 m;
        init_max7219();
        while(1)
        {
        //  w_max7219(0X01,0X0F);
        //  w_max7219(0X02,0X0E);
         // w_max7219(0X03,0X0D);
         // w_max7219(0X04,0X0C);
         // w_max7219(0X05,0X10);
         // w_max7219(0X06,0X50);
         // w_max7219(0X07,0XA0);
          //w_max7219(0X08,0XF0);
            m++;
            if(m>15000)
            {
                 m=0;
               
                 RET_813=!RET_813;   //看门狗工作指示灯
            }
         }

}

这个程序是用MAX219控制LED发光二极管,现在出现问题,
只要main函数中注释掉的w_max7219(0X01,0X0F);  这种函数       如果不注释,看门狗的工作指示灯就不亮了,也就是程序死循环了
当注释后,再编译,看门狗正常闪烁,程序正常走,     所以请大侠帮忙看下这个7219程序是哪儿出问题了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表