找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

码盘计数小车

[复制链接]
admin 发表于 2012-9-2 10:45:42 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
# include <reg52.h>
sbit P1_0=P1^0;
sbit P1_1=P1^1;
int a2=0;// 右轮脉冲周期变量 最大值为40
int b2=20;// 右轮脉冲占空比初始化为50%
int a1=0; // 同上
int b1=20;
// unsigned char k2;
int flag=0; // 计数器数值比较大小的标志位
void delay( )// 延时1ms
{
int i;
for(i=0;i<110;i++);
}
jiance1()// 检测函数
{ int temp3;
int temp4;
int temp31;
int k2;
while(1)
{
temp3=TH1;
temp4=TL1;
temp31=TH1;
if(temp3==temp31)
break;
}
k2=((8<<temp3)|temp4);
TH1=(65536-50*1000)/256;
TL1=(65536-50*1000)%256;
return(k2);
}
jiance2()// 检测函数
{ int temp1;
int temp2;
int temp11;
int k1;
while(1)
{
temp1=TH0;
temp2=TL0;
temp11=TH0;
if(temp1==temp11)
break;
}
k1=((8<<temp1)|temp2);
TL0=(65536-50*1000)%256;
TH0=(65536-50*1000)/256;
return(k1);
}
void bijiao()
{
int zuoma,youma;
zuoma=jiance2();
youma=jiance1();
if(zuoma<youma) // 右轮码盘齿数值大于左轮齿数值
{
b1=b1+10;//调节左轮脉冲 占空比(增大)
flag=1;
if(b1>39)
b1=20;

}
if(zuoma>youma)// 右轮码盘齿数值小于左轮齿数值
{
b2=b2+10; //调节右轮脉冲 占空比(增大)
flag=0;
if(b2>39)
b2=20;

}
}
void pwmzuo()// 左轮脉冲函数
{
//int m=40;

while(a1<40)
{
a1++;
//if(a1>39)// pwm周期为40ms
// a1=0;
if(a1<b1)
P1_1=1;
else
P1_1=0;
delay();
//if(a1==m)
//break;
}
a1=0;
}
void pwmyou()
{
//int n=40;
while(a2<40)
{
a2++;
//if(a2>39)
//a2=0;
if(a2<b2)
P1_0=1;
else
P1_0=0;
delay();
///if(a2==40)

//a2=0;

//break;
}
a2=0;
}
void chuli( )// 标志位的处理函数 依据判断结果调用相应脉冲函数 调节左右轮转速
{
switch (flag)
{
case 0 : pwmyou(); break;
case 1 : pwmzuo(); break;
}
}
void main()
{
int a2=0;// 右轮脉冲周期变量 最大值为40
int b2=20;// 右轮脉冲占空比初始化为50%
int a1=0; // 同上
int b1=20;
// unsigned char k2;
int flag=0; // 计数器数值比较大小的标志位
TMOD|=0X05;
TH0=(65536-50*1000)/256;// 计数器清零
TL0=(65536-50*1000)%256;//
TR0=1;
TMOD|=0X50;
TH1=(65536-50*1000)/256;
TL1=(65536-50*1000)%256;
TR1=1;
while(1)
{
jiance1();
jiance2();
bijiao();
chuli();
}
}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-24 17:33 , Processed in 0.054133 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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