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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4794|回復: 33
打印 上一主題 下一主題
收起左側

這種按一下亮,再按一下滅的單片機程序,大家寫過么?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:299519 發(fā)表于 2022-7-17 09:16 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
參考圖片。

51hei截圖20220717091605.png (11.8 KB, 下載次數(shù): 124)

51hei截圖20220717091605.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:332444 發(fā)表于 2022-7-17 11:06 | 只看該作者
這樣電路無法實現(xiàn),當?shù)碗娖綍r點亮則再無法檢測按鍵操作,高電平時是可以檢測按鍵按下操作。
回復

使用道具 舉報

板凳
ID:299519 發(fā)表于 2022-7-17 11:40 | 只看該作者
xianfajushi 發(fā)表于 2022-7-17 11:06
這樣電路無法實現(xiàn),當?shù)碗娖綍r點亮則再無法檢測按鍵操作,高電平時是可以檢測按鍵按下操作。

編程實現(xiàn)呀,如果純硬件的話,還要單片機作甚。。
回復

使用道具 舉報

地板
ID:88256 發(fā)表于 2022-7-17 12:21 | 只看該作者
myemcu 發(fā)表于 2022-7-17 11:40
編程實現(xiàn)呀,如果純硬件的話,還要單片機作甚。。

單片機是可以編程,但是還是得符合單片機的工作要求啊,沙發(fā)都告訴你不行了還爭辯
回復

使用道具 舉報

5#
ID:299519 發(fā)表于 2022-7-17 12:25 | 只看該作者
hhdsdy 發(fā)表于 2022-7-17 12:21
單片機是可以編程,但是還是得符合單片機的工作要求啊,沙發(fā)都告訴你不行了還爭辯

人家項目已經(jīng)量產了,就是采用的這種方案。。
回復

使用道具 舉報

6#
ID:99525 發(fā)表于 2022-7-17 12:30 | 只看該作者
扔掉單片機,按鈕改成自鎖按鈕!
回復

使用道具 舉報

7#
ID:884147 發(fā)表于 2022-7-17 12:36 | 只看該作者
編程完全可以實現(xiàn),要加限流電阻,每間隔10mS置端口高電平檢測按鍵,有鍵按下改變狀態(tài),無按鍵恢復狀態(tài)。就是在發(fā)光管關閉的瞬間檢測按鍵狀態(tài)

評分

參與人數(shù) 1黑幣 +21 收起 理由
wpppmlah + 21 贊一個!

查看全部評分

回復

使用道具 舉報

8#
ID:299519 發(fā)表于 2022-7-17 12:47 | 只看該作者
雪玉寐影 發(fā)表于 2022-7-17 12:30
扔掉單片機,按鈕改成自鎖按鈕!

項目要具有可擴展需求,比如再加個閃爍狀態(tài)啥的。
回復

使用道具 舉報

9#
ID:299519 發(fā)表于 2022-7-17 12:55 | 只看該作者
mtdzok 發(fā)表于 2022-7-17 12:36
編程完全可以實現(xiàn),要加限流電阻,每間隔10mS置端口高電平檢測按鍵,有鍵按下改變狀態(tài),無按鍵恢復狀態(tài)。就 ...

還要用內部Timer?
回復

使用道具 舉報

10#
ID:121859 發(fā)表于 2022-7-17 13:09 | 只看該作者
這個電路只能實現(xiàn)按下亮,抬起滅。要實現(xiàn)按一下亮再按一下滅,無法實現(xiàn)。除非你的LED和按鍵分開用不同的IO口。
回復

使用道具 舉報

11#
ID:827243 發(fā)表于 2022-7-17 13:22 | 只看該作者
雪玉寐影 發(fā)表于 2022-7-17 12:30
扔掉單片機,按鈕改成自鎖按鈕!

這個才是正解,怎么方便怎么來。
回復

使用道具 舉報

12#
ID:213173 發(fā)表于 2022-7-17 13:30 | 只看該作者
myemcu 發(fā)表于 2022-7-17 12:25
人家項目已經(jīng)量產了,就是采用的這種方案。。

沙發(fā)說得沒錯。一個IO口復用于LED和按鍵當然可以,但要有硬件條件支持的。樓主這個圖是有缺陷的,有損毀IO口的風險。



回復

使用道具 舉報

13#
ID:299519 發(fā)表于 2022-7-17 13:53 | 只看該作者
wulin 發(fā)表于 2022-7-17 13:30
沙發(fā)說得沒錯。一個IO口復用于LED和按鍵當然可以,但要有硬件條件支持的。樓主這個圖是有缺陷的,有損毀I ...

Proteus不用過多考慮電氣特性,僅考慮邏輯實現(xiàn)即可,就像單片機最小系統(tǒng)一樣,都不用外加復位和時鐘啥的,直接設置就行。
回復

使用道具 舉報

