Robofun 機器人論壇
標題:
KeilC程式問題...急急急!!
[打印本頁]
作者:
asus06512
時間:
2008-4-27 21:29
標題:
KeilC程式問題...急急急!!
請問各位大大們,小弟有一組8051電路,P1.0~P1.2是接三顆感測器(CNY70),兩顆馬達是接P2.0~P2.3
可是當感測器有HI, LO的時候馬達卻沒有動作,請問這是哪裡出問題呢?(假設電路正確)
那程式錯誤在哪裡呢?馬達驅動電路我是用TA7279P(附圖)
#include <reg51.h>
sbit motor1_1=P2^0;
sbit motor1_2=P2^1;
sbit motor2_1=P2^2;
sbit motor2_2=P2^3;
sbit sensor1=P1^0;
sbit sensor2=P1^1;
sbit sensor3=P1^2;
void delay1ms(int);
//=================================
main()
{motor1_1=0;
motor1_2=0;
motor2_1=0;
motor2_2=0;
sensor1=1;
sensor2=1;
sensor3=1;
while(1)
{ if(sensor1==1)
{motor1_1=0;
motor1_2=1;
motor2_1=0;
motor2_2=1;
delay1ms(1000);
if(sensor1==0 )
{motor1_1=1;
motor1_2=0;
motor2_1=0;
motor2_2=1;
delay1ms(1000);
}}
//=================================
void delay 1ms(int x)
{ int i,j;
for (i=0;i<x;i++)
for(j=0;j<120;j++);
}
未命名.JPG
(59.58 KB, 下載次數: 215)
下載附件
TA7279P
2008-4-27 21:29 上傳
作者:
naga
時間:
2008-4-27 22:14
asus06512大大你好
不知您8051的P2有沒有接,pull high 電阻
如果沒有,就接個pull high 電阻試試^^
作者:
draw3299
時間:
2008-4-28 10:02
asus06512大大你好
我建議你先用這樣測測看
感測器一樣接在P1
把P2的接馬達的腳先接LED燈
#include<regx51.h>
sbit ssr_1=P1^0;
sbit ssr_2=P1^1;
sbit ssr_3=P1^2;
sbit mtr1=P2^0;
sbit mtr2=P2^1;
sbit mtr3=P2^2;
sbit mtr4=P2^3;
main()
{
while(1)
{
P1=0xff;
P2=0xff;
if(ssr_1==0)
{
mtr1=0;
mtr3=0;
}
else
{
mtr2=0;
mtr4=0;
}
}
}
平時沒信號近感測器 則MOTOR2&4為0
有信號進入時 MOTOR1&3為0
如果這樣可行 可能是你接馬達那邊的出問題
電路
+5V-電阻-LED-P2
作者:
超新手
時間:
2008-4-29 13:00
左右括號根本沒對稱...
這程式真的可以 Compiler 過嗎
while(1)
{ if(sensor1==1)
{motor1_1=0;
motor1_2=1;
motor2_1=0;
motor2_2=1;
delay1ms(1000);}
else
{motor1_1=1;
motor1_2=0;
motor2_1=0;
motor2_2=1;
delay1ms(1000);}
}}
作者:
asus06512
時間:
2008-5-4 21:52
draw3239大大你好,我試過你的程式可是馬達輸出都是HI耶,電壓有點偏低...
你的程式應該沒缺東西吧?假如我現在只要使用P1.0 P1.1這兩個PORT做HI LO動作
來控制P2.0 P2.1單邊馬達輸出那要怎麼修改呢?感謝你的指導!!
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2