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

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

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

使用單片機實現(xiàn)一鍵多功能按鍵識別的設(shè)計實驗說明

Wildesbeast ? 來源:單片機教程網(wǎng) ? 作者:h1654155169.2086 ? 2020-05-30 11:01 ? 次閱讀

1.實驗任務(wù)

如圖所示,開關(guān)SP1接在P3.7/RD管腳上,在AT89S51單片機的P1端口接有四個發(fā)光二極管,上電的時候,L1接在P1.0管腳上的發(fā)光二極管在閃爍,當(dāng)每一次按下開關(guān)SP1的時候,L2接在P1.1管腳上的發(fā)光二極管在閃爍,再按下開關(guān)SP1的時候,L3接在P1.2管腳上的發(fā)光二極管在閃爍,再按下開關(guān)SP1的時候,L4接在P1.3管腳上的發(fā)光二極管在閃爍,再按下開關(guān)SP1的時候,又輪到L1在閃爍了,如此輪流下去。

2.電路原理

圖4.9.1

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

(1. 把“單片機系統(tǒng)”區(qū)域中的P3.7/RD端口連接到“獨立式鍵盤”區(qū)域中的SP1端口上;

(2. 把“單片機系統(tǒng)”區(qū)域中的P1.0-P1.4端口用8芯排線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的“L1-L8”端口上;要求,P1.0連接到L1,P1.1連接到L2,P1.2連接到L3,P1.3連接到L4上。

4.程序設(shè)計方法

(1. 設(shè)計思想由來

在我們生活中,我們很容易通過這個叫張三,那個叫李四,另外一個是王五;那是因為每個人有不同的名子,我們就很快認出,同樣,對于要通過一個按鍵來識別每種不同的功能,我們給每個不同的功能模塊用不同的ID號標(biāo)識,這樣,每按下一次按鍵,ID的值是不相同的,所以單片機就很容易識別不同功能的身份了。

(2. 設(shè)計方法

從上面的要求我們可以看出,L1到L4發(fā)光二極管在每個時刻的閃爍的時間是受開關(guān)SP1來控制,我們給L1到L4閃爍的時段定義出不同的ID號,當(dāng)L1在閃爍時,ID=0;當(dāng)L2在閃爍時,ID=1;當(dāng)L3在閃爍時,ID=2;當(dāng)L4在閃爍時,ID=3;很顯然,只要每次按下開關(guān)K1時,分別給出不同的ID號我們就能夠完成上面的任務(wù)了。下面給出有關(guān)程序設(shè)計的框圖。

5.程序框圖

圖4.9.2

6.匯編源程序

ID EQU 30H

SP1 BIT P3.7

L1 BIT P1.0

L2 BIT P1.1

L3 BIT P1.2

L4 BIT P1.3

ORG 0

MOV ID,#00H

START: JB K1,REL

LCALL DELAY10MS

JB K1,REL

INC ID

MOV A,ID

CJNE A,#04,REL

MOV ID,#00H

REL: JNB K1,$

MOV A,ID

CJNE A,#00H,IS0

CPL L1

LCALL DELAY

SJMP START

IS0: CJNE A,#01H,IS1

CPL L2

LCALL DELAY

SJMP START

IS1: CJNE A,#02H,IS2

CPL L3

LCALL DELAY

SJMP START

IS2: CJNE A,#03H,IS3

CPL L4

LCALL DELAY

SJMP START

IS3: LJMP START

DELAY10MS: MOV R6,#20

LOOP1: MOV R7,#248

DJNZ R7,$

DJNZ R6,LOOP1

RET

DELAY: MOV R5,#20

LOOP2: LCALL DELAY10MS

DJNZ R5,LOOP2

RET

END

7.C語言源程序

#include 《AT89X51.H》

unsigned char ID;

void delay10ms(void)

{

unsigned char i,j;

for(i=20;i》0;i--)

for(j=248;j》0;j--);

}

void delay02s(void)

{

unsigned char i;

for(i=20;i》0;i--)

{delay10ms();

}

}

void main(void)

{ while(1)

{ if(P3_7==0)

{delay10ms();

if(P3_7==0)

{

ID++;

if(ID==4)

{

ID=0;

}

while(P3_7==0);

}

}

switch(ID)

{ case 0:

P1_0=~P1_0;

delay02s();

break;

case 1:

P1_1=~P1_1;

delay02s();

break;

case 2:

P1_2=~P1_2;

delay02s();

break;

case 3:

P1_3=~P1_3;

delay02s();

break;

}

}

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

    關(guān)注

    147

    文章

    9539

    瀏覽量

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

    關(guān)注

    6030

    文章

    44500

    瀏覽量

    632195
  • AT89S51
    +關(guān)注

    關(guān)注

    3

    文章

    229

    瀏覽量

    34049
收藏 人收藏

    評論

    相關(guān)推薦

    一鍵開關(guān)機電路的工作原理是什么

    一鍵開關(guān)機電路的工作原理涉及多個電子元件的協(xié)同工作,主要包括MOS管、三極管、電容、電阻以及可能的單片機(MCU)等。 、電路組成 一鍵開關(guān)機電路通常由以下幾個關(guān)鍵元件組成: MOS
    的頭像 發(fā)表于 10-07 18:11 ?460次閱讀
    <b class='flag-5'>一鍵</b>開關(guān)機電路的工作原理是什么

    一鍵斷電開關(guān)的種類有哪些

    一鍵斷電開關(guān)的種類主要可以從其功能實現(xiàn)方式上進行分類。以下是些常見的一鍵斷電開關(guān)種類: 1. 繼電器式
    的頭像 發(fā)表于 09-13 16:45 ?647次閱讀

    一鍵斷電開關(guān)的控制原理是什么

    一鍵斷電開關(guān),也被稱為緊急斷電開關(guān)或緊急停止開關(guān),是種安全裝置,用于在緊急情況下迅速切斷電源,以防止事故的發(fā)生或擴大。這種開關(guān)的設(shè)計和應(yīng)用在工業(yè)、實驗室、醫(yī)療設(shè)備以及任何需要快速斷電的場合都
    的頭像 發(fā)表于 09-13 16:28 ?681次閱讀

    變電站一鍵順控系統(tǒng)和開關(guān)柜一鍵順控有區(qū)別嗎?

    變電站一鍵順控系統(tǒng)和開關(guān)柜一鍵順控技術(shù)雖然都涉及到“一鍵順控”的概念,但它們在應(yīng)用范圍和具體實現(xiàn)上有所不同,因此變電站一鍵順控系統(tǒng)和開關(guān)柜
    的頭像 發(fā)表于 07-31 13:34 ?403次閱讀
    變電站<b class='flag-5'>一鍵</b>順控系統(tǒng)和開關(guān)柜<b class='flag-5'>一鍵</b>順控有區(qū)別嗎?

    智能開關(guān)柜能如何實現(xiàn)“可視化一鍵順控”?

    智能開關(guān)柜能如何實現(xiàn)“可視化一鍵順控”和“開關(guān)柜健康狀態(tài)管理”?蜀瑞創(chuàng)新推出智能開關(guān)柜一鍵順控測解決方案。建設(shè)主要包括柜內(nèi)無線溫度監(jiān)測、斷路器機械特性和電氣特性監(jiān)測、分合閘線圈/儲能電機監(jiān)測、電動機構(gòu)設(shè)備等,并能通過裝置
    的頭像 發(fā)表于 07-08 09:45 ?383次閱讀
    智能開關(guān)柜能如何<b class='flag-5'>實現(xiàn)</b>“可視化<b class='flag-5'>一鍵</b>順控”?

    蜀瑞創(chuàng)新-智能開關(guān)柜一鍵順控解決方案

    智能開關(guān)柜能實現(xiàn)“可視化一鍵順序操作”和“開關(guān)柜健康狀態(tài)管理”。智能開關(guān)柜的建設(shè)主要包括柜內(nèi)無線溫度監(jiān)測、斷路器機械特性和電氣特性監(jiān)測、分合閘線圈/儲能電機監(jiān)測、電動機構(gòu)設(shè)備等,并能通過裝置實現(xiàn)開關(guān)柜基于AI
    的頭像 發(fā)表于 05-31 14:27 ?606次閱讀
    蜀瑞創(chuàng)新-智能開關(guān)柜<b class='flag-5'>一鍵</b>順控解決方案

    簡析智慧燈桿一鍵告警功能的實用場景

    智慧路燈桿是種兼具智能化和多功能的新型物聯(lián)網(wǎng)基礎(chǔ)設(shè)施,通過搭載一鍵告警對講盒,能夠大大豐富安防及報警求助資源,對提升城市的安全性和管理效能具有重要的作用。本篇就結(jié)合城市中的不同場景,簡析智慧燈桿
    的頭像 發(fā)表于 04-28 16:42 ?327次閱讀
    簡析智慧燈桿<b class='flag-5'>一鍵</b>告警<b class='flag-5'>功能</b>的實用場景

    8-Bit 觸控式 Flash 單片機中文資料

    該系列單片機款 8 位具有高性能精簡指令集且完全集成觸摸按鍵功能的 Flash 單片機。此系列單片機
    發(fā)表于 02-28 10:01 ?4次下載

    基于51單片機多功能電子時鐘設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機多功能電子時鐘設(shè)計.rar》資料免費下載
    發(fā)表于 01-12 10:03 ?9次下載

    基于51單片機多功能電子時鐘設(shè)計

    基于51單片機多功能電子時鐘設(shè)計(仿真)
    發(fā)表于 01-02 09:39 ?34次下載

    單片機按鍵切換模式命令

    單片機按鍵切換模式命令的原理、實現(xiàn)方法和應(yīng)用場景。 、原理與概述 單片機系統(tǒng)是由單片機芯片、外
    的頭像 發(fā)表于 12-15 10:31 ?2769次閱讀

    單片機按鍵切換模式怎么設(shè)置

    單片機作為種微處理器,在各種嵌入式系統(tǒng)中扮演著核心控制器的角色。其中,按鍵輸入作為單片機控制中常見的交互方式,實現(xiàn)模式切換是常見的需求。本
    的頭像 發(fā)表于 12-13 11:07 ?3684次閱讀

    單片機的GPIO如何實現(xiàn)觸摸按鍵功能呢?

    單片機的GPIO如何實現(xiàn)觸摸按鍵功能呢? 觸摸按鍵種使用觸摸電容技術(shù)
    的頭像 發(fā)表于 12-07 11:43 ?3740次閱讀

    單片機可以識別模擬信號么?單片機接收的是什么信號?

    將模擬信號轉(zhuǎn)換為數(shù)字信號。因此,單片機不能直接識別模擬信號,而是通過些特定模塊來實現(xiàn)模擬信號識別以及模擬與數(shù)字信號的轉(zhuǎn)換。
    的頭像 發(fā)表于 11-22 16:32 ?2669次閱讀

    一鍵開關(guān)機單片機電路設(shè)計

    般我們做單片機電路設(shè)計的時候,般就是上電啟動,直接用開關(guān)來做上電。那我們手機,MP3這些設(shè)備般都是一鍵長按然后開機。這樣做可以改善體驗
    發(fā)表于 11-15 11:49 ?837次閱讀
    <b class='flag-5'>一鍵</b>開關(guān)機<b class='flag-5'>單片機</b>電路設(shè)計