14#
ID:884147 發(fā)表于 2022-7-17 14:49 | 只看該作者

用不用定時器隨意,本身按鍵就要加防抖,利用防抖延時即可,定時不要求準,太短了沒必要,太長了不易檢測到按鍵。實際就是發(fā)光管亮時是間斷顯示,是肉眼看不出來的,在熄滅瞬間檢測按鍵。在邏輯上和電器參數(shù)上都是沒有問題的。
回復

使用道具 舉報

15#
ID:299519 發(fā)表于 2022-7-17 16:43 | 只看該作者
daemondong 發(fā)表于 2022-7-17 13:22
這個才是正解,怎么方便怎么來。

見8樓,老板會讓你這么干?
回復

使用道具 舉報

16#
ID:213173 發(fā)表于 2022-7-17 17:16 | 只看該作者
myemcu 發(fā)表于 2022-7-17 13:53
Proteus不用過多考慮電氣特性,僅考慮邏輯實現(xiàn)即可,就像單片機最小系統(tǒng)一樣,都不用外加復位和時鐘啥的 ...

不考慮其它因素,此功能很容易實現(xiàn)。

  1. #include<reg52.h>
  2. typedef unsigned char uchar;
  3. typedef unsigned int uint;

  4. sbit key=P3^7;

  5. bit LED;

  6. void Delay_ms(uint t)
  7. {
  8.         uint i,j;
  9.         for(i=t;i>0;i--)
  10.                 for(j=120;j>0;j--);
  11. }

  12. void main()
  13. {
  14.         LED=key;
  15.         while(1)
  16.         {
  17.                 key=1;
  18.                 if(!key)
  19.                 {
  20.                         LED=~LED;
  21.                         while(!key);
  22.                 }
  23.                 key=LED;
  24.                 Delay_ms(1);
  25.         }
  26. }

復制代碼



回復

使用道具 舉報

17#
ID:299519 發(fā)表于 2022-7-17 17:28 | 只看該作者
wulin 發(fā)表于 2022-7-17 17:16
不考慮其它因素,此功能很容易實現(xiàn)。

判鍵不能采用阻塞方式。
回復

使用道具 舉報

18#
ID:213173 發(fā)表于 2022-7-17 17:40 | 只看該作者
myemcu 發(fā)表于 2022-7-17 17:28
判鍵不能采用阻塞方式。

示例只是給你一個邏輯關系的驗證,按鍵處理方式請自行補課。
回復

使用道具 舉報

19#
ID:8222 發(fā)表于 2022-7-17 17:45 | 只看該作者
當LED這時,IO口低電平,你如何檢測開關動作?再說你的LED直接接IO口中,會燒掉單片機的。
回復

使用道具 舉報

20#
ID:299519 發(fā)表于 2022-7-17 17:50 | 只看該作者
wulin 發(fā)表于 2022-7-17 17:40
示例只是給你一個邏輯關系的驗證,按鍵處理方式請自行補課。

阻塞和非阻塞的區(qū)別還是很大滴。。
回復

使用道具 舉報

21#
ID:299519 發(fā)表于 2022-7-17 17:54 | 只看該作者
溫xyz 發(fā)表于 2022-7-17 17:45
當LED這時,IO口低電平,你如何檢測開關動作?再說你的LED直接接IO口中,會燒掉單片機的。

Proteus純屬邏輯驗證,邏輯通過后,到了電氣設計環(huán)節(jié)時,該加啥就加啥。
回復

使用道具 舉報

22#
ID:88256 發(fā)表于 2022-7-17 19:33 | 只看該作者
myemcu 發(fā)表于 2022-7-17 17:54
Proteus純屬邏輯驗證,邏輯通過后,到了電氣設計環(huán)節(jié)時,該加啥就加啥。

不是我想杠,畫一個電阻這么難嗎?自己1樓就直接說了“參考圖片”,大家看圖的接法說是不行有什么錯?(很多初學者還是會忘了要加限流電阻)還說了已經(jīng)量產了
回復

使用道具 舉報

