欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開(kāi)始

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

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

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

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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ù)

使用道具 舉報(bào)

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

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ù)

使用道具 舉報(bào)

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ù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表