资源简介
基于51的直流电机pwm控制
pwm波形由软件生成。
可调速,控制方向。

代码片段和文件信息
/*以下是一段产生占空比为20%的脉冲信号的c51程序,我想电机转速*/
/*对应于一定的占空比,如果你要改变占空比,可能需要建立一个对应*/
/*于不同转速的参数表(如定时器初值等),查表*/
/*得到不同参数,以改变占空比和转速。你用什么驱动电路?*/
/*采用6MHz晶振,在P1.0脚上输出周期为2.5s占空比为20%的脉冲信号*/
/*定时100ms周期2.5s需25次中断,高电平0.5s需5次中断*/
#include
typedef unsigned char uchar;
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
sbit P0_3=P0^3;
sbit P2_0=P2^0;
sbit P2_1=P2^1;
uchar time=0;
uchar period=25;
uchar high=10;
uchar th1=0;
uchar tl1=0;
uchar th0=0;
uchar tl0=0;
void timer0() interrupt 1 using 1
{
TH0=0x3c; /*定时器初值重装载*/
TL0=0xb0;
//TH0=0xc3;/*定时器初值重装载*/
//TL0=0x50;
time++;
if(time==high) /*高电平持续时间结束,变低*/
{ P2_0=tl0;
P2_1=tl1;
}
else if(time==period) /*周期时间到,变高*/
{ time=0;
P2_0=th0;
P2_1=th1;
}
}
void main()
{
TMOD=0x01; /*定时器0方式1*/
TH0=0x3c; /*定时器装载初值,设置脉冲信号的占空比为1/5*/
TL0=0xb0;
//TH0=0xc3;/*定时器装载初值设置脉冲信号的占空比为4/5*/
//TL0=0x50;
EA=1; /*开CPU中断*/
ET0=1; /*开定时器0中断*/
TR0=1;/*启动定时器0*/
if(P0_2==1)
{
th0=1;
tl0=0;
th1=0;
tl1=0;
}
if(P0_3==1)
{
th0=0;
tl0=0;
th1=1;
tl1=0;
}
while(1) /*等待中断*/
{}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 113379 2007-08-15 22:52 PWM_motor\Last Loaded PWM_motor.DBK
文件 4476 2007-08-15 22:47 PWM_motor\PWM
文件 911 2007-08-15 22:47 PWM_motor\PWM.hex
文件 50 2007-08-15 22:47 PWM_motor\PWM.lnp
文件 7556 2007-08-15 22:47 PWM_motor\PWM.M51
文件 1496 2007-08-20 10:32 PWM_motor\PWM.Opt
文件 189 2007-08-24 11:46 PWM_motor\PWM.plg
文件 2169 2007-08-15 22:44 PWM_motor\PWM.Uv2
文件 1895 2007-08-14 22:37 PWM_motor\PWM_motor.c
文件 113379 2007-08-15 22:52 PWM_motor\PWM_motor.DSN
文件 4263 2007-08-14 22:37 PWM_motor\PWM_motor.LST
文件 3385 2007-08-14 22:37 PWM_motor\PWM_motor.OBJ
文件 189 2007-08-14 16:56 PWM_motor\PWM_motor.plg
文件 1078 2006-01-29 13:12 PWM_motor\PWM_motor.PWI
文件 2184 2007-08-15 22:47 PWM_motor\PWM_motor_test.c
文件 5808 2007-08-15 22:47 PWM_motor\PWM_motor_test.LST
文件 4332 2007-08-15 22:47 PWM_motor\PWM_motor_test.OBJ
文件 1365 2007-08-18 22:05 PWM_motor\PWM_Opt.Bak
文件 2169 2007-08-15 22:31 PWM_motor\PWM_Uv2.Bak
文件 6376 2005-03-22 15:22 PWM_motor\STARTUP.A51
文件 14062 2007-08-15 22:47 PWM_motor\STARTUP.LST
文件 758 2007-08-15 22:47 PWM_motor\STARTUP.OBJ
文件 138 2007-08-14 22:18 PWM_motor\test.c
文件 1131 2007-08-15 09:50 PWM_motor\test.LST
文件 2293 2007-08-15 09:50 PWM_motor\test.OBJ
文件 3237662 2006-01-29 13:12 PWM_motor\电路.bmp
目录 0 2009-02-27 13:49 PWM_motor
----------- --------- ---------- ----- ----
3532693 27
............此处省略0个文件信息
- 上一篇:TCPIP原理与应用课后答案
- 下一篇:Unity3d实现的十字路口的模拟
相关资源
- F28335无刷直流电机开闭环控制
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 带有死区延时的H桥直流电机驱动电路
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- SG3525频率PWM控制均可调模块
- 51单片机控制舵机程序
- 永磁直流电机设计软件
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 直流伺服电机电路原理图(内附单片
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- 基于51单片机的计算器(C51编写,有
评论
共有 条评论