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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)pwm設(shè)計(jì)案例

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:991158 發(fā)表于 2021-12-12 11:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include<reg51.h>


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

  4. uchar time;
  5. double count=26;        //定義占空比,并初始占空比為26%
  6. sbit PWM=P2^0;      //P2^0口輸出PWM
  7. sbit key_add=P3^4;   //電機(jī)加速的按鍵 的I/O口
  8. sbit key_dec=P3^5;   //電機(jī)減速的按鍵 的I/O口


  9. /************函數(shù)聲明**************/
  10. void delayxms(uint z); //延時(shí)
  11. void Motor_add();          //電機(jī)加速,即增加占空比
  12. void Motor_dec();           //電機(jī)減速,即減少占空比
  13. void timer0_init();                //定時(shí)器0初始化

  14. /*********主函數(shù)********************/
  15. void main()
  16. {         
  17.         timer0_init();
  18.         delayxms(5);
  19.         while(1)
  20.         {
  21.          Motor_add();
  22.          Motor_dec();
  23.         }
  24. }

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


  32. void Motor_add()  //電機(jī)加速
  33. {
  34.   if(key_add==0)
  35.   {
  36.           delayxms(2); //此處時(shí)間不能太長(zhǎng),否者會(huì)的中斷產(chǎn)生沖突
  37.   if(key_add==0)
  38.   {
  39.           count+=0.5;        //每按一次加速按鍵占空比加0.5
  40.    if(count>=32)            //限定占空比上限
  41.         {
  42.          count=32;
  43.         }
  44.   }
  45.         while(!key_add);
  46.   }
  47. }

  48. void Motor_dec()//電機(jī)減速
  49. {
  50. if(key_dec==0)
  51. {
  52.   delayxms(2);//此處時(shí)間不能太長(zhǎng),否者會(huì)的中斷產(chǎn)生沖突
  53.   if(key_dec==0)
  54.   {
  55.           count-=0.5;                 //每按一次減速按鍵占空比減0.5
  56.    if(count<=25)    //限定占空比下限
  57.    {
  58.         count=25;
  59.    }
  60.   }
  61.         while(!key_dec);
  62.    }
  63. }

  64. /***********定時(shí)器0初始化***********/
  65. void timer0_init()
  66. {
  67.   TMOD=0x01; //定時(shí)器0工作于方式1
  68.   TH0=(65536-10)/256;
  69.   TL0=(65536-10)%256;
  70.   TR0=1;
  71.   ET0=1;
  72.   EA=1;
  73. }

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


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产三级一区 | 性色av一区二区三区 | 欧美日韩中文字幕在线 | 国产a视频| 饥渴放荡受np公车奶牛 | 国产主播av| 黄色免费片 | 日本www视频 | 日韩欧美在线观看视频 | 91禁蘑菇在线看 | 黄色一节片 | 国产黄av | 国产日韩免费 | 欧美激情综合 | 国语av | 成人婷婷| 日韩精品一二区 | 国产免费一区 | 欧美国产综合 | av在线一区二区三区 | 成人在线免费观看网站 | 亚洲第一伊人 | 日韩中文字幕精品 | 精品一区二区三区在线观看 | 黄视频网站在线观看 | 窝窝午夜精品一区二区 | 在线免费av网站 | 欧美一级片免费 | 激情一区二区三区 | 蜜桃视频成人 | 欧美视频区 | 国产精品成人国产乱一区 | 四虎在线免费视频 | 张津瑜国内精品www在线 | 欧美bbb | 日韩精品视频在线播放 | 久久av片 | 国产精品久久一区 | 在线观看黄色小视频 | 五月激情综合网 | 亚洲欧美综合另类 |