久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
單片機(jī)中斷有問(wèn)題,P00=0的時(shí)候進(jìn)不去
[打印本頁(yè)]
作者:
heicad
時(shí)間:
2016-3-11 23:30
標(biāo)題:
單片機(jī)中斷有問(wèn)題,P00=0的時(shí)候進(jìn)不去
#include<AT89x51.H>
#define Left_moto_pwm P1_6 //接驅(qū)動(dòng)模塊ENA 使能端,輸入PWM信號(hào)調(diào)節(jié)速度
#define Right_moto_pwm P1_7 //接驅(qū)動(dòng)模塊ENB
sbit P00=P0^0;
sbit P10=P1^0; //循跡口
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
#define Left_moto_go {P3_4=0,P3_5=1;} //P3_4 P3_5 接IN1 IN2 當(dāng) P3_4=0,P3_5=1; 時(shí)左電機(jī)前進(jìn)
#define Left_moto_back {P3_4=1,P3_5=1;} //P3_4 P3_5 接IN1 IN2 當(dāng) P3_4=1,P3_5=0; 時(shí)左電機(jī)后退
#define Right_moto_go {P3_6=0,P3_7=1;} //P3_6 P3_7 接IN1 IN2 當(dāng) P3_6=0,P3_7=1; 時(shí)右電機(jī)前轉(zhuǎn)
#define Right_moto_back {P3_6=1,P3_7=1;} //P3_6 P3_7 接IN1 IN2 當(dāng) P3_6=1,P3_7=0; 時(shí)右電機(jī)后退
unsigned char pwm_val_left =0;//變量定義
unsigned char push_val_left =0;// 左電機(jī)占空比N/10
unsigned char pwm_val_right =0;
unsigned char push_val_right=0;// 右電機(jī)占空比N/10
bit Right_moto_stop=1;
bit Left_moto_stop =1;
unsigned int time=0;
int i;
/************************************************************************/
void run(void) //前進(jìn)函數(shù)
{
push_val_left =10; //PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度
push_val_right =5; //PWM 調(diào)節(jié)參數(shù)1-10 1為最慢,10是最快 改這個(gè)值可以改變其速度
// Left_moto_go ; //左電機(jī)前進(jìn)
// Right_moto_go ; //右電機(jī)前進(jìn)
}
/************************************************************************/
/* PWM調(diào)制電機(jī)轉(zhuǎn)速 */
/************************************************************************/
/* 左電機(jī)調(diào)速 */
/*調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速,占空比 */
void pwm_out_left_moto(void)
{
if(Left_moto_stop)
{
if(pwm_val_left<=push_val_left)
Left_moto_pwm=1;
else
Left_moto_pwm=0;
if(pwm_val_left>=10)
pwm_val_left=0;
}
else Left_moto_pwm=0;
}
/******************************************************************/
/* 右電機(jī)調(diào)速 */
void pwm_out_right_moto(void)
{
if(Right_moto_stop)
{
if(pwm_val_right<=push_val_right)
Right_moto_pwm=1;
else
Right_moto_pwm=0;
if(pwm_val_right>=10)
pwm_val_right=0;
}
else Right_moto_pwm=0;
}
/***************************************************/
///*TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號(hào)*/
void timer0()interrupt 1 using 2
{
TH0=0XF8; //1Ms定時(shí)
TL0=0X30;
time++;
pwm_val_left++;
pwm_val_right++;
pwm_out_left_moto();
pwm_out_right_moto();
}
/***************************************************/
void xiong() interrupt 3
{
if(P10==0&&P11==0&&P12==1&&P13==0&&P14==0) //小車(chē)直線(xiàn)快走 定時(shí)0.002ms
{
push_val_left =6;
push_val_right =6;
TH1=0XFF;
TL1=0xFe;
Left_moto_go;
Right_moto_go;
}
if(P10==0&&P11==0&&P12==0&&P13==1&&P14==0) //小車(chē)右轉(zhuǎn)小 定時(shí)0.005ms
{
push_val_left =5;
push_val_right =4;
TH1=0XFF;
TL1=0Xfb;
Left_moto_go;
Right_moto_back;
}
if(P10==0&&P11==0&&P12==0&&P13==0&&P14==1) //小車(chē)右轉(zhuǎn)大 定時(shí)0.005ms
{
push_val_left =6;
push_val_right =3;
TH1=0XFF;
TL1=0Xfb;
Left_moto_go;
Right_moto_back;
}
if(P10==0&&P11==1&&P12==0&&P13==0&&P14==0) //小車(chē)左轉(zhuǎn)小 定時(shí)0.005ms
{
push_val_left =4;
push_val_right =5;
TH1=0XFF;
TL1=0XFb;
Right_moto_go;
Left_moto_back;
}
if(P10==1&&P11==0&&P12==0&&P13==0&&P14==0) //小車(chē)左轉(zhuǎn)大 定時(shí)0.005ms
{
push_val_left =3;
push_val_right =6;
TH1=0XFF;
TL1=0XFb;
Right_moto_go;
Left_moto_back;
}
if(P11==1&&P12==1&&P13==1&&i==1)
{
push_val_left =0;
push_val_right =8;
TH1=0XFc;
TL1=0X30;
Right_moto_go;
Left_moto_back;
i++;
}
if(P11==1&&P12==1&&P13==1&&i==2)
{
push_val_left =8;
push_val_right =0;
TH1=0XFc;
TL1=0X30;
Right_moto_back;
Left_moto_go;
i++;
}
if(P11==1&&P12==1&&P13==1&&i==3)
{ //全部檢測(cè)到黑線(xiàn)時(shí) 車(chē)停
TH1=0XFF;
TL1=0Xfb;
Right_moto_back;
Left_moto_back;
i==3;
}
if(P00==0)
{
push_val_left =8;
push_val_right =8;
TH1=0XFF;
TL1=0x30;
Left_moto_go;
Right_moto_go;
}
}
void main(void)
{
TMOD=0X11;
TH0= 0XF8; //1ms定時(shí)
TL0= 0X30;
TR0= 1;
ET0= 1;
TH1=0XFF;
TL1=0Xfb;
TR1=1;
ET1=1;
EA =1;
P00=0;
while(1) /*無(wú)限循環(huán)*/
{ // P10=0;P11=0;P12=1;P13=0;P14=0;
if(P10==0&&P11==0&&P12==1&&P13==0&&P14==0) // 小車(chē)直走 定時(shí)0.002ms
{
TH1=0XFF; //定時(shí)0.01ms
TL1=0xFe;
TR1=1;
}
if(P10==0&&P11==0&&P12==0&&P13==1&&P14==0) //小車(chē)右轉(zhuǎn) 定時(shí)0.005ms
{
TH1=0XFF;
TL1=0Xfb;
TR1=1;
}
if(P10==0&&P11==0&&P12==0&&P13==0&&P14==1) //小車(chē)右轉(zhuǎn) 定時(shí)0.005ms
{
TH1=0XFF;
TL1=0Xfb;
TR1=1;
}
if(P10==0&&P11==1&&P12==0&&P13==0&&P14==0) //小車(chē)左轉(zhuǎn) 定時(shí)0.005ms
{
TH1=0XFF;
TL1=0XFb;
TR1=1;
}
if(P10==1&&P11==0&&P12==0&&P13==0&&P14==0) //小車(chē)左轉(zhuǎn) 定時(shí)0.005ms
{
TH1=0XFF;
TL1=0XFb;
TR1=1;
}
if(P11==1&&P12==1&&P13==1&&i==1) //十字左轉(zhuǎn)
{
TH1=0XFc;
TL1=0X30;
TR1=1;
}
if(P11==1&&P12==1&&P13==1&&i==2) //十字右轉(zhuǎn)
{
TH1=0XFc;
TL1=0X30;
TR1=1;
}
if(P11==1&&P12==1&&P13==1&&i==3) //全部檢測(cè)到黑線(xiàn)時(shí) 車(chē)停
{
TH1=0XFF;
TL1=0Xfb;
TR1=1;
}
if(P00==0)
{
TH1=0XFF; //定時(shí)1s
TL1=0x30;
TR1=1;
}
}
}
復(fù)制代碼
作者:
heicad
時(shí)間:
2016-3-11 23:30
51黑有你更精彩!
作者:
暗光
時(shí)間:
2016-3-12 01:22
是不是你沒(méi)有鎖定P00=0啊,也就是你在主循環(huán)中P00=0;把定時(shí)器設(shè)置成定時(shí)1秒,一秒的時(shí)間太長(zhǎng)了,在這個(gè)時(shí)間內(nèi),有其他情況發(fā)生,比如十字左轉(zhuǎn)發(fā)生,把定時(shí)器的設(shè)置的時(shí)間又改了,因?yàn)?1的話(huà)是定時(shí)器的時(shí)間改了以后就用新值重新定時(shí)的,還有,或者在定時(shí)過(guò)程中,P00是等于0,一秒后,當(dāng)進(jìn)入中斷了,P00不等于0了,相當(dāng)于在中斷中P00==0的if不能執(zhí)行直接被跳過(guò)
作者:
暗光
時(shí)間:
2016-3-12 01:26
我的建議是,在定時(shí)器中設(shè)置一個(gè)標(biāo)志位,未進(jìn)中斷前,標(biāo)志為為0,進(jìn)入中斷后設(shè)為1,并且關(guān)閉定時(shí)器。在主循環(huán)中用if(P00==0){TH=XX,TL=XX;TR=1;XX;while(flag標(biāo)志位==0);一秒時(shí)間到執(zhí)行函數(shù)xx;xx;flag=0清零}下一個(gè)IF},另外,沒(méi)有仔細(xì)看程序,回答的可能不到點(diǎn)子上,如果有誤請(qǐng)?jiān)彛瑲g迎討論。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国内精品久久精品
|
免费一级黄色电影
|
又爽又黄axxx片免费观看
|
九色porny自拍视频
|
成人性视频免费网站
|
国产成人高清视频
|
日韩在线精品视频
|
美女视频一区二区三区
|
久久狠狠
|
无码国模国产在线观看
|
日韩在线播放视频
|
免费在线观看av的网站
|
99久久精品免费看国产四区
|
欧美一区免费在线观看
|
成人国产精品免费观看
|
精品一区二区久久久久久久网站
|
欧美日韩亚洲一区
|
久久综合一区二区三区
|
国产色99
|
在线免费中文字幕
|
免费性视频
|
精产国产伦理一二三区
|
美女一区二区在线观看
|
久久精品国产99国产精品
|
伊人电影院av
|
6080yy精品一区二区三区
|
天天躁日日躁狠狠躁白人
|
一区二区在线
|
亚洲精品99久久久久久
|
欧美精品成人一区二区三区四区
|
成人av播放
|
热re99久久精品国产99热
|
成人伊人
|
麻豆成人在线视频
|
欧美精品三区
|
欧美精产国品一二三区
|
欧美黄色一区
|
久久激情网
|
久色视频在线
|
亚洲精品第一页
|
色视频成人在线观看免
|