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

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

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

控制LED燈的亮滅的2種開(kāi)關(guān)檢測(cè)方案

454398 ? 來(lái)源:博客園 ? 作者:無(wú)悔這一生。 ? 2020-09-24 11:13 ? 次閱讀

開(kāi)關(guān)檢測(cè)案例一:

具體電路圖如下: K1--K4閉合,控制 D1—D4 亮滅

產(chǎn)生的問(wèn)題:

1、關(guān)于 R8 R9 R7 R10 的阻值選擇問(wèn)題,倘若太大的話, 比如10K 不管開(kāi)關(guān)斷開(kāi)還是閉合,好像都沒(méi)什么用,電阻上部分電流被拉低,一直為低電平,雖然仿真對(duì),但終究有問(wèn)題

倘若選擇一般大,則為灰色,表示電平不確定,最后不得已選擇 20Ω 電阻,電平可以確定,開(kāi)關(guān)閉合,電平拉低,那么實(shí)際電路中, 電阻的取值究竟怎樣呢????

2、需要掌握 按位與 的用法

參加運(yùn)算的兩個(gè)數(shù)據(jù),按二進(jìn)制位進(jìn)行“與”運(yùn)算。

運(yùn)算規(guī)則:0&0=0; 0&1=0; 1&0=0; 1&1=1;

即:兩位同時(shí)為“1”,結(jié)果才為“1”,否則為0

例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。

參考程序如下以及電路圖:

#include《reg52.h》

#include《intrins.h》

#define uchar8 unsigned char

#define uint16 unsigned int

#define LED P1

/*****************************/

// 函數(shù)名稱: DelayMS( )

// 函數(shù)功能: 延時(shí)

// 入口函數(shù): 延時(shí)毫秒

// 出口函數(shù): 無(wú)

/************************* *******************/

void DelayMs(uint16 val)

{

uint16 i,j;

for( i=0;i《val;i++)

for(j=0;j《113;j++);

}

void main()

{

while(1)

{

uchar8 temp;

LED=0xff; // P1.1—P1.3 置1 高電平 ,LED熄滅 ,高四位默認(rèn)高電平,作為輸入

temp=P1&0xf0; // 讀 P1口 ,并且屏蔽其低四位,送入temp

temp=temp》》4; // temp內(nèi)容 右移四位,也就是說(shuō) P1口高4位狀態(tài)移動(dòng)至低四位 ,兩者狀態(tài)一樣

LED=temp; // temp 的數(shù)據(jù)送 P1口輸出

DelayMs(1000);

}

}

開(kāi)關(guān)檢測(cè)案例二:

參考程序代碼:(目的: 通過(guò) K1 K2 按鍵的組合00 01 10 11 來(lái)控制 LED 的燈的亮滅)

#include《reg52.h》

#include《intrins.h》

#define uchar8 unsigned char

#define uint16 unsigned int

#define LED P1

void main()

