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

標題: 基于單片機計時器實現的按鍵長按功能無法正常使用 [打印本頁]

作者: 李小蟲    時間: 2024-2-20 14:07
標題: 基于單片機計時器實現的按鍵長按功能無法正常使用
我的設想是在按鍵按下時按鍵計時的標志量清零,然后一秒加一,按鍵抬起時記錄時間數據判斷,超過兩秒即為長按,執行語句,但是代碼寫出來按按鍵沒有用,下面是代碼段這個是按鍵讀取的單片機代碼,按下按鍵flag_key置1,松手變成2
  1. unsigned char read_key()
  2. {
  3.         unsigned char line,row,key_value=0;
  4.         switch (key_sate)
  5.         {
  6.                 case 1:
  7.                 {
  8.                         P33=0;
  9.                         P32=0;
  10.                         P42=1;
  11.                         P44=1;
  12.                         if(P42==0||P44==0)
  13.                         {
  14.                         Delay_ms(5);
  15.                         if(P42==0||P44==0)
  16.                                 {
  17.                                 key_sate=2;
  18.                                 flag_key=1;
  19.                                 }
  20.                         }
  21.                 }
  22.                         break;
  23.                 case 2:
  24.                 {
  25.                         if(P44==0)
  26.                                 line=1;
  27.                         if(P42==0)
  28.                                 line=2;
  29.                         P33=1;
  30.                         P32=1;
  31.                         P42=0;
  32.                         P44=0;
  33.                         if(P33==0)
  34.                                 row=4;
  35.                         if(P32==0)
  36.                                 row=3;
  37.                         key_value=row*10+line;
  38.                         key_sate=3;
  39.                 }
  40.                         break;
  41.                 case 3:
  42.                 {
  43.                         if(P32==1&&P33==1&&P42==0&&P44==0)
  44.                         {
  45.                                         key_sate=1;
  46.                                         flag_key=2;
  47.                         }
  48.                 }
  49.                         break;
  50.         }
  51.         return key_value;
  52. }
復制代碼
然后是定時器計時的代碼,中間有幾句是讀取555頻率的
  1. void timer1_ms() interrupt 3
  2. {
  3.         time_1ms++;
  4.         if(flag_key==1)
  5.         {
  6.                 key_time=0;
  7.                 key_time_1s=0;
  8.         }
  9.         if(time_1ms>=1000)
  10.         {
  11.                 frequency_ne555=count_ne555;
  12.                 count_ne555=0;
  13.                 time_1s++;
  14.                 key_time_1s++;
  15.                 time_1ms=0;
  16.         }
  17.         if(flag_key==2)
  18.         {
  19.                 key_time=key_time_1s;
  20.         }
  21. }
復制代碼
最后就是判斷長按的,然后執行的代碼段
  1. void mod_re_time()
  2. {
  3.         unsigned char i,time_h_1,time_m_1,count_1;
  4.         time_h_1=time_h;
  5.         time_m_1=time_m;
  6.         count_1=count;
  7.         if(key==31)
  8.         {
  9.                 mod_re++;
  10.                 if(mod_re>=4)
  11.                         mod_re=1;
  12.         }
  13.         if(key==32)
  14.         {
  15.                 if(key_time>=2)
  16.                 {
  17.                 key=0;
  18.                 count=0;
  19.                 key_time=0;
  20.                 sum_tem=0;
  21.                 sum_hum=0;
  22.                 ave_tem=0;
  23.                 ave_hum=0;
  24.                 max_tem=0;
  25.                 max_hum=0;
  26.                 key_time_1s=0;
  27.                 }
  28.         }
復制代碼

屏幕截圖 2024-02-20 202359.png (39.87 KB, 下載次數: 94)

按鍵接線

按鍵接線

作者: tyrl800    時間: 2024-2-20 17:11
鍵盤接口電路先畫出來才能檢查程序
作者: wulin    時間: 2024-2-20 19:17
這個示例里有你想要的內容
4位冒號數碼管時鐘 單鍵調時 仿真.rar (128.22 KB, 下載次數: 19)


作者: 李小蟲    時間: 2024-2-20 20:41
tyrl800 發表于 2024-2-20 17:11
鍵盤接口電路先畫出來才能檢查程序

補上了,謝謝提醒了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品久久久久久久久久免费看 | 亚洲一区视频在线 | 久久高清精品 | 香蕉91| 欧美日韩一| 一区二视频 | 亚洲一卡二卡 | 中文字幕在线剧情 | 欧美大片一区二区 | 精品国产欧美一区二区三区成人 | 国产xxx在线观看 | 99久久精品国产一区二区三区 | 91高清视频在线观看 | 日本精品一区二区三区视频 | 一级黄色生活视频 | 国产精品无码久久久久 | 国产视频一二三区 | 成人片网址| 国产一区二区自拍 | 欧美日韩一二三区 | 久久久精品 | 污片在线观看 | 久久中文字幕一区 | 国产日韩欧美一区二区 | 日韩a视频 | 观看av| 国产一区精品 | 欧洲毛片| 91精品国产自产精品男人的天堂 | 国产中文字幕亚洲 | 成人免费福利视频 | 在线国产中文字幕 | 91九色网站 | 久热免费 | av黄色在线 | 国产精品久久久久久婷婷天堂 | 国产精品乱码一二三区的特点 | 热99精品视频 | 中文字幕一区二区三区四区五区 | 免费精品视频一区 | 久久a久久|