23#
ID:299519 發(fā)表于 2022-7-17 22:42 | 只看該作者
hhdsdy 發(fā)表于 2022-7-17 19:33
不是我想杠,畫一個電阻這么難嗎?自己1樓就直接說了“參考圖片”,大家看圖的接法說是不行有什么錯?( ...

Proteus實沒必要畫這個,又不是非要AD制板,那么機械作甚。
回復

使用道具 舉報

24#
ID:739610 發(fā)表于 2022-7-17 23:11 | 只看該作者
可以實現(xiàn)這個功能 就是不斷的改變改變這個引腳的輸入輸出狀態(tài)  輸入時判斷引腳狀態(tài) 輸出時實際是脈沖驅動LED  圖是一回事 限流電阻是要加的
回復

使用道具 舉報

25#
ID:161164 發(fā)表于 2022-7-17 23:22 | 只看該作者
myemcu 發(fā)表于 2022-7-17 17:50
阻塞和非阻塞的區(qū)別還是很大滴。。

非阻塞




回復

使用道具 舉報

26#
ID:299519 發(fā)表于 2022-7-18 08:42 | 只看該作者
我也想了一種:
  1. while(1)
  2. {
  3.         if(KY)
  4.         {
  5.    delay(1000);
  6.          if(!KY)
  7.    {
  8.     k_flag=1;
  9.                 d_Flag++;
  10.                 if(d_Flag>2)
  11.                  d_Flag=0;       
  12.    }          
  13.   }
  14.        
  15.         if(k_flag)       
  16.         {
  17.    k_flag=0;
  18.        
  19.          switch(d_Flag)
  20.          {
  21.                 case 0: D1= 0; break;
  22.                 case 1: D1 =1; break;
  23.                 case 2: for(i=0;i<6;i++)
  24.                         {
  25.                                                         D1 = !D1;
  26.                                                         delay(20000);
  27.                                                 }
  28.                 default:break;
  29.          }
  30.   }        
  31. }         
復制代碼
回復

使用道具 舉報

27#
ID:965189 發(fā)表于 2022-7-18 08:55 | 只看該作者
用定時器中斷脈沖驅動這個IO口,在高電平期間檢測這個端口,如果是低電平,就是按下了按鍵。每次取反一次輸出狀態(tài)。
回復

使用道具 舉報

28#
ID:698558 發(fā)表于 2022-7-18 09:10 | 只看該作者
myemcu 發(fā)表于 2022-7-17 11:40
編程實現(xiàn)呀,如果純硬件的話,還要單片機作甚。。

他這個圖,輸入和輸出同一個引腳怎么實現(xiàn)啊
回復

使用道具 舉報

29#
ID:299519 發(fā)表于 2022-7-18 11:23 | 只看該作者
zhangxl 發(fā)表于 2022-7-18 09:10
他這個圖,輸入和輸出同一個引腳怎么實現(xiàn)啊

參考26樓。
回復

使用道具 舉報

30#
ID:130230 發(fā)表于 2022-7-18 11:53 | 只看該作者
定時檢測按鍵,剩下時間驅動led。分時執(zhí)行就可以了,利用led的視覺殘留效應可以做到。
回復

使用道具 舉報

31#
ID:332444 發(fā)表于 2022-7-19 14:11 | 只看該作者
myemcu 發(fā)表于 2022-7-17 11:40
編程實現(xiàn)呀,如果純硬件的話,還要單片機作甚。。

那反問一下,難道提問之前就沒在本論壇搜索過有這樣的提問和例子?去看看這樣例子是哪年的了!
這樣電路無法實現(xiàn),當?shù)碗娖綍r點亮則再無法檢測按鍵操作,高電平時是可以檢測按鍵按下操作。這樣的拋磚引玉反問看不懂也罷了。
回復

使用道具 舉報

32#
ID:824490 發(fā)表于 2022-7-19 16:17 | 只看該作者
電路做些修改,軟件再規(guī)劃一下可以實現(xiàn)你說的功能,

基本原則樓上的都 說了,分時運行LED驅動和按鍵檢測。
回復

使用道具 舉報

33#
ID:299519 發(fā)表于 2022-7-19 17:17 | 只看該作者
名字不是重點 發(fā)表于 2022-7-19 16:17
電路做些修改,軟件再規(guī)劃一下可以實現(xiàn)你說的功能,

基本原則樓上的都 說了,分時運行LED驅動和按鍵檢測 ...

我用的不是這種方法。
回復

使用道具 舉報

34#
ID:195496 發(fā)表于 2022-7-20 09:06 | 只看該作者
分時驅動的方法可以實現(xiàn)這種功能
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合一区二区三区 | 人人鲁人人莫人人爱精品 | 天天干天天插天天 | 亚洲视频中文字幕 | 欧美一区二区免费 | 天天干b | 日韩三片| 色一阁| 中文字幕 亚洲一区 | 欧美成人激情 | 91电影在线播放 | 久久大 | 日韩淫片免费看 | 在线免费观看毛片 | 第一色在线| 人人爽人人爽 | 狠狠插天天干 | 国产精品久久久久久久久久妞妞 | 7777在线视频 | 色又黄又爽网站www久久 | 国产视频精品在线观看 | 浴室洗澡偷拍一区二区 | 日韩欧美一区二区在线播放 | 亚洲成av | www亚洲免费国内精品 | 久久久高清| av三级| 天天操夜夜看 | 中文字幕在线视频网站 | 精品国产欧美 | 91精品无人区卡一卡二卡三 | 欧美精品综合在线 | 一区二区日本 | 青春草国产 | 久久久免费在线观看 | 毛片区| 男女视频免费 | 在线午夜 | 亚洲国产欧美91 | 综合在线视频 | 欧美日韩久久精品 |