亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 單片機(jī)程序 按鍵不占用中斷 不使用延時(shí) 沒有死循環(huán) 不占用任何資源 [打印本頁]

作者: 3wjkdhus    時(shí)間: 2024-5-3 18:59
標(biāo)題: 單片機(jī)程序 按鍵不占用中斷 不使用延時(shí) 沒有死循環(huán) 不占用任何資源
壇友的不占用中斷 不使用延時(shí)  沒有死循環(huán)!!!不占用任何資源。親測(cè)可用



單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit LED1= P3^4;
  6. sbit LED2 = P3^5;
  7. sbit LED3= P3^6;
  8. sbit LED4  = P3^7;
  9. sbit key1 =P1^4;
  10. sbit key2 =P1^5;

  11. /*不占用中斷 不使用延時(shí)  沒有死循環(huán)!!!不占用任何資源
  12. 這個(gè)按鍵檢測(cè)程序我在20年前網(wǎng)上看到過。當(dāng)時(shí)沒有試用。今又看到這個(gè)單片機(jī)代碼。于是決定測(cè)試一下*/
  13. unsigned char num,trg1=0, trg2=0,cont1=0,cont2=0;//一定是全局變量
  14. //unsigned char


  15. unsigned key1scan()
  16. {
  17. unsigned char a=!key1;//網(wǎng)上是異或運(yùn)算a=key1^0x01,對(duì)于一位按鍵可以直接寫成取反
  18. trg1= a&(a^cont1);
  19. cont1=a;
  20. if(trg1&!key1) //網(wǎng)上是(trg1&key1)實(shí)際測(cè)試不能使用!!因?yàn)槿魏螘r(shí)候都不可能為真。只有改成(trg1&!key1)才可以完美執(zhí)行!!!
  21. //return 1;//返回等于1 表示按鍵按下。
  22. {
  23. //此處可以是自己需要執(zhí)行的程序。(去掉前面的返回)
  24.         LED1=~LED1;//按一次亮按一次滅
  25. }

  26. }


  27. unsigned key2scan()
  28. {
  29. unsigned char a=!key2;//網(wǎng)上是異或運(yùn)算a=key2^0x01,對(duì)于一位按鍵可以直接寫成取反
  30. trg2= a&(a^cont2);
  31. cont2=a;
  32. if(trg2&!key2)  
  33. //return 1;//返回等于1 表示按鍵按下。
  34. {
  35. //此處可以是自己需要執(zhí)行的程序。(去掉前面的返回)
  36.         LED2=~LED2; //按一次亮按一次滅
  37. }

  38. }

  39. void main()
  40. {
  41.         P3=0XFF;
  42.         P1=0XFF;
  43. while(1)
  44. {
  45.   key1scan(); //每次按下按鍵只會(huì)執(zhí)行一次,按鍵不放開絕對(duì)不會(huì)重復(fù)執(zhí)行。
  46.   {
  47.     //自己的程序。
  48.   }

  49.   key2scan(); //每次按下按鍵只會(huì)執(zhí)行一次,按鍵不放開絕對(duì)不會(huì)重復(fù)執(zhí)行。
  50.   {
  51.   }

  52. }

  53. }
復(fù)制代碼



作者: hxszrb    時(shí)間: 2024-5-3 22:54
有時(shí)間試試
作者: lsh04    時(shí)間: 2024-5-3 23:02
P13接地看不懂!
作者: 18689719961    時(shí)間: 2024-5-4 08:06
lsh04 發(fā)表于 2024-5-3 23:02
P13接地看不懂!

P13接地,K14  K15按鍵開關(guān)就接地了。
作者: yyzf998    時(shí)間: 2024-5-4 09:58
lsh04 發(fā)表于 2024-5-3 23:02
P13接地看不懂!

P14.P15.P6.P17這4個(gè)按鍵做獨(dú)立按鍵使用
作者: 3wjkdhus    時(shí)間: 2024-5-4 10:22
18689719961 發(fā)表于 2024-5-4 08:06
P13接地,K14  K15按鍵開關(guān)就接地了。

是的,懶得放開關(guān)了直接放一個(gè)地線端子,這樣子1.4/1.5/1.6/1.7按鈕就是低電平有效,我只用了1.4/1.5
作者: bd5fna    時(shí)間: 2024-6-2 17:12
請(qǐng)教一下,如果分長(zhǎng)按和短按,怎么操作。




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1