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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

【Arduino】168種傳感器模塊系列實驗(143)---PCF8574T擴展模塊

[復制鏈接]
跳轉到指定樓層
樓主
37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手試試做實驗,不管成功與否,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗一百四十三:I2C接口I/O擴展模塊 支持級聯PCF8574T模塊




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

使用道具 舉報

沙發
ID:513258 發表于 2020-3-1 15:58 | 只看該作者

PCF8574T
是CMOS電路,它通過兩條雙向總線可使大多數MCU實現遠程I/O擴展。該器件包含一個8位準雙向口和一個總線接口。pcf8574t 電流消耗很低,并且輸出鎖存,具有大電流驅動能力,可直接驅動LED。它還帶有一種中斷接線可與MCU的中斷邏輯相連。通過INT發送中斷信號,遠端I/O口不必經過總線通信就通知MCU是否有數據從端口輸入。這意味著 pcf8574t 可以作為一個單被控器。

回復

使用道具 舉報

板凳
ID:513258 發表于 2020-3-1 16:19 | 只看該作者
PCF8574T主要參數
工作溫度范圍:-40°C to +85°C
針腳數:16
封裝類型:SOIC
工作溫度最低:-40°C
工作溫度最高:85°C
器件標號:8574
電源電壓 最大:6V
電源電壓 最小:2.5V
電源電流:40μA
芯片標號:8574
表面安裝器件:表面安裝
邏輯功能號:8574
控制接口:I2C
時鐘頻率:0.1MHz
輸入/輸出數:16



回復

使用道具 舉報

地板
ID:513258 發表于 2020-3-1 16:25 | 只看該作者
PCF8574邏輯圖



回復

使用道具 舉報

5#
ID:513258 發表于 2020-3-2 05:45 | 只看該作者
各P口輸入輸出簡化示意圖



回復

使用道具 舉報

6#
ID:513258 發表于 2020-3-2 08:08 | 只看該作者

回復

使用道具 舉報

7#
ID:513258 發表于 2020-3-2 08:09 | 只看該作者

回復

使用道具 舉報

8#
ID:513258 發表于 2020-3-2 08:11 | 只看該作者

回復

使用道具 舉報

9#
ID:513258 發表于 2020-3-2 08:33 | 只看該作者


