基于51单片机的智能物体追踪和遥控车的实现 - - - 雷帅 - 图文(8)

2019-02-28 22:18

智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)

}

if(I_OFFSET>255) I_OFFSET=255;

pwm_kong=P*OFFSET+I_OFFSET+D*D_OFFSET;//PID运算

if(pwm_kong>255)pwm_kong=255;//PWM为8位,总的计数值为0-255

PWM0_set(pwm_kong);

}

else if(OFFSET==0) { zheng=1; fan=1; ting=0; in1=1;

in2=1;//当没有偏差时剎停 in3=0;

in4=0;//防止抖动 } }

//***************************************************************************************

//下面是关于红外遥控模块的功能函数集合 void intersvr1(void) interrupt 2 using 1 //外部中断解码服务子程序 {

Tc=TH0*256+TL0; //提取中断时间间隔时长,以确定信息类型 TH0=0;

TL0=0; //定时中断重新置零 if((Tc>Imin)&&(Tc

} //找到启始码 if(f==1) { {

Im[m/8]=Im[m/8]>>1|0x80; m++; }

//周期长度在这个范围内代表1

if(Tc>Inum1&&Tc

36

智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)

if(Tc>Inum2&&Tc

//周期在此范围内代表0

Im[m/8]=Im[m/8]>>1; m++; //取码 }

if(m==32) {

m=0; f=0;

if(Im[2]==~Im[3]) {

IrOK=1; }

else IrOK=0; //取码无效 }

} }

//*********************************************************************************** void hongwai() { //修改 in1=0; in2=0; in3=0; in4=0;

p1_5=1;fan=0; pwminit(); while(1) {

if(IrOK==1) {

if(Im[2]==0x0a && flag==1) //左,亮灭 { p1_5=0; p1_6=1; in3=1;

in4=0;//电机正转,车向左 //修改 IrOK=0; }

if(Im[2]==0x1e && flag==1) { p1_5=1; p1_6=0; in3=0;

//右,灭亮

//误差数组计数变量

//红外遥控模式的控制函数

//读码有效

//进行校验

//取够4个八位二进制数

37

智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)

in4=1;//电机反转,车向右 //修改 IrOK=0; }

if(Im[2]==0x05 && flag==1) //ok键摆正

{ in3=0; in4=0; //修改 IrOK=0; }

if(Im[2]==0x0e && flag==1) {

zheng=0; fan=1; in1=1; in2=0; //修改 IrOK=0; }

if(Im[2]==0x1a&& flag==1) { fan=0; zheng=1; in1=0; in2=1; //修改 IrOK=0; }

if(Im[2]==0x54 && flag==1 ) {p1_5=1; p1_6=1; in1=0; in2=0; in3=0; in4=0; //修改

IrOK=0; } if(Im[2]==0x03 && flag==1) {

//向前跑 //向后跑 //剎停 //退出红外模式,进入主函数循环 38

智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)

flag_chao=0; flag_hong=0; //修改 IrOK=0; in1=0; in2=0; in3=0; in4=0; return;} //修改 IrOK=0; } } }

//*******************************************************************************************//******************************************************************************************* /*-------------------------------------------------------------------------- AT89X51.H

Header file for the low voltage Flash Atmel AT89C51 and AT89LV51. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved.

--------------------------------------------------------------------------*/

#ifndef __AT89X51_H__ #define __AT89X51_H__

/*------------------------------------------------ Byte Registers

------------------------------------------------*/ //sfr P0 = 0x80; //sfr SP = 0x81; //sfr DPL = 0x82; //sfr DPH = 0x83; //sfr PCON = 0x87; //sfr TCON = 0x88; //sfr TMOD = 0x89; //sfr TL0 = 0x8A; //sfr TL1 = 0x8B; //sfr TH0 = 0x8C; //sfr TH1 = 0x8D; //sfr P1 = 0x90; //sfr SCON = 0x98;

39

智能物体追踪/遥控车的设计报告(团队制作-雷帅、王威、裴夏青、陈如峰)

//sfr SBUF = 0x99; ////sfr P2 = 0xA0; //sfr IE = 0xA8; //sfr P3 = 0xB0; //sfr IP = 0xB8; //sfr PSW = 0xD0; //sfr ACC = 0xE0; //sfr B = 0xF0;

/*------------------------------------------------ P0 Bit Registers

------------------------------------------------*/ sbit P0_0 = 0x80; sbit P0_1 = 0x81; sbit P0_2 = 0x82; sbit P0_3 = 0x83; sbit P0_4 = 0x84; sbit P0_5 = 0x85; sbit P0_6 = 0x86; sbit P0_7 = 0x87;

/*------------------------------------------------ PCON Bit Values

------------------------------------------------*/ #define IDL_ 0x01

#define STOP_ 0x02

#define PD_ 0x02 /* Alternate definition */

#define GF0_ 0x04 #define GF1_ 0x08

#define SMOD_ 0x80

/*------------------------------------------------ TCON Bit Registers

------------------------------------------------*/ //sbit IT0 = 0x88; //sbit IE0 = 0x89; //sbit IT1 = 0x8A; //sbit IE1 = 0x8B; //sbit TR0 = 0x8C; //sbit TF0 = 0x8D; //sbit TR1 = 0x8E;

40


基于51单片机的智能物体追踪和遥控车的实现 - - - 雷帅 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:体育中心钢结构施工组织设计 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: