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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

請(qǐng)教16個(gè)獨(dú)立按鍵控制16個(gè)LED燈互鎖功能程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
請(qǐng)教按圖,16個(gè)獨(dú)立按鍵控制16個(gè)LED燈,實(shí)現(xiàn)互鎖功能,按下K1按鍵后放開LED1點(diǎn)亮,按下K2按鍵后放開LED2點(diǎn)亮LED1熄滅,按下任意一個(gè)按鍵對(duì)應(yīng)的LED燈點(diǎn)亮,原先點(diǎn)亮的LED熄滅的功能程序怎么寫,小白一個(gè),辛苦了

互鎖.PNG (118.37 KB, 下載次數(shù): 15)

互鎖.PNG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2024-6-23 15:17 | 只看該作者
  1. #include <reg52.h>
  2. bit lock = 0;
  3. void main()
  4. {
  5.     while (1)
  6.     {
  7.                 if(P1!=0xff || P3!=0xFF)
  8.                 {
  9.                         if(lock==0)
  10.                         {
  11.                                 lock = 1;
  12.                                 P0=P1;
  13.                                 P1=P3;
  14.                         }
  15.                 }else{
  16.                         lock = 0;
  17.                 }
  18.     }
  19. }

復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +18 收起 理由
QDMLIT + 18

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:1109793 發(fā)表于 2024-6-23 15:30 | 只看該作者
所有按鍵的COM點(diǎn)是懸空的。這怎么搞?
while(1){
if(~P1||~P3){P0=P1;P3=P2;}
}
這樣可以不
回復(fù)

使用道具 舉報(bào)

地板
ID:828160 發(fā)表于 2024-6-23 15:38 | 只看該作者
點(diǎn)亮之前先把所有燈滅了,怎么說就怎么寫呀
回復(fù)

使用道具 舉報(bào)

5#
ID:332444 發(fā)表于 2024-6-23 19:29 | 只看該作者
首先按鍵公共點(diǎn)要接地才是獨(dú)立按鍵電路,控制很簡(jiǎn)單,P1賦值給P0,P3賦值給P2即可,如P1的1引腳按下為低電平,那么,這時(shí)讀取P1的值是1,用1賦值給P0即可,余類推。
回復(fù)

使用道具 舉報(bào)

6#
ID:332444 發(fā)表于 2024-6-24 09:17 | 只看該作者
  1. #include "reg52.h"
  2. void main()
  3. {//緣由http://www.zg4o1577.cn/bbs/dpj-236599-1.html
  4.         unsigned char sy=0,my=0,ls=0;
  5.         while(1)
  6.         {
  7.                 if(P1!=255&&++my==0){ls=P1;P0=ls;}
  8.                 if(P3!=255&&++my==0){ls=P3;P2=ls;}
  9.                 if(P1==255&&P3==255)my=0;//按鍵消抖綜合
  10.         }
  11. }
復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +18 收起 理由
QDMLIT + 18

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

7#
ID:1109793 發(fā)表于 2024-6-24 11:03 | 只看該作者
while(1){
if(~P1||~P3){P0=P1;P2=P3;}
}
不好意思,打錯(cuò)了位置了,軟件模擬了一下,應(yīng)該可以達(dá)到你要的
回復(fù)

使用道具 舉報(bào)

8#
ID:384552 發(fā)表于 2024-6-24 15:35 | 只看該作者
xiaobendan001 發(fā)表于 2024-6-23 15:30
所有按鍵的COM點(diǎn)是懸空的。這怎么搞?
while(1){
if(~P1||~P3){P0=P1;P3=P2;}

按鍵另一端是接地的,圖畫錯(cuò)了
回復(fù)

使用道具 舉報(bào)

9#
ID:384552 發(fā)表于 2024-6-24 15:36 | 只看該作者
xianfajushi 發(fā)表于 2024-6-23 19:29
首先按鍵公共點(diǎn)要接地才是獨(dú)立按鍵電路,控制很簡(jiǎn)單,P1賦值給P0,P3賦值給P2即可,如P1的1引腳按下為低電 ...

公共端是接地的,圖畫錯(cuò)了
回復(fù)

使用道具 舉報(bào)

10#
ID:384552 發(fā)表于 2024-6-24 16:18 | 只看該作者

非常感謝您的付出,仿真時(shí)有個(gè)現(xiàn)象,我再前面沒有描述明白,P1口按鍵從K1開始到K8,對(duì)應(yīng)的P0口D1到D8都能實(shí)現(xiàn)互鎖功能,現(xiàn)象P1.7按鍵K8按下后對(duì)應(yīng)的P2.7D8點(diǎn)亮,再按P3口按鍵K9后對(duì)應(yīng)的P2口D9點(diǎn)亮,此時(shí)P2.7D8不熄滅,程序怎么改,謝謝。

仿真1.PNG (78.07 KB, 下載次數(shù): 16)

仿真1.PNG
回復(fù)

使用道具 舉報(bào)

11#
ID:384552 發(fā)表于 2024-6-24 22:28 | 只看該作者

仿真后發(fā)現(xiàn),按下K9后D8熄滅,D9不亮再按其它按鍵無反應(yīng)。我再前面沒有描述明白,實(shí)驗(yàn)?zāi)康氖前存I從K1開始到K16,對(duì)應(yīng)D1到D16依次互鎖功能,不知程序怎么修改,謝謝。

