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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

自創電風扇調速系統(僅按鍵選擇三種速度-函數調用)含單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:421582 發表于 2018-11-15 15:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
風速選擇(僅按鍵選擇三種速度-函數調用),目前并不完善,還望高手們指點。

單片機源程序如下:
  1. /***********************************************************
  2. 文件名:FanSpeedControl.c
  3. 作者:  Puqingmin
  4. 描述:  風扇的風速選擇控制(按鍵"SPEED/ON"選擇三種速度)
  5. ***********************************************************/
  6.   #include <reg51.h>                                                                    //包含頭文件
  7.   
  8.   sbit P3_0=P3^0;                                                                             //P3.0引腳控制風扇高速運行
  9.   sbit P3_1=P3^1;                                                                         //P3.1引腳控制風扇中速運行
  10.   sbit P3_3=P3^3;                                                                             //P3.3引腳控制風扇低速運行

  11.   sbit P1_7=P1^7;                                                     //定義可位尋址的變量P1_7                                 
  12.   sbit P3_5=P3^5;                                                                               //定義可位尋址的變量P3_5
  13.   sbit P3_7=P3^7;                                                                                                 //定義可位尋址的變量P3_7

  14.   #define SpeedOrONChoiceKey  ((P1_7==1)&&(P3_5==1)&&(P3_7==0))         //宏定義“風扇開及風速選擇”按鍵
  15.   #define FanOffKey                   ((P1_7==0)&&(P3_5==1)&&(P3_7==1))         //宏定義“風扇關”按鍵
  16.                                                                                                 


  17.   unsigned char  FlagSpeedChoice=0;                                             //定義風速選擇控制變量
  18.   unsigned int   Counter=0;                                                 //定義全局變量用于計數

  19. /**********************************************************
  20. 函數名:Delay_ms
  21. 描述:  延時kms子程序  
  22. 輸入:  無
  23. 輸出:  無
  24. 返回:  無
  25. **********************************************************/
  26. void Delay_ms(unsigned int k)                        
  27. {
  28.         unsigned char i;
  29.         while(k--)
  30.         {
  31.                 for(i=0;i<125;i++);        
  32.         }                                                                                             
  33. }
  34. /**********************************************************
  35. 函數名:KeyChoiceControl
  36. 描述:  按鍵掃描函數  
  37. 輸入:  無
  38. 輸出:  無
  39. 返回:  無
  40. **********************************************************/
  41. void KeyChoiceControl(void)
  42. {
  43.             /*----以下程序掃描“SPEED/ON”鍵----*/
  44.             if(SpeedOrONChoiceKey)                                                  //“SPEED/ON”鍵被按下
  45.             {
  46.               Delay_ms(10);                                                                 //延時10ms
  47.               if(SpeedOrONChoiceKey)                                                 //再次判斷風速調節鍵是否被按下
  48.               {
  49.                while(SpeedOrONChoiceKey);                                 //等待按鍵松開
  50.                    ++FlagSpeedChoice;
  51.                    if(FlagSpeedChoice>3)
  52.                       FlagSpeedChoice=1;
  53.               }
  54.             }
  55. }
  56. /**********************************************************
  57. 函數名:FanSpeedControl
  58. 描述:  速度選擇控制函數  
  59. 輸入:  無
  60. 輸出:  無
  61. 返回:  無
  62. **********************************************************/
  63. void FanSpeedControl(void)
  64. {

  65.             /*----以下程序選擇風扇的速度----*/
  66.            switch(FlagSpeedChoice)
  67.            {
  68.               case 1:
  69.                   {
  70.                         P3_3=0;
  71.                                 P3_1=1;
  72.                                 P3_0=1;
  73.                         break;
  74.                   }
  75.                   case 2:
  76.                   {
  77.                               P3_3=1;
  78.                                 P3_1=0;
  79.                                 P3_0=1;        
  80.                         break;
  81.                   }
  82.                   case 3:
  83.                   {
  84.                                   P3_3=1;
  85.                                 P3_1=1;
  86.                                 P3_0=0;        
  87.                         break;   
  88.               }
  89.            }
  90. }
  91. /**********************************************************
  92. 函數名:main
  93. 描述:  主函數  
  94. 輸入:  無
  95. 輸出:  無
  96. 返回:  無
  97. **********************************************************/
  98.   void main(void)
  99.   {
  100.          P3=0xFF;                                                                               //初始化P3口
  101.          P1=0xFF;                                                                               //初始化P1口
  102.          while(1)
  103.          {
  104.            KeyChoiceControl();
  105.            FanSpeedControl();
  106.          }
  107.   }
復制代碼

所有資料51hei提供下載:
風速選擇(僅按鍵選擇三種速度-函數調用)-3.zip (13.27 KB, 下載次數: 47)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:458240 發表于 2019-1-4 02:06 | 只看該作者
謝謝樓主的分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久在线 | 亚洲精品一二三 | 在线观看www | 亚洲综合无码一区二区 | 天天插天天操 | av男人的天堂av | 国产在线观 | 香蕉av免费| 国产 欧美 日韩 一区 | 亚洲国产精品网站 | 久久国产精品一区 | 久久精品欧美一区二区三区不卡 | 91秦先生艺校小琴 | 国产高清在线精品 | 国产成人精品免费视频大全最热 | 国产成人免费视频网站高清观看视频 | 亚洲国产精品区 | 一级片视频免费 | 国产精品久久久久久久午夜 | 国产亚洲精品久久19p | 欧美又大粗又爽又黄大片视频 | 国产精品久久久久久久午夜片 | 在线免费看黄 | 国产欧美在线播放 | 国产一区二区在线免费观看 | 天堂在线www | 欧美激情黄色 | 国产精品91久久久久久 | 午夜伦理影院 | 亚洲一区二区三区在线播放 | 精品国产91| 国产精品久久久久久久久久久久午夜片 | 男女午夜免费视频 | 成人黄视频在线观看 | 久久精品国产精品青草 | 精品少妇一区二区三区在线播放 | 狠狠做深爱婷婷综合一区 | 免费午夜剧场 | 亚洲成人av| 国产欧美精品一区二区色综合朱莉 | 操到爽 |