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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4687|回復: 24
收起左側

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

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

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

0.jpg


回復

使用道具 舉報

ID:513258 發表于 2020-3-1 15:58 | 顯示全部樓層
01.jpg
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
02 (1).jpg


回復

使用道具 舉報

ID:513258 發表于 2020-3-1 16:25 | 顯示全部樓層
PCF8574邏輯圖

02.jpg

回復

使用道具 舉報

ID:513258 發表于 2020-3-2 05:45 | 顯示全部樓層
各P口輸入輸出簡化示意圖

02-.jpg

回復

使用道具 舉報

ID:513258 發表于 2020-3-2 08:08 | 顯示全部樓層
03.jpg
回復

使用道具 舉報

ID:513258 發表于 2020-3-2 08:09 | 顯示全部樓層
04 (1).jpg
回復

使用道具 舉報

ID:513258 發表于 2020-3-2 08:11 | 顯示全部樓層
04-.jpg
回復

使用道具 舉報

ID:513258 發表于 2020-3-2 08:33 | 顯示全部樓層
04-0.jpg

雙線雙向總線(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可以保持簡單的從機裝置。


回復

使用道具 舉報

ID:513258 發表于 2020-3-2 08:39 | 顯示全部樓層
I2C接口I/O 8位擴展  支持級聯PCF8574T模塊

05.jpg

回復

使用道具 舉報

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

07- (1).jpg


回復

使用道具 舉報

ID:513258 發表于 2020-3-2 08:51 | 顯示全部樓層
07 (1).jpg

06.jpg

回復

使用道具 舉報

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. }
復制代碼




回復

使用道具 舉報

ID:513258 發表于 2020-3-2 10:38 | 顯示全部樓層
通過模塊上撥碼開關不同位置,來設置模塊I2C地址
1上2上3上   為0x27

09.jpg


回復

使用道具 舉報

ID:513258 發表于 2020-3-2 10:40 | 顯示全部樓層
通過模塊上撥碼開關不同位置,來設置模塊I2C地址

1下2上3上   為0x23

10.jpg


回復

使用道具 舉報

ID:513258 發表于 2020-3-2 10:55 | 顯示全部樓層
11.jpg

1下2上3上   為0x23
回復

使用道具 舉報

ID:513258 發表于 2020-3-2 11:00 | 顯示全部樓層
16.jpg

17.jpg


通過模塊上撥碼開關不同位置,來設置模塊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

回復

使用道具 舉報

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. }
復制代碼




回復

使用道具 舉報

ID:513258 發表于 2020-3-2 12:18 | 顯示全部樓層
實驗開源仿真編程(linkboy3.6)

18.jpg

回復

使用道具 舉報

ID:513258 發表于 2020-3-2 12:20 | 顯示全部樓層
實驗仿真編程(linkboy3.6)之二

19.jpg

回復

使用道具 舉報

ID:513258 發表于 2020-3-2 12:28 | 顯示全部樓層
實驗仿真編程(linkboy3.6)之二,實時仿真



22.gif

回復

使用道具 舉報

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

使用道具 舉報

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

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

07 (1).jpg

回復

使用道具 舉報

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

使用道具 舉報

ID:1088910 發表于 2023-7-26 22:48 | 顯示全部樓層
請問2塊PCF8574T級聯怎么接線
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本黄a三级三级三级 | 激情五月综合 | 五月天激情婷婷 | 国产高清视频在线播放 | 精品视频免费 | 在线观看黄色av | 日韩在线免费视频 | 日韩成人高清 | h片在线免费观看 | 日韩一区二区在线视频 | 久久高清免费视频 | ass亚洲尤物裸体pics | 女人av在线 | 一级黄色网 | 9l视频自拍九色9l视频成人 | 国产h视频 | 亚洲精品午夜 | 欧美日韩成人在线观看 | 欧美日韩国产在线 | 黄色三级视频在线观看 | 中文字幕免费观看 | 四虎影视在线播放 | 国产精品一区二区免费 | 国产视频一 | 免费观看全黄做爰视频 | 91久久精品日日躁夜夜躁欧美 | txvlog.com| 亚洲成人免费 | 成人午夜视频在线观看 | 国产理论在线 | 亚洲精品网站在线观看 | 国产手机在线视频 | 免费三片在线播放 | 欧美在线网址 | 一区二区不卡 | 福利网站在线观看 | a级黄色片| 日韩欧美在线免费观看 | 免费网站观看www在线观 | 老司机免费福利视频 | www久久久久 |