Category

भागहरू: lithict io थिचन (PCF8574) (###5)

केहि केसहरूमा कामसँग धेरै धेरै सेन्सर, बटनहरू छन्, वा तपाईंको माइक्रोनन स्टेटहरू छन्। PCF8574 एक साधारण विधि हो – कम-स्पीड इनपुट इनपुट वा आउटपुट पिनहरू एक माइक्रोकोन्ट्रोलरलाई। एक विन्यासनीय ठेगाना सही समान बसमा धेरै pcf8574s अवस्थित छ, त्यसैले दुई माइक्रोकन्ट्रोलर पिनहरूले आईओ पिनहरूको धेरै प्रबन्ध गर्न सक्दछन्। हामी तल यो चिप को उपयोग कसरी गर्न को लागी देखाउँदछौं।

TI PCF85747474 I2C TITBED IOA विस्तारकर्ता (माउसकर्ता # 595-pcf85747, $ 1.8676)

हामीले आईएसईसी.LBR को साथ साथै माइक्रो-फिलिप्सनमा यस चिपहरूको लागि pcb फुटप्रिन्टहरू पत्ता लगायौं। Madsoft Egle पुस्तकालय डाउनलोड पृष्ठ। पीसीएफओभ 25574 2 केलका साथ I2C प्रोटोकोलको साथ व्यवस्थापन गरिएको छ, त्यसैले हामीले यो चिप प्रदर्शन गर्न हाम्रो बस समुद्री डाकू सार्वभौमिक पक्षीय अन्तर्देशीय ईन्टरफेस प्रयोग गर्यौं। ठ्याक्कै समान आधारभूत अपरेशनहरू कुनै पनि प्रकारको माइक्रोकोन्ट्रोलरमा लागू हुनेछ।

योजनाबद्ध व्यक्तिले PCF8574 को लागि हाम्रो सजिलो परीक्षण सर्किट देखाउँदछ, यहाँ डाटशेट (PDF) छ। हामीले chvollts को साथ चिपलाई संचालित रूपमा प्रस्तुत गर्यौं, साथै एक 0..1uf ड्याखलिंग क्याप्सिंगर (C1) को साथ साथै जमीन पिनहरू बीच। R1 साथै R2 I2 को I2C घडी र 5volts मा डाटा बस हो। हामी चिपको आउटपुट सुविधाहरूको परीक्षण गर्न नेतृत्वको प्रयोग गर्नेछौं; P0 को साथ लिंक गरिएको छ वर्तमान सीमित प्रतिरोधा R3 (30 3300+ Ohms)। P6 साथै p7s को समक्रमणको लागि जोडिएको छ त्यसैले हामी चिपको इनपुट क्षमताहरू चाँडै परीक्षण गर्न सक्दछौं।

Pcf857474 को I2C ठेगाना 01C ठेगाना 0100XXXY हो, तीन बिट्स (x) ले थ्रीट (वाई) को साथ (0) (0) (0) मोड असंख्य pfc8574s ले फरक ठेगाना पिन सेटिंग्स प्रयोग गरेर एक I2C बस साझा गर्न सक्दछ। किनभने हामी ठेगाना पिनहरू जमिनमा जोड्न सक्दछौं, रचना ठेगाना 0100000000 (0x400) हो।

उत्पादन

पीएस 0 मा एपको नेतृत्व एक 1 (मा) वा 0 (बन्द) लाई कम्पोज ठेगानाको साथ अनुपालन गरी 0 (बन्द) को कम्पोज गरेर प्रबन्धित गर्दछ।

I2C> {0x40 0 BB00000111 <-कम्यान | 210 I2C सुरू सर्त 220 I2C लेख्छन्: 0x40 ले ACK: हो <-«- ठेगाना 220 I2C लेख्छन्: 0x01 ले ACK: हो <---उट मान 200 I2C स्टप सर्त I2C>

{समस्याहरू I2C सुरू सर्त, कम्पोज ठेगाना, 0x40 को साथ अनुपालन। आउटपुट मान, 0 BB0000001, P0 उच्च साथ साथै रहित बिट्स कम गर्दै। } I2C बस स्टप सर्तमा पठाउँदछ, लेनदेन समाप्त हुन्छ। जब सम्बन्धित बिट उच्च सेट हुन्छ, एलियो परिवर्तन हुन्छ।

एलडीको बन्द गर्न, 0 मा सम्बन्धित आउटपुट बिटको साथ अनुक्रम दोहोर्याउनुहोस्।

I2C> {0x40 0 BB0000000000} <- आदेश 210 I2C सुरू सर्त 220 I2C लेख्छन्: 0x40 ले ACK: हो <-«- ठेगाना 220 I2C लेख्छन्: 0x00 ACK: हो <--उपुट मान 200 I2C स्टप सर्त I2C>

P0 को साथ अब भूमिमा सेट गरिएको छ, एलियो बन्द हुन्छ।

निवेश

पिनहरू आउटपुटमा सेट गर्वमा इनपुटहरू (डाटस्शीट पृष्ठ 1) को उपयोग गर्न सकिन्छ। उदाहरणमा, p6 उच्च (+5 भोल्ट) साथै p7s कम (ग्राउन्ड) हो (ग्राउन्ड), यद्यपि यी पनि बटनहरू, सेन्सर, वा अन्य डिजिटल तर्क हुन सक्छ। अन्य पिनहरू फ्लोटिंग बायाँ तैतका साथै वैध डाटा प्रतिनिधित्व गर्दैनन्।

I2C> {0x40 0 BB10000000000} <- आदेश 210 I2C सुरू सर्त 220 I2C लेख्छन्: 0x40 ले ACK: हो <-«- ठेगाना 220 I2C लेख्छन्: 0xc0 ले ACK: हो <--उपुट मान 200 I2C स्टप सर्त I2C>

सर्वप्रथम, हामीले रुचाइएको इनपुट पिनहरू उत्पादनलाई आउटपुट मानमा 1 अनुकूल बिट्स प्रयोग गरेर आउटपुटमा विस्तार गर्दछौं। बिट्स its साथै 7 सेट P6s साथै p3 को साथै p3 उत्पादन गर्न।

अब, हामी पिन जाँच गर्न सक्छौं। हामीले पिन मानहरू तुरुन्तै स्पष्ट पारिएको सुनिश्चित गर्न बाइनरी मोडमा बस समुद्री डाकूको आउटपुटमा गरेका थियौं।

I2c> {0x41 r} <- आदेश 210 I2C सुरू सर्त 220 I2C लेख्छन्: 00010000011 ले ACK: हो <-ड्रेस 200 I2C पढ्छ: 0b01000000000000 {समस्याहरू I2C सुरू सर्त, 0x41 जाँच गरिएको ठेगाना जाँच गरियो, साथै r उपकरणबाट एक बग्लियो। } I2C बस स्टप सर्तमा पठाउँदछ, लेनदेन समाप्त हुन्छ। जवाफ, 01000000, इनपुट पिनहरूको निर्दिष्ट प्रतिनिधित्व गर्दछ। धेरै पर्याप्त बिट 0 हुन्छ किनकि पीएसए पनि जमिनमा जडित छ। अर्को बिट 1 हो किनकि पीए 6 ले अन्य बिट्स (0) फोहोर डाटा हो। यो एक मात्र आईओ विस्तारकर्ता आईसीबाट टाढा छ। के तपाइँ एक थप चिप प्रयोग गर्नुभएको छ? कुनै प्रकारको भाग सन्देशहरूमा समात्न असफल नहुनुहोस् जुन तपाईंले छुटेको हुन सक्छ।