91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

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

Wildesbeast ? 來源:單片機教程網(wǎng) ? 作者:單片機教程網(wǎng) ? 2020-08-09 14:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

函數(shù)名稱:Config.h

功能描述:8243端口配置

輸入?yún)?shù):無

輸出參數(shù):無

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

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

#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;

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

函數(shù)名稱:driver8243

功能描述:驅動8243

輸入?yún)?shù):sele_P端口選擇,sele_M工作模式選擇,out_data輸出模式下的輸出數(shù)據(jù)

輸出參數(shù):in_data接收模式返回接收到的數(shù)據(jù),其它模式返回0

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

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

#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上產(chǎn)生下降沿

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

{

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

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

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

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

}

PROG=1; //在PROG上產(chǎn)生上升沿

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

in_data=(data_buf&0x0F);

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

//sele_M!=B00,返回0

}

void main( void)

{

char receive_data;

receive_data= driver8243(1,0,5);

}

單片機io擴展方法2:

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

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

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

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

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

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

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

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

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

    關注

    6076

    文章

    45495

    瀏覽量

    670279
  • IO
    IO
    +關注

    關注

    0

    文章

    510

    瀏覽量

    42520
  • 接口
    +關注

    關注

    33

    文章

    9519

    瀏覽量

    157020
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于單片機的額溫槍設計

    電子發(fā)燒友網(wǎng)站提供《基于單片機的額溫槍設計.docx》資料免費下載
    發(fā)表于 03-01 15:36 ?0次下載

    單片機低功耗的處理

    睡眠的方式不止一,根據(jù)需要選擇合適的。 2、所有懸空的IO口都設成推挽低速輸出低。注意,是懸空的IO口。也有人說設成浮空輸入,我試過幾款ST的單片機,都是設成輸出低的功耗更小。別的
    發(fā)表于 01-21 08:25

    學習單片機快速方法

    學習單片機的快速方法 先介紹下單片機。把單片機說成是電子信息類專業(yè)最重要的一門課程一點也不為過,你在街上看到的廣告彩燈、煙花表演、紅綠燈、自動開關門這些都可以用
    發(fā)表于 01-14 07:42

    單片機系統(tǒng)設計方法

    設計者應從軟硬方面消除.結合各種抵抗干擾的方法互相補充和完善.才能確保系統(tǒng)可靠、安全、正確地運行。單片機系統(tǒng)被干擾后會集中表現(xiàn)在幾個方面:控制狀態(tài)失效、采集數(shù)據(jù)誤差大、數(shù)據(jù)發(fā)生亂碼以及程序的運行失控
    發(fā)表于 01-06 06:23

    單片機系統(tǒng)硬件的調試方法

    單片機的系統(tǒng)硬件調試,通常有靜態(tài)調試和動態(tài)調試兩種不同,前者是通過目測、萬能表測試、加電檢查、聯(lián)機檢查的方法,在加電于樣機之前.對樣機的型號規(guī)格,以及安裝要求等進行核對,同時檢查 電源 系統(tǒng).防止
    發(fā)表于 12-03 06:10

    用PLC實現(xiàn)卷徑計算的兩種算法

    卷徑計算,是動態(tài)計算如鋼卷,紙卷等存料量的一種方法,它是實現(xiàn)張力控制和自動充放料、以及甩尾控制的重要前提。卷徑計算目前主流的方法兩種,一是根據(jù)
    的頭像 發(fā)表于 11-14 16:54 ?2076次閱讀
    用PLC實現(xiàn)卷徑計算的<b class='flag-5'>兩種</b>算法

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應用開發(fā)、程序調試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?783次閱讀

    單片機怎么燒程序

    驟,才能讓單片機發(fā)揮作用。 燒程序前的準備工作 單片機燒程序前,需要做好硬件和軟件方面的準備。硬件方面,核心設備包括目標單片機、編程器(或下載
    的頭像 發(fā)表于 07-23 11:47 ?1273次閱讀

    納祥科技NX2069B,PIN TO PIN PCF8574的QFN16小封裝單片機拓展實用IC

    NAXIANGTECHNOLOGY納祥科技NX2069BI2STOIO單片機擴展I2STOIO單片機擴展納祥科技NX2069B是一款單片機
    的頭像 發(fā)表于 07-15 16:06 ?797次閱讀
    納祥科技NX2069B,PIN TO PIN PCF8574的QFN16小封裝<b class='flag-5'>單片機</b>拓展實用IC

    AT89C51 單片機中文資料

    電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機中文資料.pdf》資料免費下載
    發(fā)表于 06-24 15:29 ?1次下載

    單片機原理及應用

    本書全面系統(tǒng)地介紹了 MCS-51 系列單片機的基本結構、工作原理及應用技術。主要內(nèi)容包括:微型計算機的基礎知識、MCS-51 單片機的基本結構、匯編語言和 C51 語言程序設計方法、中斷系統(tǒng)
    發(fā)表于 06-16 16:58

    STC單片機范例程序

    電子發(fā)燒友網(wǎng)站提供《STC單片機范例程序.zip》資料免費下載
    發(fā)表于 06-04 16:27 ?10次下載

    單片機和伺服有什么區(qū)別

    單片機和伺服的區(qū)別 單片機(Microcontroller)和伺服(Servo System)是兩種完全不同的技術概念,分別屬于 控制系統(tǒng)硬件 和 運動控制執(zhí)行系統(tǒng) 。以下是它們的詳細對比和區(qū)別
    的頭像 發(fā)表于 05-26 09:18 ?852次閱讀

    瑞薩RA8D1單片機IO中斷配置實現(xiàn)方法

    本文為結合瑞薩e2 studio工具,以及CPKCOR_RA8D1B評估板,給大家講述瑞薩RA8D1單片機IO中斷配置實現(xiàn)的方法。
    的頭像 發(fā)表于 04-09 15:05 ?1838次閱讀
    瑞薩RA8D1<b class='flag-5'>單片機</b><b class='flag-5'>IO</b>中斷配置實現(xiàn)<b class='flag-5'>方法</b>

    PLC和單片機到底有什么區(qū)別?

    在自動化和嵌入式開發(fā)領域,PLC和單片機兩種常見的控制系統(tǒng)。雖然它們有許多相似之處,但它們的功能、應用范圍、開發(fā)成本等方面也存在顯著差異。本文將從多個角度詳細探討這者的不同之處,幫助大家更好地理
    的頭像 發(fā)表于 04-07 11:58 ?6354次閱讀
    PLC和<b class='flag-5'>單片機</b>到底有什么區(qū)別?