找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1780|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于MAX7219驅(qū)動(dòng)數(shù)碼管循環(huán)移位顯示的設(shè)計(jì)思路

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:463250 發(fā)表于 2019-1-6 19:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
使用MAX7219 和51單片機(jī)驅(qū)動(dòng)8位LED數(shù)碼管,目前手上有的程序只能讓數(shù)碼管顯示數(shù)字1到8,請問怎么樣改程序才能讓數(shù)字實(shí)現(xiàn)循環(huán)移位顯示呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:463250 發(fā)表于 2019-1-6 19:29 | 只看該作者
#include <reg52.h>
#include <stdio.h>
#define uchar unsigned char

sbit DIN=P3^1;
sbit CLK=P3^3;
sbit LOAD=P3^2;
void send(uchar add,uchar dat)
{
                 uchar ADS,i,j;
                 CLK=0;
              LOAD=0;
              DIN=0;
                 i=4;
                 while(i<16)
                 {
                   if(i<8)
                              {
                                            ADS=add;
                            }
                else
                              {
                                          ADS=dat;
                            }
                for(j=8;j>=1;j--)
                              {

                                          if((ADS&0x80)==0)
                                          {              DIN=0 ;}
                                          else
                                          {              DIN=1;}
                                              ADS=ADS<<1;
                           
                            CLK=1;
                            CLK=0;            
                            }
                i=i+8;
   }
   LOAD=1;
}

void main(void)
{
   send(0x0c,0x01);//正常狀態(tài)
   send(0x0b,0x07);//設(shè)置掃描范圍DIG0-7
              send(0x0a,0x05);//設(shè)置亮度11/32
   send(0x09,0xff);//采用譯碼方式

   while(1)
   {
   send(0x01,0x81);
   send(0x02,0x82);
   send(0x03,0x83);
   send(0x04,0x84);
   send(0x05,0x85);
   send(0x06,0x86);
   send(0x07,0x87);
   send(0x08,0x88);

   }
}

這是顯示數(shù)字1到8的程序
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2019-1-7 08:07 | 只看該作者
原因是你未了解LED掃描顯示的真諦。再研究一下顯示原理。這個(gè)問題很好解決。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表