找回密码
 立即注册

QQ登录

只需一步,快速开始

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

MAX7219驱动数码管显示问题

[复制链接]
跳转到指定楼层
楼主
ID:246583 发表于 2017-12-6 22:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
再用数码管做一个时钟电路,用的是MAX7219来驱动。我把电路在面包板上搭建出来后,上电后发现:1.不放入单片机数码管有显示(至少都亮)2.放入单片机后却没有显示,但是在按下最小系统的电源或者电路的复位按键后,数码管会有短暂的显示。这是怎么回事,是代码的问题还是电路连接的问题?代码我用的是测试代码。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:410680 发表于 2018-10-17 17:32 | 只看该作者
程序问题试试这个:#include <AT89X51.H>
#include <intrins.h>
//#include <absacc.h>/*--------------------------------------------------*/
sbit dis_DIN=P0^1; //"?????????"
sbit dis_LOAD=P0^2; //"???????"
sbit dis_CLK=P0^3; //"???????"
#define NoOp   0x00         /*???*/
#define Digit0 0x01         /*???1*/
#define Digit1 0x02         /*???2*/
#define Digit2 0x03         /*???3*/
#define Digit3 0x04         /*???4*/
#define Digit4 0x05         /*???5*/
#define Digit5 0x06         /*???6*/
#define Digit6 0x07         /*???7*/
#define Digit7 0x08         /*???8*/
#define DecodeMode 0x09     /*????*/
#define Intensity 0x0a     /*??*/
#define ScanLimit 0x0b      /*????*/
#define ShutDown 0x0c       /*????*/
#define DisplayTest 0x0f    /*????*/

#define ShutdownMode 0x00      /*??????*/
#define NormalOperaTIon 0x01   /*??????*/

#define DecodeDigit 0xff       /*??????*/

#define IntensityGrade 0x0a    /*????????*/

#define ScanDigit 0x07         /*??????*/

#define TestMode 0x01          /*??????*/
#define TextEnd 0x00           /*??????,????*/

unsigned char data DisBuffer[8]={0,0,0,0,0,0,0,0};    /*?????*/

unsigned char code dispaly_list[]=
    {
0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,    /*0,1,2,3,4,5,6,7,8,9*/
      0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x67,0x3e,0xff,0x00};   /*A,B,C,D,E,F,P,U,?
?,??*/

/*--------------------------------------------------------
                   10ms?????
---------------------------------------------------------*/
void delayX10ms(unsigned char count)
     {
      unsigned char j,k;
      while(count--!=0)
        {
         for(j=0;j<43;j++)
           for(k=0;k<73;k++)
           ;
        }
     }

/*-------------------------------------------------
                ?MAX7219????(8?)
--------------------------------------------------*/
void SendChar (unsigned char ch)
   {
    unsigned char i,temp;
    _nop_();
    for (i=0;i<8;i++)
       {
           temp=ch&0x80;
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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