资源简介
本例程利用2051的T0产生双路PWM信号,推动L293D或L298N为直流电机调速,程序已通过调试。接L298N时相应的管脚上最好接上10K的上拉电阻
代码片段和文件信息
/* =======直流电机的PWM速度控制程序======== */
/* 纬东工作室 robots51.51.net 2006年6月 */
/* 晶振采用11.0592M产生的PWM的频率约为91Hz */
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit en1=P1^0; /* L298的Enable A */
sbit en2=P1^1; /* L298的Enable B */
sbit s1=P1^2; /* L298的Input 1 */
sbit s2=P1^3; /* L298的Input 2 */
sbit s3=P1^4; /* L298的Input 3 */
sbit s4=P1^5; /* L298的Input 4 */
uchar t=0; /* 中断计数器 */
uchar m1=0; /* 电机1速度值 */
uchar m2=0; /* 电机2速度值 */
uchar tmp1tmp2; /* 电机当前速度值 */
/* 电机控制函数 index-电机号(12); speed-电机速度(-100—100) */
void motor(uchar index char speed)
{
if(speed>=-100 && speed<=100)
{
if(index==1) /* 电机1的处理 */
{
m1=abs(s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2645 2006-06-04 00:17 PWM2.c
----------- --------- ---------- ----- ----
2645 1
评论
共有 条评论