单片机源程序如下:
- /*******************************************************************************
- --------------------------------------------------------------------------------
- * 实 验 名 : PWM调速直流电机试验
- * 实验说明 : 使用PWM输出控制直流电机的转速
- * 连接方式 : 见连接图
- * 注 意 :
- *******************************************************************************/
- #include <reg52.h>
- //--定义使用的IO口--//
- sbit PWM=P1^0;
- //--定义一个全局变量--//
- unsigned char timer1;
- void Time1Config();
- /*******************************************************************************
- * 函 数 名 : main
- * 函数功能 : 主函数
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- void main(void)
- {
- Time1Config();
- while(1)
- {
- if(timer1>100) //PWM周期为100*0.5ms
- {
- timer1=0;
- }
- if(timer1 < 30) //改变30这个值可以改变直流电机的速度
- {
- PWM=1;
- }
- else
- {
- PWM=0;
- }
- }
-
- }
- /*******************************************************************************
- * 函 数 名 : Time1Config
- * 函数功能 : 设置定时器
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- void Time1Config()
- {
- TMOD|= 0x10; //设置定时计数器工作方式1为定时器
- //--定时器赋初始值,12MHZ下定时0.5ms--//
- TH1 = 0xFE;
- TL1 = 0x0C;
-
- ET1 = 1; //开启定时器1中断
- EA = 1;
- TR1 = 1; //开启定时器
- }
- /*******************************************************************************
- * 函 数 名 : Time1
- * 函数功能 : 定时器1的中断函数
- * 输 入 : 无
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
直流电机.zip
(1.19 MB, 下载次数: 72)
|