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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 319|回復(fù): 7
收起左側(cè)

單片機(jī)按鍵控制程序問題

[復(fù)制鏈接]
ID:1118951 發(fā)表于 2025-5-20 16:10 | 顯示全部樓層 |閱讀模式
我的按鍵處理程序,本來設(shè)計的是第一次按下走20mm、第二次按下走15mm,現(xiàn)在第一次按下走20mm之后自動走了15mm,求助我的程序是哪里有問題

1.png
2.png
回復(fù)

使用道具 舉報

ID:1023753 發(fā)表于 2025-5-20 17:14 | 顯示全部樓層
很明顯按鍵檢測有問題,邏輯不太對
回復(fù)

使用道具 舉報

ID:1023753 發(fā)表于 2025-5-20 17:16 | 顯示全部樓層
按鍵檢測程序有問題,
回復(fù)

使用道具 舉報

ID:1144713 發(fā)表于 2025-5-21 09:27 | 顯示全部樓層
按鍵沒有防抖動,按下一次,單片機(jī)掃描過快,判斷按鍵按下不止一次,不是自動走的
回復(fù)

使用道具 舉報

ID:592807 發(fā)表于 2025-5-21 11:06 | 顯示全部樓層
1你的按鍵邏輯很有問題。K1_jishuqi只有++沒有--,只有自增沒有自減,一旦長按超過 3S就會失效,而且也沒有起到軟件濾波的作用,硬件上你有沒有做硬件濾波,如果也沒有的話,你這個按鍵程序基本廢了,輕輕碰一下,她接收到一個誤觸發(fā)信號就會工作
2就是你的  if(ChannelSet++ >= 2){ChannelSet = 0;}這個邏輯很有問題啊。在這個邏輯下ChannelSet能是0或者是1或者2 .但是你的想法里貌似只有兩個按鍵效果
3一般很少見到 K1 == 1用來判讀按鍵按下的, K1 == 0用來判斷按鍵彈起的。你看下硬件別搞反了。
回復(fù)

使用道具 舉報

ID:1118951 發(fā)表于 2025-5-22 17:13 | 顯示全部樓層
  1. void mianban_Key(void)
  2. {
  3.         static u8 K1cnt1=0,K1cnt2=0;
  4.         if(K1_KEY)//IO
  5.         {
  6.                 if(++K1cnt2 > 2)
  7.                 {
  8.                         K1cnt2=3;
  9.                         K1cnt1 = 0;                       
  10.                         K1 = 0; //
  11.                 }
  12.         }
  13.         else
  14.         {
  15.                 if(++K1cnt1 > 2)
  16.                 {
  17.                         K1cnt1 = 3;
  18.                         K1cnt2=0;
  19.                         K1 = 1;//
  20.                 }
  21.         }
  22.         ///////////////////////////
  23. }
復(fù)制代碼
回復(fù)

使用道具 舉報

ID:1118951 發(fā)表于 2025-5-22 17:14 | 顯示全部樓層
小點(diǎn)點(diǎn)1 發(fā)表于 2025-5-21 09:27
按鍵沒有防抖動,按下一次,單片機(jī)掃描過快,判斷按鍵按下不止一次,不是自動走的

void mianban_Key(void)
{
        static u8 K1cnt1=0,K1cnt2=0;
        if(K1_KEY)//IO
        {
                if(++K1cnt2 > 2)
                {
                        K1cnt2=3;
                        K1cnt1 = 0;                       
                        K1 = 0; //
                }
        }
        else
        {
                if(++K1cnt1 > 2)
                {
                        K1cnt1 = 3;
                        K1cnt2=0;
                        K1 = 1;//
                }
        }
        ///////////////////////////
}
回復(fù)

使用道具 舉報

ID:1133081 發(fā)表于 2025-5-23 07:27 | 顯示全部樓層
0426 發(fā)表于 2025-5-22 17:14
void mianban_Key(void)
{
        static u8 K1cnt1=0,K1cnt2=0;

void mianban_Key(void)//10ms掃描周期
{
        static u8 count=0;
        static bit sign=0;

        if(!K1_KEY)//IO
        {
                if(++count >= 2)&&(sign==0)
                {
                        sign=1;
                        K1=++K1%2;
                }
        }
        else
        {
                count=0;
                sign=0;
        }
}
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 青青草视频网 | 99久久精品国产一区二区三区 | 99精品国产一区二区青青牛奶 | 懂色一区二区三区免费观看 | 欧美国产精品一区二区 | 中文字幕视频在线 | 一级片视频免费 | 青青草视频网站 | 91在线精品一区二区 | a精品视频 | 大象视频一区二区 | 日韩国产免费 | 都市激情亚洲 | 91网站视频在线观看 | 日本不卡一区二区三区在线观看 | 亚洲成人播放器 | 国产精品成人一区二区三区夜夜夜 | 久久剧场 | 国产在线一区观看 | 久久久久www | 中日字幕大片在线播放 | 成人无遮挡毛片免费看 | 二区在线视频 | 国产一区二区三区免费观看在线 | 国产精品欧美一区喷水 | 亚洲成网站 | 中文字幕精品一区二区三区精品 | av影音| 日韩中文字幕一区二区 | 国产精品美女 | 国产中文在线观看 | 99精品网| 成人h视频在线观看 | 欧美日韩国产精品一区 | 国产96色在线 | 农夫在线精品视频免费观看 | 国产精品亚洲第一区在线暖暖韩国 | 日韩一区二区三区在线观看 | 亚洲一区二区三区在线播放 | 日韩中出 | 国产精品高清在线 |