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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 424|回復: 7
收起左側

單片機按鍵控制程序問題

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

1.png
2.png
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

ID:1118951 發表于 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. }
復制代碼
回復

使用道具 舉報

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

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;//
                }
        }
        ///////////////////////////
}
回復

使用道具 舉報

ID:1133081 發表于 2025-5-23 07:27 | 顯示全部樓層
0426 發表于 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;
        }
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产精品一区二区三区 | 久久国产精品色av免费观看 | 一级毛片视频在线观看 | 精品一二区| 玖玖在线精品 | av中文字幕在线 | 国产高清自拍视频在线观看 | 久久性| 久久精品久久久 | 国产午夜影院 | 蜜臀网| 欧美男人天堂 | 人人亚洲 | 日韩欧美一级片 | 国产资源一区二区三区 | 日本小电影在线 | 看a网站| 精品一区在线 | 中文字幕电影在线观看 | av一级一片| 国产在线a| 粉嫩一区二区三区性色av | 一级免费毛片 | 中文字幕成人av | 九九久久在线看 | 日韩免费成人av | 在线视频 亚洲 | 国产欧美视频一区 | 一级免费在线视频 | 97日日碰人人模人人澡分享吧 | 91视频大全 | 亚洲精品免费观看 | 久久久久久久久久久丰满 | 一区二区三区在线播放 | 羞羞视频网站在线观看 | 亚洲一区二区三区免费观看 | 国产日韩欧美电影 | 精品区一区二区 | 天天操夜夜看 | 国产美女免费视频 | 男女激情网|