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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3702|回復: 4
收起左側

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

[復制鏈接]
ID:227385 發表于 2018-9-8 00:45 | 顯示全部樓層 |閱讀模式
請問各位大俠,小弟剛學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);
  }
}

回復

使用道具 舉報

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 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:111634 發表于 2018-9-9 09:00 | 顯示全部樓層
我這個案例是真串口傳送
Proteus仿真一下,確認有效。
實例39 74HC165串行輸入8-16位按鍵狀態.rar (57.52 KB, 下載次數: 67)
165串行輸入16位.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1.書中電路和程序設計有詳細說明,程序語句條條有注解。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青青青伊人 | 欧美日韩亚洲视频 | 欧美一区二区小视频 | 日韩精品久久久 | 91高清免费观看 | 久久国产亚洲 | 伊人网国产| 国产精品久久久亚洲 | 91精品久久久久久久久 | 免费国产一区二区 | 日韩精品中文字幕在线 | 国产午夜精品一区二区三区嫩草 | 91高清视频在线 | 久久国产婷婷国产香蕉 | 亚洲精品久久久久avwww潮水 | 日韩欧美一区二区三区四区 | 亚州激情 | 中文字幕第一页在线 | 欧美日韩一区二区三区四区五区 | 日韩精品一区二区三区视频播放 | 少妇一级淫片免费播放 | 国产小视频在线 | 久久久久国产精品人 | 亚洲精品一区二区 | 欧美不卡网站 | 国产一级片91 | 99热国产精品 | 日韩中文电影 | 91精品久久久久久久久久 | 国产一区电影 | 毛片一级网站 | 国产亚洲一区精品 | 国产高清精品一区二区三区 | 亚洲一区精品视频 | 玖玖爱365| 中文字幕国产精品 | 亚洲欧美日韩成人在线 | 免费黄色特级片 | 五月婷婷婷 | 一区二区久久 | 精品视频一区二区 |