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

標(biāo)題: 關(guān)于89C51單片機(jī)擴(kuò)展74HC165的問(wèn)題 [打印本頁(yè)]

作者: 2345430    時(shí)間: 2018-9-8 00:45
標(biāo)題: 關(guān)于89C51單片機(jī)擴(kuò)展74HC165的問(wèn)題
請(qǐng)問(wèn)各位大俠,小弟剛學(xué)51單片機(jī)不久在做一個(gè)項(xiàng)目時(shí)需要很多輸入按鈕(大概22個(gè)按鈕)發(fā)現(xiàn)用hc165聯(lián)級(jí)的方式最多只能采集到兩片HC165的聯(lián)級(jí)的數(shù)據(jù),第三片hc165的數(shù)據(jù)采集不到,代碼如下:
#include "reg51.h"
#include "intrins.h

typedef unsigned char u8;
typedef unsigned int u16

/*74HC165管腳定義*/
sbit   out_q7=P1^0;
sbit       CLK=P1^1;
sbit         PL=P1^2
sbit       test=P1^3;


u16 HC165ReadData()
{
  u16 Datavalue,inData1,inData2,inData3,i;
  inData1=0;
  inData2=0;
  inData3=0;
  Datavalue=0;

  PL=0;
  _nop_();
  PL=1;//
  _nop_();

  /*讀取第1片HC165數(shù)據(jù)*/
  for(i=0;i<8;i++)
  {
    inData1=inData1<<1
    CLK=0;
    _nop_();
    inData1|=out_q7;
    CLK=1;
    _nop_();
  }

  /*讀取第2片HC165數(shù)據(jù)*/
  for(i=0;i<8;i++)
  {
    inData2=inData2<<1
    CLK=0;
    _nop_();
    inData2|=out_q7;
    CLK=1;
    _nop_();
  }

  /*讀取第2片HC165數(shù)據(jù)*/
  for(i=0;i<8;i++)
  {
    inData3=inData3<<1
    CLK=0;
    _nop_();
    inData3|=out_q7;
    CLK=1;
    _nop_();
  }  
  Datavalue=inData1;
  Datavalue<<=8;
  Datavalue|=inData2;
  Datavalue<<=8;
  Datavalue|=inData3;
  return(Datavalue);
}



void delay(u16 y)
{
  while(y--);
}
                                            
void main()
{
  u16 hc165value;

  while(1)
  {
    hc165value=HC165ReadData();
    if((hc165value&(1<<0))==0) //此處范圍只能設(shè)置0-15,超過(guò)這個(gè)范圍結(jié)果一直是0小燈一直閃爍
    test=0;
    delay(20000);
    test=1;
    delay(20000);
  }
}


作者: zl2168    時(shí)間: 2018-9-8 21:10
利用虛擬串行比真串行速度要慢,但即使這樣,也不至于漏掉按鍵信號(hào),按鍵信號(hào)至少10ms以上。要漏掉也不至于全部漏掉。因此,可以肯定,你的電路連接或程序有問(wèn)題。
作者: zl2168    時(shí)間: 2018-9-8 21:13
實(shí)例39 74HC165串行輸入8-16位按鍵狀態(tài)
作者: 人中狼    時(shí)間: 2018-9-8 23:04
HC165的信號(hào)引腳最好都接一個(gè)上拉電阻,單片機(jī)的引腳可能沒(méi)有足夠的驅(qū)動(dòng)力去驅(qū)動(dòng)多個(gè)芯片
作者: zl2168    時(shí)間: 2018-9-9 09:00
我這個(gè)案例是真串口傳送
Proteus仿真一下,確認(rèn)有效。
實(shí)例39 74HC165串行輸入8-16位按鍵狀態(tài).rar (57.52 KB, 下載次數(shù): 67)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1.書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。





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