色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

兩種單片機IO擴展的方法和代碼免費下載

Wildesbeast ? 來源:單片機教程網 ? 作者:單片機教程網 ? 2020-08-09 14:13 ? 次閱讀

下面介紹兩種單片機io擴展的方法

!!!!用8243擴展單片機IO接口

/*----------------------------------------------------------------------------------------------------------------

函數名稱:Config.h

功能描述:8243端口配置

輸入參數:無

輸出參數:無

特殊說明:在不同的單片機應用系統中,需要做相應調整

//----------------------------------------------------------------------------------------------------------------*/

#include 《reg52.h》

sbit ContrBit0=P1^0;

sbit ContrBit1=P1^1;

sbit ContrBit2=P1^2;

sbit ContrBit3=P1^3;

sbit PROG =P1^4;

sbit CS =P1^5;

sfr data_buf=0x90;

/*----------------------------------------------------------------------------------------------------------------

函數名稱:driver8243

功能描述:驅動8243

輸入參數:sele_P端口選擇,sele_M工作模式選擇,out_data輸出模式下的輸出數據

輸出參數:in_data接收模式返回接收到的數據,其它模式返回0

特殊說明:在不同的單片機應用系統中,需要做相應得調整

//----------------------------------------------------------------------------------------------------------------*/

#include《config.h》

char driver8243(char sele_P,char sele_M,char out_data)

{

char in_data=0;

PROG=1; //置PROG為高電平

//開始寫控制字

if((sele_P&0x01)==0) //將控制字最低位送到8243的p2.0

{

ContrBit0=0;

}

else

{

ContrBit0=1;

}

if((sele_P&0x02)==0) //將控制字第二位送到8243的p2.1

{

ContrBit1=0;

}

else

{

ContrBit1=1; //以上兩位共同指定端口地址

}

//寫端口工作模式控制字

if((sele_M&0x01)==0) //將端口工作模式控制字低位送到8243的p2.2

{

ContrBit2=0;

}

else

{

ContrBit2=1;

}

if((sele_M&0x01)==0) //將端口工作模式控制字高位送到8243的p2.3

{

ContrBit3=0;

}

else

{

ContrBit3=1;

} //寫控制字完成

PROG=0; //在PROG上產生下降沿

switch(sele_M&0x03) //判斷工作模式

{

case 0: break; //sele_M=B00為輸入,不處理,等待上升沿

case 1: data_buf=out_data;break; //sele_M=B01為輸出,直接送數據

case 2: data_buf=out_data;break; //sele_M=B10為邏輯或,直接送數據

case 3: data_buf=out_data;break; //sele_M=B11為邏輯與,直接送數據

}

PROG=1; //在PROG上產生上升沿

if((sele_M&0x03)==0) //sele_M=B00為輸入,接收數據

in_data=(data_buf&0x0F);

return(in_data); //sele_M=B00,返回接收到的數據

//sele_M!=B00,返回0

}

void main( void)

{

char receive_data;

receive_data= driver8243(1,0,5);

}

單片機io擴展方法2:

=======================單片機中IO口擴展IC===================================

單片機中IO口數量非常有限,做一些少量的外圍控制還可以,如果系統稍大一些就要加外加芯片來擴展IO數量,在應用過程

中我發現PCF8574這款芯片非常理想具有8路的輸入輸出的IO口同時具有鎖存功能,和MCU的通訊方式為I2C,還具有中斷

輸出功能當其中一個腳拉低時,就從中斷腳輸出一個低電平來通知單片機響應,這樣MCU就可以按自己的方式工作當有外部觸

發 時才讀取PCF8574做為外部擴展按鍵等非常方便。

現在這種片子在使用中由于在使用中沒有規化好端口的輸入輸出,在具體的應用時不太符合常規,大家也有所看法,所以philips最近

又出了一款新的IO擴展芯片打算取爾代之,地址也是和PCF8574一樣它的名字叫PCA9554

===================================================================================

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6039

    文章

    44583

    瀏覽量

    636629
  • IO
    IO
    +關注

    關注

    0

    文章

    451

    瀏覽量

    39223
  • 接口
    +關注

    關注

    33

    文章

    8650

    瀏覽量

    151444