{

uchar8 state;

do

{

P2=0xff; // 設(shè)置 P2口輸入

state=P2; // 讀 P2口的狀態(tài),送入 state

state=state&0x03; // 屏蔽 高6位

switch(state)

{

case 0 : LED=0xFE;break; // 14 0x0e 1110

case 1: LED=0xFD;break; // 13 0x0d 1101

case 2: LED=0xFB;break; // 11 0x0b 1011

case 3: LED=0xF7;break; // 7 0x07 0111

}

}while(1);

}

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

    關(guān)注

    85

    文章

    5344

    瀏覽量

    170819
  • 電路圖
    +關(guān)注

    關(guān)注

    10288

    文章

    10707

    瀏覽量

    523859
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1588

    瀏覽量

    107396
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開(kāi)關(guān)控制led

    各位大俠,求助,我是新手,關(guān)于一個(gè)開(kāi)關(guān)控制led的問(wèn)題,就是我按一下
    發(fā)表于 08-04 08:54

    請(qǐng)問(wèn)一下怎樣通過(guò)檢測(cè)按鍵狀態(tài)來(lái)控制LED?

    什么是按鍵開(kāi)關(guān)?按鍵開(kāi)關(guān)由哪幾部分組成?按鍵開(kāi)關(guān)有哪些優(yōu)勢(shì)?怎樣通過(guò)檢測(cè)按鍵狀態(tài)來(lái)控制LED
    發(fā)表于 07-06 07:06

    gpio是如何去控制led

    gpio是如何去控制led?如何去編寫(xiě)其主要代碼程序?
    發(fā)表于 08-04 06:28

    如何通過(guò)檢測(cè)按鍵狀態(tài)來(lái)控制LED?

    如何通過(guò)檢測(cè)按鍵狀態(tài)來(lái)控制LED?
    發(fā)表于 10-28 09:06

    如何實(shí)現(xiàn)對(duì)LED控制

    #include***it led=P2^0;void delay()//延時(shí)函數(shù),實(shí)現(xiàn)對(duì)LED
    發(fā)表于 11-23 08:14

    linux控制LED的方法

    對(duì)應(yīng)nLED_1,nLED_2,nLED_4,所以代碼里面操作GPF4-GPF6就可以控制LED
    發(fā)表于 12-16 06:12

    如何利用Stduino通過(guò)按鍵控制LED

    2020/01/06 星期一作者:Astilbe問(wèn)題:如何利用Stduino通過(guò)按鍵控制LED。我們已經(jīng)學(xué)習(xí)過(guò)怎么點(diǎn)亮一顆
    發(fā)表于 01-05 07:52

    怎樣通過(guò)中斷來(lái)實(shí)現(xiàn)開(kāi)關(guān)控制LED

    怎樣通過(guò)中斷來(lái)實(shí)現(xiàn)開(kāi)關(guān)控制LED呢?其控制
    發(fā)表于 01-20 07:21

    LED和亮度控制

    LED和亮度控制
    發(fā)表于 03-28 14:24 ?42次下載

    如何實(shí)現(xiàn)對(duì)LED控制的詳細(xì)資料概述

    這節(jié)課,我們學(xué)習(xí)了通過(guò)MakerPanda-ONE主控板的數(shù)字端口實(shí)現(xiàn)對(duì)LED控制,了解LED
    發(fā)表于 07-23 08:00 ?7次下載

    EXTI:通過(guò)按鍵中斷控制led

    介紹EXTI的使用方法及基本原理并且包括實(shí)驗(yàn)通過(guò)按鍵中斷控制led
    發(fā)表于 11-23 18:06 ?27次下載
    EXTI:通過(guò)按鍵中斷<b class='flag-5'>控制</b><b class='flag-5'>led</b><b class='flag-5'>燈</b><b class='flag-5'>亮</b><b class='flag-5'>滅</b>

    通過(guò)matter協(xié)議控制LED

    本文檔旨在演示開(kāi)關(guān)通過(guò)matter協(xié)議來(lái)做到對(duì)控制。視頻不涉及前期環(huán)境的搭建。
    發(fā)表于 06-14 16:44 ?1525次閱讀
    通過(guò)matter協(xié)議<b class='flag-5'>控制</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>的<b class='flag-5'>亮</b><b class='flag-5'>滅</b>

    使用串口控制LED

    我們知道串口通信可以讓單片機(jī)和電腦進(jìn)行數(shù)據(jù)交換。那么是否可以用串口來(lái)控制LED呢?當(dāng)然是可以的。首先需要保證串口能正常通信,然后是連接
    的頭像 發(fā)表于 10-11 11:45 ?1.3w次閱讀

    基于51單片機(jī)的PWM控制LED設(shè)計(jì)資料源程序

    基于51單片機(jī)的PWM控制LED設(shè)計(jì)資料源程序
    發(fā)表于 04-27 15:09 ?22次下載

    stm32按鍵控制led

    stm32按鍵控制led? 在嵌入式系統(tǒng)中,硬件按鍵常常被用作開(kāi)關(guān)輸入,
    的頭像 發(fā)表于 09-02 17:05 ?9572次閱讀