资源简介
基于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实现的十字路口的模拟
相关资源
- 直流电机的PWM控制 基于VHDL语言,详细
- ISD1700语音芯片 51单片机程序
- 矩阵键盘简易计算器Keil+proteus仿真.
- 基于51单片机的电机调速代码
- 51单片机12864显示波形程序
- 传送带产品计数器的设计LCD显示51单片
- FPGA\\基于FPGA的温度检测和PWM风冷系统
- 基于单片机的心型灯设计.rar
- 51单片机控制GSM模块发短信程序
- 基于51单片机的简易频率计程序
- 用SST89系列单片机读取SD卡与TLC5620播放
- 基于51单片机矩阵键盘的实现含仿真原
- 用51单片机驱动DS1302时间模块+DS18B20温
- 51单片机与PS2鼠标C程序带滚轮识别,
- 单片机产生SPWM设计报告
- 组态王与51单片机ASCII通信
- 基于51单片机的两轮平衡车程序
- 基于51单片机的RFID智能门禁系统源码
- 基于51单片机的电子密码锁源码+电路
- 51单片机超声波测距数码管显示
- 51单片机超声波测距1602LCD显示
- 51单片机+tlc5615+信号发生器正弦波 方
- 电能收集充电器 51单片机实现
- 51单片机超声波测距HC-SR04程序
- 51单片机小车巡线L298N驱动
- 基于51单片机的多路温湿度实时监测的
- silicon 单片机 PWM 马达控制
- 51单片机实现的485通讯程序
- 利用51单片机来完成频率测量的程序
- 八路抢答器代码
评论
共有 条评论