收藏 人收藏

    評論

    相關推薦

    如何寫出穩定的單片機代碼

    這篇文章分享怎么寫出穩定的單片機代碼。? ?? 我對優秀代碼的理解,大體分為個部分:高效和穩定。 ? 者都能做到很好的,如果靠自己摸索,
    的頭像 發表于 11-15 16:40 ?442次閱讀
    如何寫出穩定的<b class='flag-5'>單片機</b><b class='flag-5'>代碼</b>

    比較分析兩種不同的可提高柵極驅動電流的方法

    電子發燒友網站提供《比較分析兩種不同的可提高柵極驅動電流的方法.pdf》資料免費下載
    發表于 09-23 11:13 ?0次下載
    比較分析<b class='flag-5'>兩種</b>不同的可提高柵極驅動電流的<b class='flag-5'>方法</b>

    單片機基本io功能調試過程

    所使用的單片機型號以及需要調試的IO口。不同型號的單片機IO口的配置和特性上可能有所不同。 查閱單片機手冊 : 查閱
    的頭像 發表于 09-14 14:38 ?687次閱讀

    單片機io一般包含哪幾種狀態

    單片機IO口(Input/Output,即輸入輸出端口)通常包含以下幾種狀態,這些狀態使得單片機能夠靈活地與外部設備進行數據交互和控制。以下是對這些狀態的說明: 輸入狀態(Input State
    的頭像 發表于 09-14 14:35 ?797次閱讀

    單片機io口怎么配置成輸出口

    單片機IO口配置成輸出口的過程通常涉及對單片機內部寄存器的操作。不同型號的單片機在寄存器配置和編程方式上可能有所不同,但基本原理是相似的。以下是一個通用的步驟,用于將
    的頭像 發表于 09-14 14:33 ?892次閱讀

    單片機io口輸出電流多大

    單片機IO口的輸出電流大小會受到多種因素的影響,包括單片機的型號、IO口的配置模式以及外部電路的設計等。以下是對單片機
    的頭像 發表于 09-14 14:29 ?2093次閱讀

    單片機io口的四工作狀態

    )是單片機與外部世界進行數據交換的接口。每個I/O口可以配置為輸入或輸出狀態,或者同時具備這兩種功能。I/O口的狀態可以通過編程來控制,以滿足不同的應用需求。 2. 單片機I/O口的工作原理 I/O口的工作原理涉及到數字電路的基
    的頭像 發表于 09-14 14:24 ?1783次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    的存儲器通常分為類:ROM(只讀存儲器)和RAM(隨機存取存儲器)。ROM用于存儲程序代碼,而RAM用于存儲程序運行過程中的數據。燒錄過程就是將程序代碼寫入ROM中。 單片機燒錄
    的頭像 發表于 09-02 09:54 ?551次閱讀

    提高MSP430G系列單片機的Flash擦寫壽命的方法

    電子發燒友網站提供《提高MSP430G系列單片機的Flash擦寫壽命的方法.pdf》資料免費下載
    發表于 08-28 11:51 ?0次下載
    提高MSP430G系列<b class='flag-5'>單片機</b>的Flash擦寫壽命的<b class='flag-5'>方法</b>

    PLC與單片機的區別是什么

    在工業自動化和電子領域中,PLC(Programmable Logic Controller,可編程邏輯控制器)和單片機(Single-Chip Microcomputer)是兩種常見的控制設備
    的頭像 發表于 05-28 16:11 ?1969次閱讀

    請問如何擴展單片機IO口?

    在很多項目上都會因單片機IO口不夠、或降低硬件成本要擴展IO口,特別在一些機械設備上,如本人從事的這個行業,有時候由一個單片機
    發表于 04-24 06:30

    FH8A1?8A是一io型,完全靜態,基于otp的控制器8位MCU單片機

    FH8A1?8A是一io型,完全靜態,基于otp的控制器8位MCU單片機
    的頭像 發表于 03-25 17:35 ?603次閱讀

    基于單片機的燃氣報警設計

    電子發燒友網站提供《基于單片機的燃氣報警設計.doc》資料免費下載
    發表于 03-04 09:46 ?1次下載

    兩種簡單、精確、靈活的熱電偶溫度測量方法

    電子發燒友網站提供《兩種簡單、精確、靈活的熱電偶溫度測量方法.pdf》資料免費下載
    發表于 02-28 14:41 ?1次下載

    單片機編程和plc編程有什么區別

    單片機編程和PLC編程是兩種不同的嵌入式系統開發領域。在這篇文章中,我們將詳細探討這兩種編程方式的區別。首先,我們將簡要介紹單片機和PLC的基本概念,然后分析它們的不同特點和使用場景。
    的頭像 發表于 02-22 10:23 ?2832次閱讀
    主站蜘蛛池模板: 日韩中文欧美在线视频| 久久九九久精品国产尤物| 国产成人精品123区免费视频| 极品少妇高潮啪啪无码吴梦| 日本久久黄色| 中文字幕爆乳JULIA女教师| 广东95后小情侣酒店自拍流出| 久久精选视频| 香蕉动漫库| 成人国产AV精品久久久久| 久久影院中文字幕| 亚洲精品在线不卡| 国产国拍亚洲精品永久软件| 欧美成人3d动漫专区| 亚洲视频在线观看视频| 国产GV天堂亚洲国产GV刚刚碰| 年轻漂亮的妺妺中文字幕版| 印度最猛性ⅹxxxxx| 国产色综合色产在线视频| 日本精品久久无码影院| 91在线一区二区| 老人洗澡自拍xxx互摸| 亚洲一区精品在线| 国产亚洲中文字幕视频| 无限资源在线观看高清| 东北成人社区| 色狠狠AV老熟女| 成人欧美一区二区三区白人| 欧美 亚洲 有码中文字幕| 18禁在线无遮挡羞羞漫画| 久久精品麻豆国产天美传媒果冻| 亚洲精品日韩在线观看视频| 国产亚洲精品久久精品69| 午夜福到在线4国产| 国产成+人欧美+综合在线观看| 日本老人oldmantv乱| 成人网18免费韩国| 色即是空之甜性涩爱| 俄罗斯极品hd| 无码成人AAAAA毛片含羞草| 国产高潮国产高潮久久久久久|