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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2417|回復: 1
打印 上一主題 下一主題
收起左側

單片機4個獨立按鍵控制4led輸出狀態源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:295154 發表于 2018-3-21 18:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. /*-----------------------------------------------
  2.   名稱:4個獨立按鍵控制4led輸出狀態
  3.   內容:按一次按鍵,led點亮,再按一次熄滅,以此循環
  4. ------------------------------------------------*/
  5. #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義

  6. sbit KEY1=P3^1;   //定義led輸出端口     
  7. sbit KEY2=P3^2;
  8. sbit KEY3=P3^3;
  9. sbit KEY4=P3^4;

  10. sbit LED1=P1^0;
  11. sbit LED2=P1^1;
  12. sbit LED3=P1^2;
  13. sbit LED4=P1^3;

  14. void DelayUs2x(unsigned char t);//函數聲明
  15. void DelayMs(unsigned char t);
  16. /*------------------------------------------------
  17.                     主函數
  18. ------------------------------------------------*/
  19. void main (void)
  20. {

  21. KEY1=1;
  22. KEY2=1;
  23. KEY3=1;
  24. KEY4=1;     //按鍵輸入端口電平置高
  25. while (1)         //主循環
  26.   {

  27.   if(!KEY1)  //如果檢測到低電平,說明按鍵按下
  28.     {
  29.          DelayMs(10); //延時去抖,一般10-20ms
  30.      if(!KEY1)     //再次確認按鍵是否按下,沒有按下則退出
  31.            {
  32.         while(!KEY1);//如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待
  33.                {
  34.                LED1=!LED1;//釋放則執行需要的程序
  35.                          }
  36.            }
  37.         }
  38.   if(!KEY2)  //如果檢測到低電平,說明按鍵按下
  39.     {
  40.          DelayMs(10); //延時去抖,一般10-20ms
  41.      if(!KEY2)     //再次確認按鍵是否按下,沒有按下則退出
  42.            {
  43.         while(!KEY2);//如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待
  44.                {
  45.                LED2=!LED2;//釋放則執行需要的程序
  46.                          }
  47.            }
  48.         }
  49.   if(!KEY3)  //如果檢測到低電平,說明按鍵按下
  50.     {
  51.          DelayMs(10); //延時去抖,一般10-20ms
  52.      if(!KEY3)     //再次確認按鍵是否按下,沒有按下則退出
  53.            {
  54.         while(!KEY3);//如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待
  55.                {
  56.                LED3=!LED3;//釋放則執行需要的程序
  57.                          }
  58.            }
  59.         }
  60.     if(!KEY4)  //如果檢測到低電平,說明按鍵按下
  61.     {
  62.          DelayMs(10); //延時去抖,一般10-20ms
  63.      if(!KEY4)     //再次確認按鍵是否按下,沒有按下則退出
  64.            {
  65.         while(!KEY4);//如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待
  66.                {
  67.                LED4=!LED4;//釋放則執行需要的程序
  68.                          }
  69.            }
  70.         }
  71.         //主循環中添加其他需要一直工作的程序
  72.       
  73.   }
  74. }
  75. /*------------------------------------------------
  76. uS延時函數,含有輸入參數 unsigned char t,無返回值
  77. unsigned char 是定義無符號字符變量,其值的范圍是
  78. 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
  79. 長度如下 T=tx2+5 uS
  80. ------------------------------------------------*/
  81. void DelayUs2x(unsigned char t)
  82. {   
  83. while(--t);
  84. }
  85. /*------------------------------------------------
  86. mS延時函數,含有輸入參數 unsigned char t,無返回值
  87. unsigned char 是定義無符號字符變量,其值的范圍是
  88. 0~255 這里使用晶振12M,精確延時請使用匯編
  89. ------------------------------------------------*/
  90. void DelayMs(unsigned char t)
  91. {

  92. while(t--)
  93. {
  94.      //大致延時1mS
  95.      DelayUs2x(245);
  96.          DelayUs2x(245);
  97. }
  98. }


復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:112693 發表于 2018-8-31 23:12 | 只看該作者
謝謝分享!@!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色激情毛片 | 欧美国产日韩一区二区三区 | 亚洲精品国产第一综合99久久 | 国产日韩欧美激情 | 成人片免费看 | 欧美日韩成人在线 | 亚洲va在线va天堂va狼色在线 | 欧美久久久久久久久中文字幕 | 欧美一级片在线看 | 亚洲一区在线日韩在线深爱 | 国产一区免费 | 特级做a爰片毛片免费看108 | 国产成人精品久久二区二区91 | 欧美日韩综合一区 | 国产三区在线观看视频 | 在线观看第一区 | 国产精品久久一区二区三区 | 日韩欧美中文字幕在线观看 | 亚洲日韩中文字幕一区 | 在线视频成人 | 中文字幕二区 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品99久久久久久动医院 | 欧美精品福利 | 亚洲一区二区三区桃乃木香奈 | 日韩一区二区福利视频 | 操操日 | 亚洲一区二区三区免费观看 | 亚洲美女视频 | 国产精品久久久久久久久久 | 午夜视频在线观看视频 | 日韩中文字幕一区 | 久久亚洲精品国产精品紫薇 | 亚洲精品68久久久一区 | 久久久久久久国产 | 国产精品爱久久久久久久 | 婷婷久久综合 | 日本黄色一级视频 | 国产视频线观看永久免费 | 午夜伦4480yy私人影院 | 女人精96xxx免费网站p |