找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4093|回复: 1
打印 上一主题 下一主题
收起左侧

PWM调速(直流电机)控制程序

[复制链接]
跳转到指定楼层
楼主


单片机源程序如下:
  1. /*******************************************************************************
  2. --------------------------------------------------------------------------------
  3. * 实 验 名                 : PWM调速直流电机试验
  4. * 实验说明       : 使用PWM输出控制直流电机的转速
  5. * 连接方式       : 见连接图
  6. * 注    意                 :
  7. *******************************************************************************/

  8. #include <reg52.h>

  9. //--定义使用的IO口--//
  10. sbit PWM=P1^0;

  11. //--定义一个全局变量--//
  12. unsigned char timer1;

  13. void Time1Config();

  14. /*******************************************************************************
  15. * 函 数 名       : main
  16. * 函数功能                 : 主函数
  17. * 输    入       : 无
  18. * 输    出       : 无
  19. *******************************************************************************/

  20. void main(void)
  21. {
  22.         Time1Config();
  23.         while(1)
  24.         {
  25.                 if(timer1>100)  //PWM周期为100*0.5ms
  26.                 {
  27.                         timer1=0;
  28.                 }
  29.                 if(timer1 < 30)        //改变30这个值可以改变直流电机的速度
  30.                 {
  31.                         PWM=1;
  32.                 }
  33.                 else
  34.                 {
  35.                         PWM=0;
  36.                 }
  37.         }
  38.        

  39. }

  40. /*******************************************************************************
  41. * 函 数 名       : Time1Config
  42. * 函数功能                 : 设置定时器
  43. * 输    入       : 无
  44. * 输    出       : 无
  45. *******************************************************************************/

  46. void Time1Config()
  47. {
  48.         TMOD|= 0x10;   //设置定时计数器工作方式1为定时器

  49.         //--定时器赋初始值,12MHZ下定时0.5ms--//  
  50.         TH1 = 0xFE;
  51.         TL1 = 0x0C;

  52.        
  53.         ET1 = 1;          //开启定时器1中断
  54.         EA = 1;
  55.         TR1 = 1;         //开启定时器       
  56. }

  57. /*******************************************************************************
  58. * 函 数 名       : Time1
  59. * 函数功能                 : 定时器1的中断函数
  60. * 输    入       : 无
  61. ……………………

  62. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
直流电机.zip (1.19 MB, 下载次数: 72)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:738241 发表于 2020-4-26 09:51 | 只看该作者
不错不错呢,很详细
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表