找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

74hc595級(jí)聯(lián)每一片輸出所耗時(shí)間是不是不同

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:698257 發(fā)表于 2020-3-2 03:07 來(lái)自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
10黑幣
如果三片74hc595級(jí)聯(lián),假如第一片完全輸出要8個(gè)脈沖信號(hào),那第二片輸出是不是就得花費(fèi)16個(gè)脈沖信號(hào)才行,第三片是不是得24個(gè)脈沖才行,所有輸入不得都經(jīng)過(guò)第一片么,為什么有的程序每一片時(shí)間都一樣嘞,求大佬告知

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:697917 發(fā)表于 2020-3-2 14:11 | 只看該作者
可否貼下你的級(jí)聯(lián)原理圖。
回復(fù)

使用道具 舉報(bào)

板凳
ID:275826 發(fā)表于 2020-3-2 14:45 | 只看該作者
都是8個(gè)脈沖
回復(fù)

使用道具 舉報(bào)

地板
ID:698257 發(fā)表于 2020-3-2 16:23 來(lái)自手機(jī) | 只看該作者
下邊是昨天看到的程序,是八個(gè)595級(jí)聯(lián),主函數(shù)里邊每個(gè)調(diào)用的函數(shù)都是先移了八位后就直接鎖存了,后邊再調(diào)用裝第二片595不是會(huì)影響第一片數(shù)據(jù)么

回復(fù)

使用道具 舉報(bào)

5#
ID:88256 發(fā)表于 2020-3-2 16:34 | 只看該作者
只需要8個(gè)脈沖,因?yàn)樵摷?jí)595要顯示的內(nèi)容是取自上一級(jí)595的輸出,而不是單片機(jī),所以只需移位8次。
回復(fù)

使用道具 舉報(bào)

6#
ID:698257 發(fā)表于 2020-3-2 16:39 來(lái)自手機(jī) | 只看該作者
tyrl800 發(fā)表于 2020-3-2 14:45
都是8個(gè)脈沖

怎么都是八個(gè)脈沖呢?不是第二片輸出不是經(jīng)過(guò)第一片么,而且第一片八位輸完已經(jīng)鎖存了,那這樣不是第二片是時(shí)序多了,而且同一個(gè)鎖存脈沖不是存了第二片也會(huì)影響到第一片么
回復(fù)

使用道具 舉報(bào)

7#
ID:698257 發(fā)表于 2020-3-2 16:40 來(lái)自手機(jī) | 只看該作者
abc18434762843 發(fā)表于 2020-3-2 16:23
下邊是昨天看到的程序,是八個(gè)595級(jí)聯(lián),主函數(shù)里邊每個(gè)調(diào)用的函數(shù)都是先移了八位后就直接鎖存了,后邊再調(diào) ...

不好意思,剛剛那個(gè)程序不全,現(xiàn)在補(bǔ)全

