栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

xunji01

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

xunji01

#include
typedef unsigned int u16;
typedef unsigned char u8;




sbit ENB = P1^7;   //左电机使能
sbit IN1 = P1^6;   //为0左轮反转
sbit IN2 = P1^5;   //为0左轮正转

sbit IN3 = P1^3;   //为0右轮反转
sbit IN4 = P1^4;   //为0右轮正转
sbit ENA = P1^2;   //右点机使能

sbit BEEP=P1^0;

//left1,left2,right1,right2
//P22		P23 P24		P25
sbit MidLeft=P2^0;
sbit MidRight=P2^1;
sbit left1 = P2^2;
sbit left2 = P2^3;
sbit right1 = P2^4;
sbit right2 = P2^5;

u8 PWMCnt1 = 0;
u8 PWMCnt2 = 0;
u8 cntPWM1 = 0;
u8 cntPWM2 = 0;

u8 timeflag=0;
u8 turn90Flag=0;
//定时器0产生PWM,并且测速,测位移,定时器1,产生波特率
void Timer0Init();//定时器0产生PWM
void XunJi();
void TurnRight1()	;	   //右转,左轮速度快,速度差这里设置70-55
void TurnRight2()	;	   //右转
void TurnLeft1();				//左转
void TurnLeft2();				//左转
void Backward();				 //后退
void Stop();					  //停止
void Forward();
void delayms(unsigned int tms)
{
	unsigned int i,j;
	for(i=0;i<100;i++)
	{
		for(j=0;j= 200)//50us*200=10 000us=10ms
	{
		PWMCnt1 = 0;
	}
	if(PWMCnt1 <= cntPWM1)
	{
		ENA = 1;
	}
	else
	{
		ENA = 0;
	}

	if(PWMCnt2 >= 200)
	{
		PWMCnt2 = 0;
	}
	if(PWMCnt2 <= cntPWM2)
	{
		ENB = 1;
	}
	else
	{
		ENB = 0;
	}

//	TH0 = (65536 - 50)/256;//50us
//	TL0 = (65536 - 50)%256;
	TH0 = 0xFF;//等价于上面的两行,减小计算量
	TL0 = 0xA3;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290378.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号