七个欢喜 2015-12-07 07:12
浏览 844
已结题

我想用定时和外部中断写一个小车避障程序,可是不知道哪里错了,求解答

#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit echo=P3^2;
sbit trig=P2^3;
unsigned char s,time;

void PWM_zk0(float zk) //高电 平占得比例占空比为(Gao/255)
{
CCAP0H = CCAP0L =255*(100.0 - zk)/100.0;
CCAPM0 = 0x42;
CR=1;
}
void PWM_zk1(float zk) //高电平占得比例占空比为(Gao/255)
{
CCAP1H = CCAP1L = 255*(100.0 - zk)/100.0;
CCAPM1 = 0x42;
CR=1;
}
void PWM_zk2(float zk) //高电平占得比例占空比为(Gao/255)
{
CCAP2H = CCAP2L = 255*(100.0 - zk)/100.0;
CCAPM2 = 0x42;
CR=1;
}
void PWM_zk3(float zk) //高电平占得比例占空比为(Gao/255)
{
CCAP3H = CCAP3L = 255*(100.0 - zk)/100.0;
CCAPM3 = 0x42;
CR=1;
}
void go() //前进
{
PWM_zk0(0);
PWM_zk1(60.0);
PWM_zk2(0);
PWM_zk3(60.0);

}
void stop()
{
PWM_zk0(0);
PWM_zk1(0);
PWM_zk2(0);
PWM_zk3(0);

}

void init() //初始化
{
CCON=0;

CL = 0;

CH = 0;
CMOD = 0x02;

CR = 1;
}
void delay1ms()//@11.0592MHz 延时1ms //延时
{
unsigned char i, j;

_nop_();
i = 11;
j = 190;
do
{
while (--j);
}
 while (--i);

}

void StartModule(void) //启动模块
{
trig=1; //启动一次模块
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
trig=0;
}

void count() //计算
{
time=256*TH0+TL0;
TH0=0;
TL0=0;
s=(time*1.7)/100;
}
void main()
{
init();
TMOD=0x01;//模式控制器的选择,选择只有定时器16位
TH0=0; //赋初值
TL0=0;
EX0=0; //允许外部中断
ET0=1; //允许定时器0中断
IT0=0; //跳变沿
EA=1; //总中断开启
while(1)
{
// go();
EX0=1;
StartModule(); //超声波的发射检测
while(echo==1) //当接收到返回的信号
TR0=1; //打开定时中断 ,开始计时
while(echo==0) //没有接收到
TR0=0; //不开启定时器中断

count();
if(s stop();
if(s>=30)
go();
}
}

void into() interrupt 0 //外部中断
{
}

void timer() interrupt 1 //定时器0的中断
{
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算
    • ¥15 java如何提取出pdf里的文字?
    • ¥100 求三轴之间相互配合画圆以及直线的算法