仿真1.PNG (78.07 KB, 下載次數(shù): 17)

仿真1.PNG

仿真2,按下K9后D8熄滅,D9不亮再按其它按鍵無反應(yīng)。.PNG (80.15 KB, 下載次數(shù): 18)

仿真2,按下K9后D8熄滅,D9不亮再按其它按鍵無反應(yīng)。.PNG
回復(fù)

使用道具 舉報(bào)

12#
ID:384552 發(fā)表于 2024-6-24 23:01 | 只看該作者

按你的程序修改了14行IO口定義,仿真通過了。

仿真1.PNG (78.07 KB, 下載次數(shù): 16)

仿真1.PNG

仿真通過2.PNG (6.35 KB, 下載次數(shù): 18)

仿真通過2.PNG
回復(fù)

使用道具 舉報(bào)

13#
ID:161164 發(fā)表于 2024-6-24 23:34 | 只看該作者
QDMLIT 發(fā)表于 2024-6-24 22:28
仿真后發(fā)現(xiàn),按下K9后D8熄滅,D9不亮再按其它按鍵無反應(yīng)。我再前面沒有描述明白,實(shí)驗(yàn)?zāi)康氖前存I從K1開始 ...

我打錯(cuò)了13行,已修正
  1. #include <reg52.h>
  2. bit lock = 0;
  3. void main()
  4. {
  5.     while (1)
  6.     {
  7.                 if(P1!=0xff || P3!=0xFF)
  8.                 {
  9.                         if(lock==0)
  10.                         {
  11.                                 lock = 1;
  12.                                 P0=P1;
  13.                                 P2=P3;
  14.                         }
  15.                 }else{
  16.                         lock = 0;
  17.                 }
  18.     }
  19. }

復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

14#
ID:332444 發(fā)表于 2024-6-25 09:10 | 只看該作者
QDMLIT 發(fā)表于 2024-6-24 16:18
非常感謝您的付出,仿真時(shí)有個(gè)現(xiàn)象,我再前面沒有描述明白,P1口按鍵從K1開始到K8,對(duì)應(yīng)的P0口D1到D8都能 ...

簡(jiǎn)單,把清零添加到對(duì)應(yīng)的地方即可,如:
                if(P1!=255&&++my==0){P2=255;ls=P1;P0=ls;}
                if(P3!=255&&++my==0){P0=255;ls=P3;P2=ls;}
不用就清零,應(yīng)該想得到,我因?yàn)閷懯纠?讓學(xué)人明白道理即可,其余的該是學(xué)人自己理解并靈活應(yīng)用.
回復(fù)

使用道具 舉報(bào)

15#
ID:332444 發(fā)表于 2024-6-25 09:21 | 只看該作者
我由于懶得去畫電路圖,通常回復(fù)都是隨手拿個(gè)電路就可以寫示例的,然而,也通常學(xué)人不關(guān)注自己提問的部分,卻常常追問與提問無關(guān)的部分,應(yīng)該看我鼠標(biāo)指示的地方就是提問有關(guān)的部分,其他部分不用關(guān)注.



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视频 | 一区二区蜜桃 | 99re国产视频 | 成年人免费看的视频 | 欧美一卡二卡在线 | 国产午夜在线 | 久草中文网 | 国产中文字幕在线观看 | 日韩欧美在线观看视频 | 一区欧美 | 国产精品精品久久久 | 99久久精品国产一区二区三区 | 日韩一区二区三区四区五区六区 | 日韩综合在线播放 | 亚洲精品中文字幕 | 日韩成人免费视频 | 国产精品a免费一区久久电影 | 91久久久精品国产一区二区蜜臀 | 久久综合爱 | 亚洲精品视频观看 | 日本又色又爽又黄的大片 | 欧美日韩专区 | 日韩精品在线免费观看 | 天天操夜夜操 | 日韩欧美在线观看一区 | 精品国产乱码久久久久久丨区2区 | 成人免费在线 | 男人天堂手机在线视频 | 国产91网站在线观看 | 亚洲天堂中文字幕 | 日韩精品一区二区三区在线播放 | 欧美日韩国产在线观看 | 亚洲成人精品一区 | 亚洲风情在线观看 | 欧美日韩成人影院 | 日韩黄色小视频 | 色男人的天堂 | 美女131mm久久爽爽免费 | 中国美女撒尿txxxxx视频 | 人成在线| 精品久久久久久久人人人人传媒 |