#include <reg52.h>
sbit  st=P1^5;   //  存儲(chǔ)脈沖 該脈沖上升沿所有被所存的信號(hào)一起輸出
sbit  sh=P1^6;   //  移位脈沖 該脈沖上升沿輸出信號(hào)移位,但不一定輸出
sbit  DA=P1^7;   //  待移入的數(shù)據(jù)信號(hào)
sbit oe_595=P3^6; // 595使能端
sbit oe_138=P1^4; // 138使能端
unsigned char code zf[4][32]=  //從左到右  從上到下  橫向8點(diǎn)右高位
{
0x00,0x10,0xFE,0x3F,0x80,0x00,0x80,0x00, //"正"
0x80,0x00,0x80,0x00,0x88,0x08,0x88,0x1F,
0x88,0x00,0x88,0x00,0x88,0x00,0x88,0x00,
0x88,0x00,0x88,0x20,0xFF,0x7F,0x00,0x00,

0x40,0x00,0x40,0x00,0x40,0x20,0xFF,0x7F, //"在"
0x20,0x00,0x20,0x02,0x10,0x02,0x10,0x0A,
0xC8,0x1F,0x0C,0x02,0x0A,0x02,0x09,0x02,
0x08,0x02,0x08,0x22,0xE8,0x7F,0x08,0x00,

0x00,0x00,0x02,0x22,0xE4,0x27,0x24,0x2A, //"測(cè)"
0xA1,0x2A,0xA6,0x2A,0xA4,0x2A,0xB0,0x2A,
0xA8,0x2A,0xA4,0x2A,0xA7,0x2A,0x84,0x20,
0x44,0x21,0x24,0x22,0x14,0x2A,0x04,0x10,

0x00,0x04,0x02,0x14,0x04,0x24,0x04,0x04, //"試"
0xF0,0x7F,0x00,0x04,0x07,0x04,0xE4,0x07,
0x84,0x04,0x84,0x08,0x84,0x08,0x84,0x08,
0x94,0x4B,0xEC,0x48,0x44,0x50,0x00,0x20
};
void Delay(unsigned int i)   // 延時(shí)函數(shù)
{
while(--i)
;
}
void SendByte(unsigned char Dat) // 對(duì)595寫(xiě)入一個(gè)字節(jié)數(shù)據(jù)
{
   unsigned char a;
   for(a=0;a<8;a++)    // 分8次移位輸出到鎖存器
  {
    if((Dat&0x80)==0x80)  // 判斷寫(xiě)0還是寫(xiě)1
  { DA=1; }  
  else
  { DA=0; }
    sh = 0;  
  st = 0;
  sh = 1;      // SH上升沿所存移位輸出信號(hào)
  st = 1;      // ST上升沿輸出鎖存數(shù)據(jù)
    Dat=Dat<<1;     // 數(shù)據(jù)移一位
  }
}
void main(void)      // 主程序
{
oe_595=0;oe_138=1;    // 初始化 開(kāi)595 關(guān)138
  while(1)
  {unsigned char i;
    for(i=0;i<16;i++)   // 共計(jì)16次,因?yàn)楣灿?6行要掃描
  {
  SendByte(zf[0][i*2]);
  SendByte(zf[0][i*2+1]);
  SendByte(zf[1][i*2]);
  SendByte(zf[1][i*2+1]);
  SendByte(zf[2][i*2]);
  SendByte(zf[2][i*2+1]);
  SendByte(zf[3][i*2]);
  SendByte(zf[3][i*2+1]);  // 送某行的8列顯示數(shù)據(jù)
  P1=i;      // 送掃描碼
  oe_138=0;     // 開(kāi)138 顯示該行數(shù)據(jù)
  Delay(100);     // 延時(shí)一會(huì)
  oe_138=1;     // 關(guān)138
     }
   }
}
回復(fù)

使用道具 舉報(bào)

8#
ID:698257 發(fā)表于 2020-3-2 16:50 來(lái)自手機(jī) | 只看該作者
hhdsdy 發(fā)表于 2020-3-2 16:34
只需要8個(gè)脈沖,因?yàn)樵摷?jí)595要顯示的內(nèi)容是取自上一級(jí)595的輸出,而不是單片機(jī),所以只需移位8次。

那這樣后一片的內(nèi)容一鎖存,那前一片的輸出不就也變了么
回復(fù)

使用道具 舉報(bào)

9#
ID:88256 發(fā)表于 2020-3-2 17:01 | 只看該作者
abc18434762843 發(fā)表于 2020-3-2 16:23
下邊是昨天看到的程序,是八個(gè)595級(jí)聯(lián),主函數(shù)里邊每個(gè)調(diào)用的函數(shù)都是先移了八位后就直接鎖存了,后邊再調(diào) ...

595有數(shù)據(jù)鎖存的,移位和數(shù)據(jù)并行輸出是分開(kāi)的,移位過(guò)程中并不會(huì)改變并行的內(nèi)容,所以送數(shù)給第2片數(shù)據(jù)并不會(huì)改變第一片的顯示內(nèi)容
回復(fù)

使用道具 舉報(bào)

10#
ID:94031 發(fā)表于 2020-3-2 17:35 | 只看該作者
因?yàn)?4hc595級(jí)聯(lián)是串行,串行先送的數(shù)是第三級(jí),然后二級(jí),一級(jí),因此三級(jí)數(shù)到達(dá)后,其他兩級(jí)的數(shù)據(jù)也就到達(dá),再一起輸出,具體應(yīng)看595時(shí)序圖。
回復(fù)

使用道具 舉報(bào)

11#
ID:679425 發(fā)表于 2020-3-5 08:37 | 只看該作者
具體應(yīng)看595時(shí)序圖
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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