久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3504|回復: 3
打印 上一主題 下一主題
收起左側

單片機串口中斷和定時器中斷沖突咋辦,藍牙驅動和超聲波避障只能出現其中一個

[復制鏈接]
跳轉到指定樓層
樓主
ID:711376 發表于 2020-5-27 20:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
5黑幣
哪位朋友對中斷間的沖突有經驗的,求教啊。。。下面是程序

#include <reg52.h>
#include<intrins.h>

#define uchar unsigned char
#define uint unsigned int
typedef unsigned int u16;         
typedef unsigned char u8;
//3?éù2¨?à1?1ü???¨ò?************
sbit Trig=P2^0;
sbit Echo=P2^1;
long distance;         
uint timeer;


sbit IN1 = P1^2;
sbit IN2 = P1^3;
sbit IN3 = P2^4;
sbit IN4 = P2^5;
void back();
void left();
void stop();

#define left_motor_go    IN1 =1 , IN2 = 0
#define left_motor_back  IN1 = 0, IN2 = 1
#define right_motor_go  IN3 = 1, IN4 = 0
#define right_motor_back IN3 = 0, IN4 = 1


void delay2s(void)   
{
    unsigned char a,b,c;
    for(c=127;c>0;c--)
        for(b=235;b>0;b--)
            for(a=32;a>0;a--);
    _nop_();  
}
void delay1s(void)   
{
    unsigned char a,b,c;
    for(c=167;c>0;c--)
        for(b=171;b>0;b--)
            for(a=16;a>0;a--);
    _nop_();  
}


void delay_20us()
{  
  uchar bt ;
   for(bt=0;bt<100;bt++);
}
void delay14ms(unsigned char m)   
{
    unsigned char a,b,c;
    for(c=m;c>0;c--)
        for(b=184;b>0;b--)
            for(a=8;a>0;a--);
    _nop_();  
}

void delay1(unsigned int z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);

}

void time_init()   
{
EA  = 1;     
TMOD = 0X01;
TH0 = 0;  
  TL0 = 0;
ET0 = 0;   
}
void csb_int()
{
Trig = 0;
time_init();
Trig = 1;  
delay_20us();
Trig = 0;
  while(!Echo);
ET0=1;
  TR0=1;
while(Echo);
TR0=0;
timeer=TH0*256+TL0;
TH0=0;
TL0=0;
distance=(timeer*1.7)/100;  

if(distance>400)
  {
   distance=666;
}

}

//à??à3?ê?
void UART_INIT()
{
PCON=0x00;
  SCON=0x50;              
EA = 1;
ES = 1;
TMOD = 0x20;
  TH1 = 0xfd;
TL1 = 0xfd;
  TR1 = 1;
}



//D?3μ?°
void forward()
{
  IN1 =1; delay14ms(1);
IN2 =0; delay14ms(15);
  IN3 =1; delay14ms(1);
IN4 =0; delay14ms(15);
}
//D?3μoó
void back()
{
IN1 =0;
IN2 =1;
  IN3 =0;
IN4 =1;
}
void left_go()   
{
  IN1 =0; delay14ms(15);
IN2 =1; delay14ms(1);
  IN3 =1; delay14ms(1);
IN4 =0; delay14ms(15);
delay1(350);
forward();
}
//óò
void right_go()
{
IN1 =1; delay14ms(1);
IN2 =0; delay14ms(15);
  IN3 =0; delay14ms(15);
IN4 =1; delay14ms(1);
delay1(350);
forward();
}
//D?3μ×ó×a
void left()
{
IN1 =0; delay14ms(15);
IN2 =1; delay14ms(1);
  IN3 =1; delay14ms(1);
IN4 =0; delay14ms(15);
  delay1(50);
}
//D?3μóò×a
void right()
{
IN1 =1; delay14ms(1);
IN2 =0; delay14ms(15);
  IN3 =0; delay14ms(15);
IN4 =1; delay14ms(1);
}

//D?3μí£
void stop()
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
void main()
{
UART_INIT();
while(1)
{
   csb_int();
   if(distance<50)
    {
     back();
     delay1s();
      left();
    }
}


}


//′??ú?D
void UART_SER() interrupt 4
{
u8 receivedata;
receivedata=SBUF;
if(RI)
{
  RI = 0;
  switch(receivedata)
  {
  case '1': forward(); break;
  case '2': back(); break;
  case '3': left(); break;
  case '4': right(); break;
  case '5': stop(); break;
  case '6': left_go(); break;
  case '7': right_go(); break;
  }
SBUF=receivedata;
while(!TI);
TI=0;
}
}

最佳答案

查看完整內容

看看這個,有幫助 https://www.cnblogs.com/shirishiqi/p/5542116.html 建議超聲波優先級高于藍牙
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:341098 發表于 2020-5-27 20:05 | 只看該作者
嘿嘿嘿a 發表于 2020-5-27 20:07
中斷間互相沖突的解決方法是啥,網上有說改中斷優先級的,有沒有具體點的操作。。求求了

看看這個,有幫助
https://www.cnblogs.com/shirishiqi/p/5542116.html
建議超聲波優先級高于藍牙
回復

使用道具 舉報

板凳
ID:711376 發表于 2020-5-27 20:07 | 只看該作者
中斷間互相沖突的解決方法是啥,網上有說改中斷優先級的,有沒有具體點的操作。。求求了
回復

使用道具 舉報

地板
ID:65956 發表于 2020-9-18 11:24 | 只看該作者
你應把超聲波計時用T0進行計數,這個在默認狀態下是高于串口中斷的,現在看你是要通訊優先還是超聲波優先,然后改一下優先級就可以了,不過不管怎么改,只要在中斷程序中作的事情越少越好,這樣才不會引起互相干擾或停頓類的問題,以上只是建議
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品成人在线视频 | 久久精品小视频 | 久久噜噜噜精品国产亚洲综合 | 国产日韩欧美另类 | 成人免费视频网站在线观看 | 成人在线精品视频 | 婷婷开心激情综合五月天 | 久久精品国产a三级三级三级 | 365夜爽爽欧美性午夜免费视频 | 91电影在线播放 | 中文字幕免费在线 | 91精品久久久久久久久久 | 91日韩在线| 亚洲a级| 欧美国产精品一区二区三区 | 欧美在线不卡 | 精品国产乱码久久久久久88av | 精品一区二区视频 | 日本91av视频 | 国产成人jvid在线播放 | 91免费电影 | 欧美精品一区二区三区在线四季 | 国产欧美在线视频 | 一级片在线观看 | 丝袜久久| 亚洲日韩中文字幕一区 | 色婷婷av一区二区三区软件 | 国产精品视频免费观看 | av超碰 | 欧美亚洲高清 | 中文字幕一区二区三区四区五区 | 日韩色图视频 | 久久精品国产99国产 | 91精品麻豆日日躁夜夜躁 | 久久久www成人免费无遮挡大片 | 国产美女精品视频 | 欧美视频在线播放 | 欧美日韩综合 | 久久久久国产 | 黄色一级免费观看 | 九色av|