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

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

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

單片機的I/O口不夠,怎樣同時控制最多81個繼電器

dytfki8u8yql ? 來源:電子技術控 ? 2023-04-06 09:43 ? 次閱讀

想使用單片機同時控制最多81個繼電器按照實際要求接通或斷開,能否做得到?

單片機的類型很多,比較常見的單片機I/O口一般比較少,一般都是4組以內(nèi),每組8個,共32個I/O口,以及3組24個、2組16個、1組8個等,稍多一點的有64個I/O口。但是也有I/O口較多的單片機,比如stm32f103zet6一共144個引腳,具有112個I/O口,足以滿足控制要求。

驅動電路如下圖所示,由于大部分單片機I/O的的默認值為高電平,因此再設計驅動電路時,采用低電平驅動繼電器工作。

86a88368-d2fa-11ed-bfe3-dac502259ad0.jpg

但是比較常用的C8051F系列單片機其I/O口數(shù)量只有8~64個,若單片機的I/O口不夠時怎么辦?

1、可以使用74HC595擴展。74HC595是一個具有輸出鎖存的串行輸入8位并行輸出的移位寄存器,在驅動數(shù)碼管當中經(jīng)常有用到,如下圖為使用74HC595驅動數(shù)碼管的原理,控制繼電器時,74HC595的輸出口接PNP三極管即可,輸入低電平時三極管導通。

86bcc38c-d2fa-11ed-bfe3-dac502259ad0.jpg

2、可以使用可編程邏輯器件CPLD進行擴展。使用CPLD擴展的好處就是可以擴展很多I/O口,而且不會像使用74HC595那樣因為擴展得多了就會有一定的延時。其原理如下圖所示,通過讀RD、寫WR信號以及AD數(shù)據(jù)地址總線進行傳輸數(shù)據(jù),可以根據(jù)需求選擇合適I/O口的CPLD。

86dd85cc-d2fa-11ed-bfe3-dac502259ad0.jpg

3、使用多片單片機。若一片單片機的I/O口引腳不夠也可以使用兩片以上的單片機,進行控制繼電器,只是需要編寫多個單片機程序,若不同單片機之間的繼電器需要交互時,單片機之間還需增加通訊接口,可以使用SCI、SPI等通訊接口。

審核編輯:湯梓紅

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

    關注

    132

    文章

    5261

    瀏覽量

    147591
  • 單片機
    +關注

    關注

    6023

    文章

    44376

    瀏覽量

    628296
  • cpld
    +關注

    關注

    32

    文章

    1244

    瀏覽量

    168938
  • 驅動電路
    +關注

    關注

    152

    文章

    1508

    瀏覽量

    108104
  • 程序
    +關注

    關注

    115

    文章

    3719

    瀏覽量

    80355

原文標題:單片機的I/O口不夠,怎樣同時控制最多81個繼電器

文章出處:【微信號:電子技術控,微信公眾號:電子技術控】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    控制關電的I/O,如何實現(xiàn)徹底關電

    單片機應用系統(tǒng)中,常有用單片機I/O來實現(xiàn)自關機(徹底關機)的功能。一般用單片機的一
    的頭像 發(fā)表于 12-20 07:32 ?9146次閱讀
    <b class='flag-5'>控制</b>關電的<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>,如何實現(xiàn)徹底關電

    單片機同時擴展RAM,ROM,I/O

    單片機系統(tǒng)需要同時擴展 I/O8255A、RAM 62256、ROM 27256、那么與單片機
    發(fā)表于 03-06 11:32

    【求助】單片機IO驅動繼電器的問題

    請問單片機如何利用一I/O來驅動繼電器,我知道是外接一
    發(fā)表于 04-14 18:51

    單片機I/O擴展及應用,下載

    單片機I/O擴展及應用 MCS-51系列單片機共有四并行
    發(fā)表于 04-28 15:26 ?0次下載

    單片機I/O的使用

    單片機I/O的使用:對單片機控制,其實就是對I/
    發(fā)表于 12-03 22:51 ?69次下載

    單片機I/O控制實驗

                    實驗 單片機I/O
    發(fā)表于 09-22 10:45 ?1.6w次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b><b class='flag-5'>控制</b>實驗

    PIC單片機教程-內(nèi)部硬件資源之I/O

    PIC單片機教程-內(nèi)部硬件資源之I/O   I/O
    發(fā)表于 03-27 17:10 ?2630次閱讀

    為什么單片機I/O需要驅動

    為什么單片機I/O需要驅動呢?這個問題需要從I/O
    發(fā)表于 07-21 11:10 ?2422次閱讀
    為什么<b class='flag-5'>單片機</b>的<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>需要驅動

    單片機控制繼電器的電路

    單片機控制繼電器的電路說明。
    發(fā)表于 03-30 11:09 ?141次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>控制</b><b class='flag-5'>繼電器</b>的電路

    51單片機并行I/O工作原理

    51單片機并行I/O工作原理51單片機并行I/O
    發(fā)表于 11-11 11:51 ?50次下載
    51<b class='flag-5'>單片機</b>并行<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>工作原理

    單片機I/O輸出控制實驗

    單片機】實驗一 I/O輸出控制實驗一、實驗目的1.熟悉PROTEUS單片機仿真軟件的使用。2
    發(fā)表于 11-23 17:51 ?20次下載
    【<b class='flag-5'>單片機</b>】<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>輸出<b class='flag-5'>控制</b>實驗

    I/O單片機與外界聯(lián)系的通道

    I/O單片機與外界聯(lián)系的通道。它可對各類外部信號(開關量、模擬量、頻率信一號)進行檢測、判斷、處理,并可控制各類外部設備。
    發(fā)表于 02-10 10:32 ?1次下載
    <b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>是<b class='flag-5'>單片機</b>與外界聯(lián)系的通道

    如何實現(xiàn)單片機用一I/O采集多個按鍵信號?

    如何實現(xiàn)單片機用一I/O采集多個按鍵信號 使用模數(shù)轉換(ADC)的特點就可以實現(xiàn)單片機用一
    發(fā)表于 02-11 14:23 ?11次下載
    如何實現(xiàn)<b class='flag-5'>單片機</b>用一<b class='flag-5'>個</b><b class='flag-5'>I</b>/<b class='flag-5'>O</b>采集多個按鍵信號?

    單片機I/O驅動的作用分析

    為什么單片機I/O需要驅動呢?這個問題需要從I/O
    發(fā)表于 01-29 09:51 ?1651次閱讀

    為什么單片機I/O需要驅動?

    為什么單片機I/O需要驅動?
    的頭像 發(fā)表于 09-27 15:32 ?752次閱讀
    為什么<b class='flag-5'>單片機</b>的<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>口</b>需要驅動?