久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10977|回復(fù): 18
打印 上一主題 下一主題
收起左側(cè)

怎樣用單片機C語言編寫一個按鈕按一下LED一直亮,再按一下一直滅?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:103131 發(fā)表于 2021-4-22 17:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實現(xiàn),謝謝大家

    用C語言編寫,用一個按鈕和LED燈,按一下一直亮,不滅,然后再按一下就一直滅?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:910466 發(fā)表于 2021-4-22 19:40 | 只看該作者
檢測與按鈕連接的端口是否處于低電平(或者高電平),如果檢測到端口低電平(高電平),就令與led相連的端口高(低)
回復(fù)

使用道具 舉報

板凳
ID:103131 發(fā)表于 2021-4-22 19:45 | 只看該作者
grant110 發(fā)表于 2021-4-22 19:40
檢測與按鈕連接的端口是否處于低電平(或者高電平),如果檢測到端口低電平(高電平),就令與led相連的端 ...

我可以在低電平LED1 = 0 上面給個while()嗎?
回復(fù)

使用道具 舉報

地板
ID:103131 發(fā)表于 2021-4-22 19:46 | 只看該作者
grant110 發(fā)表于 2021-4-22 19:40
檢測與按鈕連接的端口是否處于低電平(或者高電平),如果檢測到端口低電平(高電平),就令與led相連的端 ...

我想要的是有沒有這樣的程序?
回復(fù)

使用道具 舉報

5#
ID:910466 發(fā)表于 2021-4-22 19:52 | 只看該作者
外面就是while(1==key)
回復(fù)

使用道具 舉報

6#
ID:103131 發(fā)表于 2021-4-22 20:27 | 只看該作者
grant110 發(fā)表于 2021-4-22 19:52
外面就是while(1==key)

那就可以一直低電平狀態(tài)?
回復(fù)

使用道具 舉報

7#
ID:910513 發(fā)表于 2021-4-22 20:31 | 只看該作者
goldbirderman 發(fā)表于 2021-4-22 20:27
那就可以一直低電平狀態(tài)?

是的。
while(1==key)
{
GPIO=1;
}
回復(fù)

使用道具 舉報

8#
ID:883167 發(fā)表于 2021-4-22 21:07 | 只看該作者
這個簡單,就直接用檢測按鍵,然后用松鍵檢測(!key),IO口取反即可,例如 D1=~D1
回復(fù)

使用道具 舉報

9#
ID:756277 發(fā)表于 2021-4-22 21:14 | 只看該作者
while(1)
{
    if(0 == KEY)
     {
          delay(15);
          if(0 == KEY)
          {
                 LED =~LED;
          }
      }
}
回復(fù)

使用道具 舉報

10#
ID:103131 發(fā)表于 2021-4-22 21:21 | 只看該作者
林大俠 發(fā)表于 2021-4-22 21:07
這個簡單,就直接用檢測按鍵,然后用松鍵檢測(!key),IO口取反即可,例如 D1=~D1

這個試過了,按鈕放手燈就滅掉
回復(fù)

使用道具 舉報

11#
ID:894154 發(fā)表于 2021-4-23 09:00 | 只看該作者
按鍵防抖后加松手檢測 while(!key);
回復(fù)

使用道具 舉報

12#
ID:723547 發(fā)表于 2021-4-23 09:09 | 只看該作者
goldbirderman 發(fā)表于 2021-4-22 21:21
這個試過了,按鈕放手燈就滅掉

if(key==1)//檢測按下,
{
while(!key);//放開
   led=~led;
}
回復(fù)

使用道具 舉報

13#
ID:909627 發(fā)表于 2021-4-23 09:45 | 只看該作者
按下去之后給一個返回值
回復(fù)

使用道具 舉報

14#
ID:891208 發(fā)表于 2021-4-23 09:51 | 只看該作者
可以用中斷的方法實現(xiàn)。不用中斷的話,用死循環(huán)也行。不同的電路連接方法,編程不一樣
回復(fù)

使用道具 舉報

15#
ID:326430 發(fā)表于 2021-4-23 10:44 | 只看該作者
你用個標志位不就行了,按一下改變一次標志位的值,然后判斷該值控制亮滅。區(qū)分長按,長按不要改變標志位。
回復(fù)

使用道具 舉報

16#
ID:495628 發(fā)表于 2021-4-23 17:06 | 只看該作者
一、如果按鈕使用的是帶自鎖的(可以理解成單刀雙擲開關(guān))
那么就可以檢測按鍵狀態(tài),Key==1.則點亮,若Key==0,則熄滅;

二、如果按鈕使用的是輕觸開關(guān)BUTTON,
方法一:反轉(zhuǎn)法
led=0;   //先給led一個初始值
if(key==1)//按鍵按下,
{
while(!key);//按鍵釋放放開
   led=~led;
}


方法二:中斷法
led=0;   //先給led一個初始值
interrupt key==1;
led=~le
回復(fù)

使用道具 舉報

17#
ID:808700 發(fā)表于 2021-4-23 17:45 | 只看該作者
設(shè)置一個變量,按下一次改變一次變量,根據(jù)變量來控制燈的亮滅
回復(fù)

使用道具 舉報

18#
ID:796531 發(fā)表于 2021-4-23 22:44 | 只看該作者
lxbhcy 發(fā)表于 2021-4-23 17:45
設(shè)置一個變量,按下一次改變一次變量,根據(jù)變量來控制燈的亮滅

我也覺得是這樣,按一次 計數(shù)1 ,第二次計數(shù)2 ,計數(shù)大于2就死循環(huán)不就行了,最好結(jié)合中斷來實現(xiàn)按鍵的檢測

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

19#
ID:569384 發(fā)表于 2021-4-28 11:17 | 只看該作者
按鍵的程序先處理好啊,按一次就處理一次代碼,按鍵掃描也要消抖和做按下提起判斷。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本超碰 | 一级特黄网站 | 999国产精品视频 | 国内成人免费视频 | 欧美在线视频免费 | 成人小视频在线观看 | 99久久国产综合精品麻豆 | 久久久久久久久91 | 天天综合网天天综合色 | 久久精品国产精品青草 | 欧美乱码精品一区二区三区 | 日韩精品一区二区三区 | 国产日产精品一区二区三区四区 | 韩日精品一区 | 欧美日韩一区二区视频在线观看 | 国产美女视频黄a视频免费 国产精品福利视频 | 国产一区二区三区在线 | 夜夜草视频 | 天堂一区二区三区 | 91免费在线 | 国产a视频 | 欧美亚洲视频 | 欧美伊人久久久久久久久影院 | 一区二区三区国产在线观看 | 天天综合网天天综合 | 91美女在线| 91精品久久久久久久久中文字幕 | 中文字幕一区二区在线观看 | 国产欧美一区二区三区日本久久久 | 粉嫩一区二区三区四区公司1 | 中文字幕乱码亚洲精品一区 | 国内精品视频在线观看 | 一区二区高清在线观看 | 日韩欧美在线一区二区 | 狠狠狠| heyzo在线| 国产成人精品免费视频 | 国产成人av免费看 | 日韩久久精品视频 | 免费观看一级视频 | 在线视频三区 |