有趣的制作电路图
看到几个很好玩的电路,有面包板的可以试试#include<at892051.h> // at892051.h 這個檔案裡有各個暫存器對應的記憶位址
main()
{
while (1) // 讓程式反覆執行
{
if (P1_2==1) // 如果右前方有障礙物
P1_3=1; // 左輪反轉
if (P1_2==0) // 如果右前方無障礙物
P1_3=0; // 左輪前進
if (P1_4==1) //如果左前方有障礙物
P1_5=1; // 右輪反轉
if (P1_4==0) // 如果左前方無障礙物
P1_5=0; // 右輪前進
}
}复制代码
例題二 閃避前方的障礙物 (先後退再轉彎)
假若右前方有障礙物, 則車子先後退, 再向左轉 .
假若左前方有障礙物, 則向右轉 (不後退)
#include<at892051.h> // at892051.h 這個檔案裡有各個暫存器對應的記憶位址
void delay(unsigned int dly);
main()
{
while (1) // 讓程式反覆執行
{
if (P1_2==1) // 如果右前方有障礙物
{
P1_3=1; // 左輪反轉
P1_5=1; // 右輪反轉
delay(100); // 讓車子後退一段時間
P1_5=0; //右輪前進,車子開始向左轉
delay(40); // 讓車子轉彎一段時間
}
if (P1_2==0) // 如果右前方無障礙物
P1_3=0; // 左輪前進
delay(1); // 等一段時間, 讓干擾消失
if (P1_4==1) //如果左前方有障礙物
P1_5=1; // 右輪反轉
delay(1); // 等一段時間, 讓干擾消失
if (P1_4==0) // 如果左前方無障礙物
P1_5=0; // 右輪前進
delay(1); // 等一段時間, 讓干擾消失
}
}
void delay(unsigned int dly)// 延遲時間的副程式
{
dly=dly*300;
while (dly>0)
dly--;
}复制代码
例題三閃避前方的障礙物
假若右前方有障礙物, 則車子左右搖擺五次, 再轉彎前進.
假若左前方有障礙物, 則向右轉 (不後退)
#include<at892051.h>
void delay(unsigned int dly);
unsigned int aa;
main()
{
while (1)
{
if (P1_2==1)
{
P1_3=1;
P1_5=1;
delay(1);
for (aa=1;aa<=5;aa=aa+1)
{
P1_3=1;
P1_5=0;
delay(40);
P1_3=0;
P1_5=1;
delay(40);
}
P1_5=0;
delay(100);
}
if (P1_2==0)
P1_3=0;
delay(1);
if (P1_4==1)
P1_5=1;
delay(1);
if (P1_4==0)
P1_5=0;
delay(1);
}
}
void delay(unsigned int dly)
{
dly=dly*300;
while (dly>0)
dly--;
}复制代码 这个好玩! 我每天都来看 只为赚积分下载 这个有用,谢谢了 看看 原来这么简单啊!!!!一看就会的样子,可惜一做就废!!!!
