欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 如何僅用一個74HC595驅(qū)動四位甚至更多的數(shù)碼管 [打印本頁]

作者: hookloo    時間: 2016-3-4 16:17
標題: 如何僅用一個74HC595驅(qū)動四位甚至更多的數(shù)碼管
每一個數(shù)碼管顯示不同的數(shù)字,位選直接接在單片機引腳。程序應(yīng)該怎么寫呢?


作者: myh9970    時間: 2016-3-4 17:28
這個是個例程,你看一下,自己摸索摸索,內(nèi)容挺清晰的,stc官方的,有不懂得,追問,

02-HC595驅(qū)動8個數(shù)碼管-C和匯編.zip

64.66 KB, 下載次數(shù): 439


作者: hookloo    時間: 2016-3-4 22:50
myh9970 發(fā)表于 2016-3-4 17:28
這個是個例程,你看一下,自己摸索摸索,內(nèi)容挺清晰的,stc官方的,有不懂得,追問,

我就是想知道595只有一個Q0-Q7,有好幾個數(shù)碼管的ABCDEFG接在Q0-Q7上,這樣的話數(shù)碼管顯示的不都是同樣的數(shù)字,怎么讓他們獨立顯示任何數(shù)字?
作者: wc86110    時間: 2016-3-5 00:54
通俗點的說,在數(shù)碼管上要顯示同一個數(shù)字可以用靜態(tài)顯示,當數(shù)碼管要顯示不同數(shù)字時就用到動態(tài)顯示。
LZ,還是多去單片機教程那里逛逛,那里可以找到答案的。

作者: myh9970    時間: 2016-3-6 12:35
hookloo 發(fā)表于 2016-3-4 22:50
我就是想知道595只有一個Q0-Q7,有好幾個數(shù)碼管的ABCDEFG接在Q0-Q7上,這樣的話數(shù)碼管顯示的不都是同樣的 ...

你看一下h595資料,你還不知道它的用法,他雖然說是只有7個腳,但是他可以控制好多數(shù)碼管,為什么這樣說呢,這么說吧,h595鎖存的引腳是一個8位的寄存器,當再有第二組數(shù)據(jù)進來他會把之前的一組數(shù)據(jù)輸出給下一個h595,就相當于排隊一樣,你在看一下h595吧,學東西得看資料,看手冊,網(wǎng)上大把的。

作者: 騰飛的龍    時間: 2016-3-6 14:09
把數(shù)字編碼,編成數(shù)組uchar code tem[]=(0xc0,............);
void 595_send(uchar data)
{
uchar i;
        for(i = 0; i < 8; i++)
        {
                  595_DAT =Data  & 0x01;

                  595_sck= 0;
                NOP();NOP();NOP();
                  595_sck= 1;
                  Data =Data >> 1;       
        }
   
}
void shianshi()
{
uchar i;
for(i=0;i<8;i++)
  {
    595_send(tem[i]);
  }
LD_RCK=0;
LD_RCK=1;
LD_RCK=0;
}
void main()
{
  while(1)
   {

  xianshi();
延時一會。
  }
}
照著這個思路試試吧
作者: sunl_rui    時間: 2016-3-6 16:12
多個hc595級連場合,根據(jù)電路圖,決定先送顯示數(shù)據(jù)還是先送位選。
作者: hookloo    時間: 2016-3-6 20:16
myh9970 發(fā)表于 2016-3-6 12:35
你看一下h595資料,你還不知道它的用法,他雖然說是只有7個腳,但是他可以控制好多數(shù)碼管,為什么這樣說 ...

595我知道,我是不知道怎么用一個595控制N個數(shù)碼管
作者: hookloo    時間: 2016-3-6 20:18
騰飛的龍 發(fā)表于 2016-3-6 14:09
把數(shù)字編碼,編成數(shù)組uchar code tem[]=(0xc0,............);
void 595_send(uchar data)
{

這個函數(shù)我懂,我不知道怎么用一個595控制n個數(shù)碼管
作者: 騰飛的龍    時間: 2016-3-7 09:40
595級聯(lián)控制位。也寫個位的數(shù)組。我現(xiàn)在用595級聯(lián)控制16x128行的點陣屏。
作者: jiajuntao    時間: 2016-3-7 10:02
動態(tài)顯示,就是位選和數(shù)選的切換,先送數(shù)顯,然后打開相應(yīng)的位選,就可以驅(qū)動很多數(shù)碼管
作者: wuquanxing1980    時間: 2016-3-7 12:46
這個東西對我有啟發(fā)
作者: hookloo    時間: 2016-3-7 14:25
騰飛的龍 發(fā)表于 2016-3-7 09:40
595級聯(lián)控制位。也寫個位的數(shù)組。我現(xiàn)在用595級聯(lián)控制16x128行的點陣屏。

我已經(jīng)做出來了
作者: 騰飛的龍    時間: 2016-3-7 14:28
做好了就分享一下大家也一起學習進步謝謝!
作者: 19924615225    時間: 2021-2-19 13:38
用74HC595驅(qū)動八位動態(tài)數(shù)碼管(直接在74HC595
控制LED流水燈的程序上整合動態(tài)數(shù)碼管的程序而成

#include "reg51.h"
#include "intrins.h"


typedef unsigned int u16;
typedef unsigned char u8;


#define GPIO_LED P2
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;


u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};


void hc595(u8 byte)
{
    u8 a;
    SRCLK=1;
    RCLK=1;
   
    for(a=0;a<8;a++)
    {
        SER=byte>>7;
        byte<<=1;
        SRCLK=0;
        _nop_();
        SRCLK=1;
    }
    RCLK=0;
    _nop_();
    RCLK=1;
}


void delay(u16 i)
{
    while(i--);
}


void main()
{
    u8 ledNum;
    u8 j;
    ledNum = ~0x01;
    while(1)
    {
        for(j=0;j<8;j++)
        {
            hc595(ledNum);
            P0=smgduan[j];
            ledNum = _crol_(ledNum, 1);
            delay(50000);
        }
    }
}

作者: cn_zhx    時間: 2021-2-21 10:59
動態(tài)掃描能實現(xiàn)。
作者: aqiong    時間: 2021-2-22 17:42
hookloo 發(fā)表于 2016-3-4 22:50
我就是想知道595只有一個Q0-Q7,有好幾個數(shù)碼管的ABCDEFG接在Q0-Q7上,這樣的話數(shù)碼管顯示的不都是同樣的 ...

你再在每個數(shù)碼管管腳之前添加器件不就可以嗎?比如都是D0亮,在不想顯示出來的數(shù)碼管前加個非門,不給導通,實現(xiàn)單個數(shù)碼管的選通




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1