雙線雙向總線(I2C)的8位輸入/輸出(I/O)擴展器
設計用于2.5-V至6-V VCC操作。PCF8574通過I2C為大多數微控制器系列提供通用遠程I/O擴展接口[串行時鐘(SCL),串行數據(SDA)。該設備具有一個8位準雙向I/O端口(P0–P7),包括帶有大電流驅動的鎖存輸出直接驅動LED的能力。每個準雙向I/O都可以用作輸入或輸出,而無需使用數據方向控制信號。開機時,I/O很高。在此模式下,只有VCC的電流源活躍。另一個強大的拉向VCC允許快速上升到重負荷輸出邊緣。這個裝置轉動當輸出被寫入高位并被SCL的負邊緣關閉時打開。I/O應該很高,在用作輸入之前。PCF8574提供了一個開漏輸出(int),可以連接到微控制器。在輸入模式下,端口輸入的任何上升或下降沿都會產生中斷。后續時間,tiv,int是有效的。當端口上的數據改變時,中斷電路復位并重新激活從產生中斷的端口讀取或寫入原始設置或數據。重置發生在在SCL信號上升沿后的確認位處的讀取模式,或在SCL信號從高到低轉換后的確認位。確認期間發生的中斷由于在該脈沖期間中斷復位,時鐘脈沖可能丟失(或非常短)。每次變更復位后的I/O被檢測到,并且在下一個上升時鐘邊緣之后,被發送。作為int讀取,或者寫入,另一個設備不影響中斷電路。通過在這條線路上發送中斷信號,遠程I/O可以通知微控制器是否有輸入數據在其端口上,無需通過I2C總線進行通信。因此,pcf8574可以保持簡單的從機裝置。


回復

使用道具 舉報

10#
ID:513258 發表于 2020-3-2 08:39 | 只看該作者
I2C接口I/O 8位擴展  支持級聯PCF8574T模塊



回復

使用道具 舉報

11#
ID:513258 發表于 2020-3-2 08:44 | 只看該作者
I2C接口I/O擴展模塊功能:
基于I2C接口的I/O擴展模塊,使用2個I/O可擴展8個I/O。支持級聯,最多可同時使用8個模塊,擴張到64個I/O。通過撥碼開關設置模塊地址,將3位撥碼開關全部撥到’ON’上。此時模塊地址為0x27。

PCB Size: 37.5mm x 16.7mm




回復

使用道具 舉報

12#
ID:513258 發表于 2020-3-2 08:51 | 只看該作者




回復

使用道具 舉報

13#
ID:513258 發表于 2020-3-2 10:35 | 只看該作者
【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  實驗一百四十二:I2C接口I/O 8位擴展  支持級聯PCF8574T模塊

  程序之一:掃描設備IIC地址,在串口上即可看到PCF8574T的地址

  Arduino------PCF8574
  5V-------------VCC
  GND-----------GND
  A4-----------SDA IIC 數據線
  A5-----------SCL IIC 時鐘線

  1. /*
  2.   【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百四十二:I2C接口I/O 8位擴展  支持級聯PCF8574T模塊

  4.   程序之一:掃描設備IIC地址,在串口上即可看到PCF8574T的地址

  5.   Arduino------PCF8574
  6.   5V-------------VCC
  7.   GND-----------GND
  8.   A4-----------SDA IIC 數據線
  9.   A5-----------SCL IIC 時鐘線
  10. */

  11. #include <Wire.h>

  12. void setup() {
  13.   Serial.begin (115200); // 等待串行端口連接
  14.   while (!Serial) { }
  15.   Serial.println ();
  16.   Serial.println ("I2C scanner. Scanning ...");
  17.   byte count = 0;
  18.   Wire.begin();
  19.   for (byte i = 8; i < 120; i++) {
  20.     Wire.beginTransmission (i);
  21.     if (Wire.endTransmission () == 0) {
  22.       Serial.print ("Found address: ");
  23.       Serial.print (i, DEC);
  24.       Serial.print (" (0x");
  25.       Serial.print (i, HEX);
  26.       Serial.println (")");
  27.       count++;
  28.       delay (1); // 也許不需要?
  29.     } //良好反應結束
  30.   } // 結束for循環

  31.   Serial.println ("Done.");
  32.   Serial.print ("Found ");
  33.   Serial.print (count, DEC);
  34.   Serial.println (" device(s).");
  35. } // 運行結束

  36. void loop() {
  37. }
復制代碼




回復

使用道具 舉報

14#
ID:513258 發表于 2020-3-2 10:38 | 只看該作者
通過模塊上撥碼開關不同位置,來設置模塊I2C地址
1上2上3上   為0x27




回復

使用道具 舉報

15#
ID:513258 發表于 2020-3-2 10:40 | 只看該作者
通過模塊上撥碼開關不同位置,來設置模塊I2C地址

1下2上3上   為0x23




回復

使用道具 舉報

16#
ID:513258 發表于 2020-3-2 10:55 | 只看該作者


1下2上3上   為0x23
回復

使用道具 舉報

17#
ID:513258 發表于 2020-3-2 11:00 | 只看該作者





通過模塊上撥碼開關不同位置,來設置模塊I2C地址
1上2上3上   為0x27
1下2上3上   為0x23
1下2下3上   為0x21
1下2下3下   為0x20
1上2下3下   為0x24
1上2上3下   為0x26
1下2上3下   為0x22
1上2下3上   為0x25

回復

使用道具 舉報

18#
ID:513258 發表于 2020-3-2 11:46 | 只看該作者
【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  實驗一百四十二:I2C接口I/O 8位擴展  支持級聯PCF8574T模塊

  程序之二:每隔2秒鐘,讓P0~P7口輸出高電平、低電平
  實驗說明:本程序未能通過驗證,請各位大俠幫忙看看

  Arduino------PCF8574
  5V-------------VCC
  GND-----------GND
  A4-----------SDA IIC 數據線
  A5-----------SCL IIC 時鐘線
  A0-----------P0

  1. /*
  2.   【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百四十二:I2C接口I/O 8位擴展  支持級聯PCF8574T模塊

  4.   程序之二:每隔2秒鐘,讓P0~P7口輸出高電平、低電平
  5.   實驗說明:本程序未能通過驗證,請各位大俠幫忙看看

  6.   Arduino------PCF8574
  7.   5V-------------VCC
  8.   GND-----------GND
  9.   A4-----------SDA IIC 數據線
  10.   A5-----------SCL IIC 時鐘線
  11.   A0-----------P0
  12. */

  13. #include <Wire.h>
  14. //初始化

  15. void setup() {
  16.   wire.begin();
  17. }

  18. unsigned char i = 0;
  19. void loop() {

  20.   //讀取模擬管腳0上的輸入
  21.   if (i = 0)
  22.     (
  23.       wire.beginTransmission(0x27) ;
  24.       wire.write(0xff);
  25.       wire.endTransmission();
  26.       i = 1;

  27.     )
  28.     else
  29.       (
  30.         wire.beginTransmission(0x27) ;
  31.         wire.write(0x00);
  32.         wire.endTransmission();
  33.         i = 0;
  34.       )
  35.       delay(2000);//延遲2秒
  36. }
復制代碼




回復

使用道具 舉報

19#
ID:513258 發表于 2020-3-2 12:18 | 只看該作者
實驗開源仿真編程(linkboy3.6)



回復

使用道具 舉報

20#
ID:513258 發表于 2020-3-2 12:20 | 只看該作者
實驗仿真編程(linkboy3.6)之二



回復

使用道具 舉報

21#
ID:513258 發表于 2020-3-2 12:28 | 只看該作者
實驗仿真編程(linkboy3.6)之二,實時仿真





回復

使用道具 舉報

22#
ID:469754 發表于 2020-12-7 22:39 來自觸屏版 | 只看該作者
這文章好像沒有寫完,PCF8574如何讀取引腳狀態,如何設置引腳狀態,一句wire就代過去了,而且最關鍵的中斷卻沒有說
回復

使用道具 舉報

23#
ID:513258 發表于 2020-12-9 10:46 | 只看該作者
suwill 發表于 2020-12-7 22:39
這文章好像沒有寫完,PCF8574如何讀取引腳狀態,如何設置引腳狀態,一句wire就代過去了,而且最關鍵的中斷 ...

謝謝師傅指點,引腳有圖示的,中斷使用還請師傅明示一下,謝謝



回復

使用道具 舉報

24#
ID:55085 發表于 2023-4-7 02:22 | 只看該作者
如何實現單個IO(如P5)的讀寫而不影響其它IO呢?就是單獨操作某個IO口而不影響本模塊的其他IO!!!
回復

使用道具 舉報

25#
ID:1088910 發表于 2023-7-26 22:48 | 只看該作者
請問2塊PCF8574T級聯怎么接線
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美专区在线 | 国产精品入口麻豆www | 亚洲国产情侣自拍 | 999久久久久久久久6666 | 午夜精品久久久久久不卡欧美一级 | 大陆一级毛片免费视频观看 | 日日夜夜草 | 国产一区二区三区免费观看在线 | av黄色在线 | 女同久久另类99精品国产 | 免费在线一区二区 | 亚洲福利| 最新av中文字幕 | 国产精品久久久久久久午夜片 | 国产视频久久 | 婷婷在线视频 | 天堂成人国产精品一区 | 国产精品久久九九 | 99国内精品| 色精品| 狠狠艹 | 久久99精品久久久久久国产越南 | 国产精品一区二区久久 | 8x国产精品视频一区二区 | 日韩中文一区二区三区 | www.99热这里只有精品 | 久久99精品久久久水蜜桃 | 日本在线视频一区二区 | av免费网址 | 亚州精品天堂中文字幕 | 久久久久久久久国产精品 | 国产精品a级 | 91久久国产综合久久91精品网站 | 国产欧美一区二区久久性色99 | 一区在线视频 | 超碰在线人人 | 91视频a| 二区三区视频 | 国产二区三区 | 国产特级毛片aaaaaa喷潮 | 日韩欧美在线免费观看视频 |