|
求助大神幫忙改一下單片機(jī)程序,用兩個(gè)紅外傳感器檢測人數(shù),現(xiàn)在是傳感器1感應(yīng)是進(jìn)入,傳感器2感應(yīng)是出去,想改成傳感器1先感應(yīng),傳感器2后感應(yīng)為進(jìn),傳感器2先感應(yīng),傳感器1后感應(yīng)為出。求大神們幫忙。
while(1)
{
if(Left_P==0) // 如果左邊的紅外模塊檢測到有人
DelayMs(30);if(Right_P==0)
{
if(gJin<9999) // 判斷當(dāng)前進(jìn)入人數(shù)是否小于9999
{
gJin++; // 進(jìn)入人數(shù)加1
LcdGotoXY(0,3); // 光標(biāo)定位
LcdPrintNum(gJin); // 顯示進(jìn)入的人數(shù)
LcdGotoXY(1,3); // 光標(biāo)定位
gNow=gJin-gChu; // 計(jì)算當(dāng)前人數(shù)
LcdPrintNum(gNow); // 顯示當(dāng)前人數(shù)
}
Buzzer_P=0; // 蜂鳴器嘀一聲
DelayMs(30);
Buzzer_P=1;
while(!Left_P); // 等待人離開左邊的傳感器檢測范圍
DelayMs(100);
}
if(Right_P==0) // 如果右邊的紅外模塊檢測到有人
DelayMs(30);if(Left_P==0)
{
if(gChu<gJin) // 判斷當(dāng)前出去人數(shù)是否小于進(jìn)入人數(shù)
{
gChu++; // 出去人數(shù)加1
LcdGotoXY(0,12); // 光標(biāo)定位
LcdPrintNum(gChu); // 顯示出去的人數(shù)
LcdGotoXY(1,3); // 光標(biāo)定位
gNow=gJin-gChu; // 計(jì)算當(dāng)前人數(shù)
LcdPrintNum(gNow); // 顯示當(dāng)前人數(shù)
}
Buzzer_P=0; // 蜂鳴器嘀一聲
DelayMs(30);
Buzzer_P=1;
while(!Right_P); // 等待人離開右邊的傳感器檢測范圍
DelayMs(100);
}
AlarmJudge(); // 判斷是否需要報(bào)警
KeyScanf(); // 按鍵掃描
}
}
|
|