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

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

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

使用單片機實現(xiàn)多路開關(guān)狀態(tài)指示器的設(shè)計資料合集

Wildesbeast ? 來源:單片機教程網(wǎng) ? 作者:單片機教程網(wǎng) ? 2020-05-30 09:26 ? 次閱讀

1.實驗任務(wù)

如圖所示,AT89S51單片機的P1.0-P1.3接四個發(fā)光二極管L1-L4,P1.4-P1.7接了四個開關(guān)K1-K4,編程將開關(guān)的狀態(tài)反映到發(fā)光二極管上。(開關(guān)閉合,對應(yīng)的燈亮狀態(tài),開關(guān)斷開,對應(yīng)的燈滅狀態(tài))。

2.電路原理

圖4.3.1

3.系統(tǒng)板上硬件連線

(1. 把“單片機系統(tǒng)”區(qū)域中的P1.0-P1.3用導線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1-L4端口上;

(2. 把“單片機系統(tǒng)”區(qū)域中的P1.4-P1.7用導線連接到“四路撥動開關(guān)”區(qū)域中的K1-K4端口上;

4. 程序設(shè)計內(nèi)容

(1. 開關(guān)狀態(tài)檢測

對于開關(guān)狀態(tài)檢測,相對單片機來說,是輸入關(guān)系,我們可輪流檢測每個開關(guān)狀態(tài),根據(jù)每個開關(guān)的狀態(tài)讓相應(yīng)的發(fā)光二極管指示,可以采用JBP1.X,REL或JNBP1.X,REL指令來完成;也可以一次性檢測四路開關(guān)狀態(tài),然后讓其指示,可以采用MOVA,P1指令一次把P1端口的狀態(tài)全部讀入,然后取高4位的狀態(tài)來指示。

(2. 輸出控制

根據(jù)開關(guān)的狀態(tài),由發(fā)光二極管L1-L4來指示,我們可以用SETBP1.X和CLRP1.X指令來完成,也可以采用MOVP1,#1111XXXXB方法一次指示。

5.程序框圖

圖4.3.2

6.方法一(匯編源程序)

ORG 00H

START: MOV A,P1

ANL A,#0F0H

RR A

RR A

RR A

RR A

XOR A,#0F0H

MOV P1,A

SJMP START

END

7.方法一(C語言源程序)

#include 《AT89X51.H》

unsigned char temp;

void main(void)

{

while(1)

{

temp=P1》》4;

temp=temp | 0xf0;

P1=temp;

}

}

8.方法二(匯編源程序)

ORG 00H

START: JB P1.4,NEXT1

CLR P1.0

SJMP NEX1

NEXT1: SETB P1.0

NEX1: JB P1.5,NEXT2

CLR P1.1

SJMP NEX2

NEXT2: SETB P1.1

NEX2: JB P1.6,NEXT3

CLR P1.2

SJMP NEX3

NEXT3: SETB P1.2

NEX3: JB P1.7,NEXT4

CLR P1.3

SJMP NEX4

NEXT4: SETB P1.3

NEX4: SJMP START

END

9.方法二(C語言源程序)

#include 《AT89X51.H》

void main(void)

{

while(1)

{

if(P1_4==0)

{

P1_0=0;

}

else

{

P1_0=1;

}

if(P1_5==0)

{

P1_1=0;

}

else

{

P1_1=1;

}

if(P1_6==0)

{

P1_2=0;

}

else

{

P1_2=1;

}

if(P1_7==0)

{

P1_3=0;

}

else

{

P1_3=1;

}

}

}

多路開關(guān)狀態(tài)指示器設(shè)計全部代碼結(jié)束

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

    關(guān)注

    147

    文章

    9530

    瀏覽量

    165534
  • 單片機
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631971
  • 指示器
    +關(guān)注

    關(guān)注

    0

    文章

    249

    瀏覽量

    38243
收藏 人收藏

    評論

    相關(guān)推薦

    單片機學堂】單片機40個實驗之多路開關(guān)狀態(tài)指示

    多路開關(guān)狀態(tài)指示 1.實驗任務(wù) 如圖4.3.1所示,AT89S51單片機的P1.0-P1.3接四個發(fā)光二極管L1-L4,P1.4-P1.7接
    發(fā)表于 11-15 10:37

    使用單片機實現(xiàn)多路開關(guān)狀態(tài)指示實驗的資料

    如圖4.3.1所示,AT89S51單片機的P1.0-P1.3接四個發(fā)光二極管L1-L4,P1.4-P1.7接了四個開關(guān)K1-K4,編程將開關(guān)狀態(tài)反映到發(fā)光二極管上。u3000u300
    發(fā)表于 09-26 06:37

    多路開關(guān)狀態(tài)指示

    多路開關(guān)狀態(tài)指示 1. 實驗任務(wù) 如圖4.3.1所示,AT89S51單片機的P1.0-P1.3接四個發(fā)光二極管L1-L4,P1.4-P1.7
    發(fā)表于 04-15 10:19 ?3692次閱讀
    <b class='flag-5'>多路</b><b class='flag-5'>開關(guān)</b><b class='flag-5'>狀態(tài)</b><b class='flag-5'>指示</b>

    CYZT-9032開關(guān)狀態(tài)指示器

    CYZT-9032開關(guān)狀態(tài)指示器●產(chǎn)品概述       CYZT-9032開關(guān)狀態(tài)
    發(fā)表于 12-24 14:58 ?1193次閱讀

    XTKB-982S開關(guān)狀態(tài)指示器

    XTKB-982S開關(guān)狀態(tài)指示器●產(chǎn)品概述       XTKA-951H開關(guān)狀態(tài)
    發(fā)表于 12-24 15:21 ?1064次閱讀

    電話線路狀態(tài)指示器

    電話線路狀態(tài)指示器 當您家的電話線裝了幾個電話分機時,我想您需要這樣一個指示電話線路狀態(tài)的東西,那就是我們現(xiàn)在介紹的電話線路占線指示器
    發(fā)表于 03-30 12:35 ?3077次閱讀
    電話線路<b class='flag-5'>狀態(tài)</b><b class='flag-5'>指示器</b>

    多路開關(guān)狀態(tài)指示

    慧凈HL-1 配套C實驗例程100例【實驗7】多路開關(guān)狀態(tài)指示),很好的C51學習資料程序。
    發(fā)表于 03-21 14:23 ?8次下載

    基于AT89S51單片機多路開關(guān)狀態(tài)指示裝置指示

    對于開關(guān)狀態(tài)檢測,相對單片機來說,是輸入關(guān)系,我們可輪流檢測每個開關(guān)狀態(tài),根據(jù)每個開關(guān)
    發(fā)表于 08-30 10:09 ?2次下載
    基于AT89S51<b class='flag-5'>單片機</b>的<b class='flag-5'>多路</b><b class='flag-5'>開關(guān)</b><b class='flag-5'>狀態(tài)</b><b class='flag-5'>指示</b>裝置<b class='flag-5'>指示</b>

    HL開發(fā)板的多路開關(guān)狀態(tài)指示學習程序

    HL開發(fā)板【實驗7】多路開關(guān)狀態(tài)指示單片機學習程序,很好的學習資料。
    發(fā)表于 09-01 16:21 ?1次下載
    HL開發(fā)板的<b class='flag-5'>多路</b><b class='flag-5'>開關(guān)</b><b class='flag-5'>狀態(tài)</b><b class='flag-5'>指示</b>學習程序

    單片機開發(fā)板典型應(yīng)用案例106個經(jīng)典案例資料合集包括程序

    本文檔的主要內(nèi)容詳細介紹的是單片機開發(fā)板典型應(yīng)用案例106個經(jīng)典案例資料合集包括程序案例包括了:點亮第一個發(fā)光二極管,點亮四個LED,一個LED閃爍,led移動閃爍,多路
    發(fā)表于 08-14 08:00 ?58次下載
    <b class='flag-5'>單片機</b>開發(fā)板典型應(yīng)用案例106個經(jīng)典案例<b class='flag-5'>資料</b><b class='flag-5'>合集</b>包括程序

    使用單片機實現(xiàn)多路開關(guān)狀態(tài)指示實驗的資料合集免費下載

     如圖4.3.1所示,AT89S51單片機的P1.0-P1.3接四個發(fā)光二極管L1-L4,P1.4-P1.7接了四個開關(guān)K1-K4,編程將開關(guān)狀態(tài)反映到發(fā)光二極管上。
    發(fā)表于 03-19 15:31 ?3次下載
    使用<b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>多路</b><b class='flag-5'>開關(guān)</b><b class='flag-5'>狀態(tài)</b><b class='flag-5'>指示</b>實驗的<b class='flag-5'>資料</b><b class='flag-5'>合集</b>免費下載

    使用單片機實現(xiàn)廣告燈的左移右移資料合集

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)廣告燈的左移右移資料合集免費下載。
    發(fā)表于 03-25 16:39 ?8次下載
    使用<b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b>廣告燈的左移右移<b class='flag-5'>資料</b><b class='flag-5'>合集</b>

    LABVIEW的狀態(tài)機實現(xiàn)資料合集

    LABVIEW的狀態(tài)機實現(xiàn)資料合集
    發(fā)表于 01-04 11:18 ?45次下載

    基于單片機多路無線遙控開關(guān)設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于單片機多路無線遙控開關(guān)設(shè)計.pdf》資料免費下載
    發(fā)表于 10-13 10:32 ?5次下載
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>多路</b>無線遙控<b class='flag-5'>開關(guān)</b>設(shè)計

    使用電源正常狀態(tài)指示器實現(xiàn)輸出放電功能

    電子發(fā)燒友網(wǎng)站提供《使用電源正常狀態(tài)指示器實現(xiàn)輸出放電功能.pdf》資料免費下載
    發(fā)表于 08-29 09:45 ?0次下載
    使用電源正常<b class='flag-5'>狀態(tài)</b><b class='flag-5'>指示器</b><b class='flag-5'>實現(xiàn)</b>輸出放電功能