久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3685|回復: 4
打印 上一主題 下一主題
收起左側

關于89C51單片機擴展74HC165的問題

[復制鏈接]
跳轉到指定樓層
樓主
請問各位大俠,小弟剛學51單片機不久在做一個項目時需要很多輸入按鈕(大概22個按鈕)發現用hc165聯級的方式最多只能采集到兩片HC165的聯級的數據,第三片hc165的數據采集不到,代碼如下:
#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數據*/
  for(i=0;i<8;i++)
  {
    inData1=inData1<<1
    CLK=0;
    _nop_();
    inData1|=out_q7;
    CLK=1;
    _nop_();
  }

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

  /*讀取第2片HC165數據*/
  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) //此處范圍只能設置0-15,超過這個范圍結果一直是0小燈一直閃爍
    test=0;
    delay(20000);
    test=1;
    delay(20000);
  }
}

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

使用道具 舉報

沙發
ID:111634 發表于 2018-9-8 21:10 | 只看該作者
利用虛擬串行比真串行速度要慢,但即使這樣,也不至于漏掉按鍵信號,按鍵信號至少10ms以上。要漏掉也不至于全部漏掉。因此,可以肯定,你的電路連接或程序有問題。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:111634 發表于 2018-9-8 21:13 | 只看該作者
實例39 74HC165串行輸入8-16位按鍵狀態
回復

使用道具 舉報

地板
ID:384109 發表于 2018-9-8 23:04 | 只看該作者
HC165的信號引腳最好都接一個上拉電阻,單片機的引腳可能沒有足夠的驅動力去驅動多個芯片

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:111634 發表于 2018-9-9 09:00 | 只看該作者
我這個案例是真串口傳送
Proteus仿真一下,確認有效。
實例39 74HC165串行輸入8-16位按鍵狀態.rar (57.52 KB, 下載次數: 67)

以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1.書中電路和程序設計有詳細說明,程序語句條條有注解。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费毛片网站 | 国产成人精品一区二区 | 欧美亚洲国产日韩 | 亚洲精品久久久久久久不卡四虎 | 在线91| 久久久精品 | 亚洲一级在线 | 一区二区三区在线免费观看 | 青青草免费在线视频 | 成年人黄色免费视频 | 91精品国产91久久久久久 | 精品久久久久久国产 | 亚洲精品在线看 | 国产欧美一区二区三区久久人妖 | 国产一区| 日本a∨精品中文字幕在线 亚洲91视频 | 色综合桃花网 | 在线免费激情视频 | 国产一区二区久久久 | 一级毛片视频在线 | 天天弄| 亚洲一区免费 | av黄色在线 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 久久久国产网站 | 国产一区二区三区免费观看在线 | 久久看精品| 国产精品视频yy9299一区 | 久久精品女人天堂av | 国产精品a久久久久 | 一级高清| 亚洲国产69 | 欧美成年网站 | 免费高潮视频95在线观看网站 | 欧洲妇女成人淫片aaa视频 | 精品日韩 | 亚洲有码转帖 | 亚洲精品一区久久久久久 | 久久在线 | 久久伊人精品一区二区三区 | www.国产一区 |