#include <reg52.h>
#include <intrins.h>
#define XunJiData P0
#define left_jiasu 0x35
#define right_jiasu 0x03
#define left_jiansu 0x50
#define right_jiansu 0x23
#define left_changsu 0x35
#define right_changsu 0x03
bdata Sys_Bits0 ; //For system bit use
bdata Sys_Bits1 ; //For system bit use
// System bit define
//--------------------------------------
// Sys_Bits0
sbit Sec1ms_F = Sys_Bits0^0 ;//Sec1ms Flag
sbit Sec10ms_F = Sys_Bits0^1 ;//Sec10ms Flag
sbit Sec100ms_F = Sys_Bits0^2 ;//Sec100ms Flag
sbit Sec1s_F = Sys_Bits0^3 ;//Sec1s Flag
sbit Key_Pressed = Sys_Bits0^4 ;//Key pressed flag
sbit Get_Key = Sys_Bits0^5 ;//Get key flag
sbit WaterO_F = Sys_Bits0^6 ;//
sbit TwinklingF = Sys_Bits0^7 ;//
//--------------------------------------
// Sys_Bits1
sbit Water_DF = Sys_Bits1^0 ;//
sbit AlarmF = Sys_Bits1^1 ;//
sbit done = Sys_Bits1^2 ;//
//sbit turn_leftf= Sys_Bits0^3 ;//
//sbit = Sys_Bits0^4 ;//
//sbit = Sys_Bits0^5 ;//
//sbit = Sys_Bits0^6 ;//
//sbit = Sys_Bits0^7 ;//
//--------------------------------------
//define port
sbit left1Detect = P0^3 ;
sbit left2Detect = P0^2 ;
sbit wan = P0^4 ;
sbit right1Detect = P0^1 ;
sbit right2Detect = P0^0 ;
sbit RPower1 = P3^0; // 01 forward ,10 backward
sbit RPower2 = P3^1;
sbit LPower1 = P3^2; // 10 forward ,01 backward
sbit LPower2 = P3^4;
//sbit ena = P1^3
//sbit enb = P1^4
//sbit echo = P3.3;
sbit trig = P3^7; //超声波发射触发
sbit rc = P3^6; //超声波接受触发
//--------------------------------------
// PCA->PWM output
sfr CCON = 0xD8;
sbit CCF0 = CCON^0;
sbit CCF1 = CCON^1;
sbit CR = CCON^6;
sbit CF = CCON^7;
sfr CMOD = 0xD9;
sfr CL = 0xE9;
sfr CH = 0xF9;
sfr CCAPM0 = 0xDA;
sfr CCAP0L = 0xEA; // bigger,pwm duty less
sfr CCAP0H = 0xFA;
sfr CCAPM1 = 0xDB;
sfr CCAP1L = 0xEB; // bigger,pwm duty less
sfr CCAP1H = 0xFB;
sfr PCAPWM0 = 0xf2;
sfr PCAPWM1 = 0xf3;
//--------------------------------------
// RAM Define
static unsigned char Sec1ms,Sec10ms,Sec100ms,Sec1s ;
unsigned char detectport,quan=1,wanflag=0,count=0;//黑线数目;
unsigned char leftspeed,rightspeed;
unsigned int csd,chaoshengD,chaoshengDbuf;
unsigned int jisuan_chaosheng();
//------------------------------------------------
void delay1ms(int x) //延时 x ms
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<735;j++);
}
//------------------------------------------------
void Timer0_Init(void)
{
TMOD = 0x91 ;//Timer 0,Mode 1,not gate
//Time1 gate, mode 1
TH1 = 0x00 ;//Init TH0,TL0,1ms
TL1 = 0x00 ;//
TR1 = 1;
TH0 = 0xfc ;//Init TH0,TL0,1ms
TL0 = 0x18 ;//
ET0 =1 ;//Enable T0 interrupt
EA =1 ;//Enable all interrupts
TR0 =1 ;//Start T0 counter
Sec1ms = 0x0a ;//Init Sec1ms
Sec10ms = 0x0a ;//Init Sec10ms
Sec100ms = 0x0a ;//Init Sec100ms
}
/*----------------- inT1 interrupt 2 -------------------------*/
void int1(void) interrupt 2 //@@
{
chaoshengD=jisuan_chaosheng();
}
/*----------------- T0 interrupt 1 -------------------------*/
void Timer0(void) interrupt 1
{
TH0 = 0xfc ;//Init TH0,TL0
TL0 = 0x18 ;//
Sec1ms_F = 1 ;//SetB Sec1ms_F
Sec1ms-- ;//Sec1ms-1
if (Sec1ms == 0) //Sec1ms==0?
{
Sec1ms = 0x0a ;//Init Sec1ms
Sec10ms_F = 1 ;//SetB Sec10ms_F
Sec10ms-- ;//Sec10ms-1
if (Sec10ms == 0) //Sec10ms==0?
{
Sec10ms = 0x0a ;//Init Sec10ms
Sec100ms_F = 1 ;//SetB Sec100ms_F
Sec100ms-- ;//Sec100ms-1
if (Sec100ms == 0) //Sec100ms==0?
{
Sec100ms = 0x0a ;//Init Sec100ms
Sec1s_F = 1 ;//SetB Sec1s_F
}
}
}
}
//----------------------------------------------------------
void PwmInit()
{
RPower1 = 0 ;
RPower2 = 1 ;
LPower1 = 1 ;
LPower2 = 0 ;
CCON = 0;
CL = 0;
CH = 0;
CMOD = 0x02;
CCAP0H = CCAP0L = 0x30;
CCAPM0 = 0x42;
CCAP1H = CCAP1L = 0x30;
CCAPM1 = 0x42;
CR = 1;
}
//----------------------------------------------------------
unsigned char XunJi() //小车循迹
{
unsigned char result;
result=XunJiData;
result=(result|0xe0); //截取低5位
return result;
}
//----------------------------------------------------------
void turn_right()
{
CCAP0H = CCAP0L = 0xf0; //right pwm
CCAPM0 = 0x42;
CCAP1H = CCAP1L = 0x10; //left pwm
CCAPM1 = 0x42;
}
//----------------------------------------------------------
void turn_left()
{
CCAP0H = CCAP0L = 0x10; //right pwm
CCAPM0 = 0x42;
CCAP1H = CCAP1L = 0xf0; //right pwm
CCAPM1 = 0x42;
}
void turn_left1()
{
CCAP0H = CCAP0L = 0x10; //right pwm
CCAPM0 = 0x42;
CCAP1H = CCAP1L = 0x40; //right pwm
CCAPM1 = 0x42;
}
//----------------------------------------------------------
void low_speed()
{
CCAP0H = CCAP0L =rightspeed;
CCAPM0 = 0x42;
CCAP1H = CCAP1L =leftspeed;
CCAPM1 = 0x42;
}
//----------------------------------------------------------
void high_speed()
{
CCAP0H = CCAP0L = 0x02; //
CCAPM0 = 0x42;
CCAP1H = CCAP1L = 0x02; //
CCAPM1 = 0x42;
}
//----------------------------------------------------------
void modzhi()
{
CCAP0H = CCAP0L = 0x60; //you
CCAPM0 = 0x42;
CCAP1H = CCAP1L = 0x60; //zuo
CCAPM1 = 0x42;
}
//----------------------------------------------------------
void stop()
{
RPower1 = 0;
RPower2 = 0;
LPower1 = 0;
LPower2 = 0;
}
//----------------------------------------------------------
//@@@
void goahead() //kongsu
{
CCAP0H = CCAP0L = rightspeed ;// right
没有合适的资源?快使用搜索试试~ 我知道了~
xiaoche.zip_2011年国赛_国赛
共174个文件
bak:31个
lst:18个
obj:17个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 165 浏览量
2022-09-14
20:32:35
上传
评论
收藏 578KB ZIP 举报
温馨提示
2011年国赛一等奖作品,所有功能皆实现
资源推荐
资源详情
资源评论
收起资源包目录
xiaoche.zip_2011年国赛_国赛 (174个子文件)
STARTUP.A51 6KB
STARTUP.A51 6KB
STARTUP.A51 6KB
STARTUP.A51 6KB
STARTUP.A51 6KB
aaa 9KB
aaa1 9KB
aaa_uvopt.bak 56KB
aaa_uvopt.bak 55KB
交替_uvopt.bak 55KB
乙车外道模式1_uvopt.bak 54KB
乙车外道模式2_uvopt.bak 54KB
交替_uvopt.bak 54KB
car_uvopt.bak 54KB
CAR_JIA.C.bak 17KB
CAR_YI.C.bak 17KB
CAR_JIA.C.bak 17KB
CAR_JIA.C.bak 17KB
CAR_YI.C.bak 17KB
交替.c.bak 17KB
交替.c.bak 17KB
交替_uvproj.bak 13KB
交替_uvproj.bak 13KB
aaa_uvproj.bak 13KB
交替_YI.Uv2.bak 2KB
甲车.Uv2.bak 2KB
乙车.Uv2.bak 2KB
甲车.opt.bak 1KB
甲车_Opt.Bak 1KB
交替_YI.opt.bak 1KB
乙车_Opt.Bak 1KB
aaa_uvproj.bak 0B
乙车外道模式2_uvproj.bak 0B
car_uvproj.bak 0B
乙车外道模式1_uvproj.bak 0B
甲车_Uv2.Bak 0B
交替_YI_Uv2.Bak 0B
乙车_Uv2.Bak 0B
CAR_YI.C 18KB
乙车外道模式1.c 18KB
CAR_JIA.C 18KB
交替.c 17KB
交替.c 17KB
CAR_YI.C 17KB
CAR_JIA.C 17KB
CAR_YI.C 17KB
乙车内道寻迹1圈m.c 15KB
car.c 15KB
乙车外道模式2.c 14KB
pwm.c 6KB
pwm.c 6KB
car 20KB
CAR_JIA 21KB
CAR_JIA 21KB
CAR_YI 21KB
乙车.hex 6KB
交替.hex 4KB
交替.hex 4KB
甲车.hex 4KB
CAR_JIA.hex 4KB
CAR_JIA.hex 4KB
CAR_YI.hex 4KB
交替_YI.hex 4KB
car.hex 4KB
乙车外道模式2.hex 4KB
乙车外道模式1.hex 3KB
aaa.hex 3KB
aaa1.hex 2KB
aaa.hex 2KB
交替_YI.lnp 61B
甲车.lnp 59B
乙车外道模式1.lnp 58B
乙车外道模式2.lnp 58B
乙车.lnp 58B
CAR_JIA.lnp 46B
CAR_JIA.lnp 46B
CAR_YI.lnp 44B
交替.lnp 40B
交替.lnp 40B
aaa.lnp 39B
car.lnp 38B
aaa1.lnp 24B
aaa.lnp 23B
CAR_YI.LST 36KB
CAR_JIA.LST 35KB
交替.LST 32KB
交替.LST 32KB
CAR_JIA.LST 32KB
CAR_JIA.LST 32KB
CAR_YI.LST 32KB
CAR_YI.LST 32KB
乙车外道模式2.LST 31KB
car.LST 28KB
乙车外道模式1.LST 26KB
pwm.LST 16KB
STARTUP.LST 14KB
STARTUP.LST 14KB
STARTUP.LST 14KB
STARTUP.LST 14KB
STARTUP.LST 14KB
共 174 条
- 1
- 2
资源评论
刘良运
- 粉丝: 71
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功