欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機PWM控制直流電機代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:157795 發表于 2017-3-21 09:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <reg52.h>

  2. //--定義使用的IO口--//
  3. sbit PWM=P1^0;

  4. //--定義一個全局變量--//
  5. unsigned char timer1;

  6. void Time1Config();

  7. /*******************************************************************************
  8. * 函 數 名       : main
  9. * 函數功能                 : 主函數
  10. * 輸    入       : 無
  11. * 輸    出       : 無
  12. *******************************************************************************/

  13. void main(void)
  14. {
  15.         Time1Config();
  16.         while(1)
  17.         {
  18.                 if(timer1>100)  //PWM周期為100*0.5ms
  19.                 {
  20.                         timer1=0;
  21.                 }
  22.                 if(timer1 < 30)        //改變30這個值可以改變直流電機的速度
  23.                 {
  24.                         PWM=1;
  25.                 }
  26.                 else
  27.                 {
  28.                         PWM=0;
  29.                 }
  30.         }
  31.         

  32. }

  33. /*******************************************************************************
  34. * 函 數 名       : Time1Config
  35. * 函數功能                 : 設置定時器
  36. * 輸    入       : 無
  37. * 輸    出       : 無
  38. *******************************************************************************/

  39. void Time1Config()
  40. {
  41.         TMOD|= 0x10;   //設置定時計數器工作方式1為定時器

  42.         //--定時器賦初始值,12MHZ下定時0.5ms--//  
  43.         TH1 = 0xFE;
  44.         TL1 = 0x0C;

  45.         
  46.         ET1 = 1;          //開啟定時器1中斷
  47.         EA = 1;
  48.         TR1 = 1;         //開啟定時器        
  49. }

  50. /*******************************************************************************
  51. * 函 數 名       : Time1
  52. * 函數功能                 : 定時器1的中斷函數
  53. * 輸    入       : 無
  54. * 輸    出       : 無
  55. *******************************************************************************/

  56. void Time1(void) interrupt 3    //3 為定時器1的中斷號  1 定時器0的中斷號 0 外部中斷1 2 外部中斷2  4 串口中斷
  57. {
  58.         TH1 = 0xFE;  //重新賦初值
  59.         TL1 = 0x0C;
  60.         timer1++;   
  61. }

復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表