智能公交车 开发文档(7)

2018-12-17 17:12

博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛

unsigned int pwm3f=0;

unsigned int pre_hei_bai=0;//上一次采样值预存

unsigned int speed_aim = 0; //目标速度

//pwm3f反转

DisableInterrupts;

SetBusCock(2); pwmd45(); pwmz2(); pwmf3(); timer1(); leijia_PACNT();

init_portb57();

//play_show(); //*****************

//EnableInterrupts; while (1) { DDRA=0xff;

//PWMDTY2 = 40;

InitATD();

for (i=0;i<8;i++) adjieguo[i]=0;

PORTA=0xff;

while (!ATD0STAT2_CCF7) // { }

adjieguo[0]=ATD0DR0L;

官方网站:www.cie-eec.org www.up-tech.com/bcb/index.htm 834

组委会联系电话:010-82110743转820、27 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛

adjieguo[1]=ATD0DR1L;

adjieguo[2]=ATD0DR2L;

adjieguo[3]=ATD0DR3L;

adjieguo[4]=ATD0DR4L;

adjieguo[5]=ATD0DR5L;

adjieguo[6]=ATD0DR6L;

adjieguo[7]=ATD0DR7L;

if (adjieguo[0] > zhan_dian)

//判断站点标志

count++;

if (adjieguo[1] >= fazhi) hei_bai |= 0x02;

else hei_bai &= 0xfd; //保护前 1 位 第二位写 0

if (adjieguo[2] >= fazhi) hei_bai |= 0x04;

else hei_bai &= 0xfb; //保护前 2 位 第三位写 0

if (adjieguo[3] >= fazhi)

hei_bai |= 0x08; //第四位赋 1

else hei_bai &= 0xf7; //保护前 3 位 第四位写 0

if (adjieguo[4] >= fazhi) hei_bai |= 0x10;

else hei_bai &= 0xef; //保护前 4 位 第5位写 0

官方网站:www.cie-eec.org www.up-tech.com/bcb/index.htm 834

组委会联系电话:010-82110743转820、28 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛

if (adjieguo[5] >= fazhi)

hei_bai |= 0x20;

else hei_bai &= 0xdf; //保护前 5 位 第6位写 0

if (adjieguo[6] >= fazhi)

else hei_bai &= 0xbf; //保护前 6 位 第7位写 0 hei_bai |= 0x40;

if (adjieguo[7] >= fazhi)

case 0x02 :

if (pre_hei_bai == 0x80)

break;

switch (hei_bai) {

case 0x00 :

if (pre_hei_bai == 0x04) pwm45d = 4500 - C*31; if (pre_hei_bai == 0x40)

pwm45d = zhongjian + C*31;

else hei_bai &= 0x7f;

hei_bai|=0x80; //保护前 7 位 第8位写 0

pwm2z = V; pwm3f = 0; break;

if (pre_hei_bai == 0xc0)

break;

pwm45d = zhongjian - C*40; //左转最大角 左三高电位 0000001 0

官方网站:www.cie-eec.org www.up-tech.com/bcb/index.htm 组委会联系电话:010-82110743转820、29 834

博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛

pwm2z = V; // pwm3f = 0; //

break;

case 0x04 : if (pre_hei_bai == 0x80) break;

if (pre_hei_bai==0xc0) break;

pwm45d = zhongjian - C*20;

pwm2z = V;

pwm3f = 0; //

break;

case 0x06: if (pre_hei_bai == 0x80) break; if (pre_hei_bai == 0xc0)

break;

pwm45d = zhongjian - C*26; pwm2z = V; // pwm3f = 0; //

break;

case 0x08 : pwm45d = zhongjian - C*6;

pwm2z = V; //

pwm3f = 0;

break;

官方网站:www.cie-eec.org www.up-tech.com/bcb/index.htm 834

//左二高电位 0000010 0 //左三二全部高电位 0000011 0 //左一高电位 000 0 100 0

组委会联系电话:010-82110743转820、30 博 创 杯 全 国 大 学 生 嵌 入 式 设 计 大 赛

case 0x0c : pwm45d = zhongjian - C*17; //左二一全部高电位 000 0 110 0

pwm2z = V; //

pwm3f = 0; //

break;

case 0x10 : pwm45d = zhongjian;

pwm2z = V; //

pwm3f = 0; //

break;

case 0x18 : pwm45d = zhongjian - C*4;

pwm2z = V; //

pwm3f = 0; //

break;

case 0x20 : pwm45d = zhongjian + C*6;

pwm2z = V; //

pwm3f = 0; //

break;

case 0x30 : pwm45d = zhongjian + C*4;

pwm2z = V; //

pwm3f = 0; //

break;

官方网站:www.cie-eec.org www.up-tech.com/bcb/index.htm 834

// 中间高点位 000 1 000 0 //中间左一高电位 000 1 100 0 //右一高电位 001 0 000 0 //中间右一高电位 001 1 000 0 组委会联系电话:010-82110743转820、31


智能公交车 开发文档(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:王镜岩版生物化学习题答案

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

马上注册会员

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