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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3926|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機pwm按鍵輸出

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:358700 發(fā)表于 2018-7-15 19:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
放暑假無聊就寫了個給一個學(xué)弟學(xué)習(xí),也適合新手
每一行都有代碼注釋
  1. #include<reg51.h>                                  //定義單片機庫函數(shù)      


  2. #define uint unsigned int                    //定義無符號整形
  3. #define uchar unsigned char                        //定義無符號字節(jié)型                                 


  4. uchar time;                   //計算中間變量
  5. double count=20;        //定義占空比,并初始占空比為20%
  6. sbit PWM=P2^0;      //P2^0口輸出PWM
  7. sbit key_add=P3^4;   //電機加速的按鍵 的I/O口
  8. sbit key_dec=P3^5;   //電機減速的按鍵 的I/O口




  9. /************函數(shù)聲明**************/
  10. void delayxms(uint z); //延時
  11. void pwm_add();          //pwm加,即增加占空比
  12. void pwm_dec();           //pwm減,即減少占空比
  13. void timer0_init();                //定時器0初始化


  14. /*********主函數(shù)********************/
  15. void main()
  16. {         
  17.         timer0_init();           //定時器初始化
  18.         delayxms(5);        //延時
  19.         while(1)
  20.         {         pwm_add();           //pwm加
  21.              pwm_dec();           //pwm減
  22.         }
  23. }


  24. /****************延時處理**********************/
  25. void delayxms(uint z) //延時xms程序
  26. {
  27.     uint x,y;
  28.         for(y=z;x>0;x--)
  29.                 for(y=110;y>0;y--);
  30. }


  31. /****************pwm加**********************/
  32. void pwm_add()  //電機加速
  33. {
  34.   if(key_add==0)
  35.   {
  36.           delayxms(2); //此處時間不能太長,否者會的中斷產(chǎn)生沖突
  37.   if(key_add==0)
  38.   {
  39.           count+=5;        //每按一次加速按鍵占空比加0.5
  40.    if(count>=100)            //限定占空比上限
  41.         {
  42.          count=100;
  43.         }
  44.   }
  45.         while(!key_add);  //松手檢測
  46.   }
  47. }
  48. /****************pwm減**********************/
  49. void pwm_dec()//電機減速
  50. {
  51. if(key_dec==0)
  52. {
  53.   delayxms(2);//此處時間不能太長,否者會的中斷產(chǎn)生沖突
  54.   if(key_dec==0)
  55.   {
  56.           count-=5;                 //每按一次減速按鍵占空比減0.5
  57.    if(count<=0)    //限定占空比下限
  58.    {
  59.         count=0;
  60.    }
  61.   }
  62.         while(!key_dec);//松手檢測
  63.    }
  64. }


  65. /***********定時器0初始化***********/
  66. void timer0_init()
  67. {
  68.   TMOD=0x01; //定時器0工作于方式1
  69.   TH0=(65536-200)/256;                //設(shè)置100hz
  70.   TL0=(65536-200)%256;
  71.   TR0=1;                                         //打開定時器0
  72.   ET0=1;                                         //打開中斷0
  73.   EA=1;                                                   //打開總中斷
  74. }


  75. /**************定時0中斷處理******************/
  76. void timer0_int() interrupt 1
  77. {
  78.       
  79.   TR0=0;    //設(shè)置定時器初值期間,關(guān)閉定時器
  80.   TH0=(65536-10)/256;                //設(shè)置100hz
  81.   TL0=(65536-10)%256;
  82.   TR0=1;                                           //打開定時器0
  83.          
  84.   time++;                                        //計算中間變量
  85.   if(time<count)          //count為占空比
  86.   {
  87.         PWM=1;           //輸出高電平
  88.   }
  89.   else
  90.         PWM=0;      
  91.   if(time>=100)
  92.   {
  93.         time=0;
  94.   }
  95. }
復(fù)制代碼



評分

參與人數(shù) 1黑幣 +30 收起 理由
天才小能貓 + 30

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:162590 發(fā)表于 2018-7-16 23:18 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

板凳
ID:63317 發(fā)表于 2019-7-15 05:36 | 只看該作者
謝謝分享資料
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费黄色录像视频 | 亚洲精品黄色 | 青青草综合| 午夜影院在线观看视频 | 精品九九九| 别c我啊嗯国产av一毛片 | 99国产精品久久久久久久 | 国产一级一片免费播放 | 97精品一区二区 | 91网在线观看| 99视频免费播放 | 欧美日韩在线一区二区三区 | 欧美性大战xxxxx久久久 | 中文字幕高清av | 日日操夜夜操视频 | 男人的天堂一级片 | 久久久久久国产精品免费免费男同 | 国产精品高潮呻吟久久av黑人 | 欧美在线观看一区 | 日日做夜夜爽毛片麻豆 | 蜜桃传媒一区二区 | 亚洲视频免费播放 | 91啪亚洲精品| 欧美日韩综合视频 | 久久人爽 | 男女网站免费 | 国产日韩精品视频 | 亚洲欧美视频 | 91亚洲精选| 男人天堂网av | 国产黄色在线 | 亚洲精品九九 | 国产成人免费视频 | 欧洲一区视频 | 亚洲 中文 欧美 日韩 在线观看 | 国内精品视频在线观看 | 99在线免费观看视频 | 在线免费观看毛片 | 午夜精品久久久久久 | 91视频中文 | 精品一区二区三区四区在线 |