《51單片機(jī)循跡小車程序.doc》由會員分享,可在線閱讀,更多相關(guān)《51單片機(jī)循跡小車程序.doc(4頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
/*功能:尋跡小車
使用芯片:AT89S52 或者 STC89C52 或AT89S51 STC89C51
晶振:12MHZ
編譯環(huán)境:Keil
作者:MH~ */
#include
// 引用標(biāo)準(zhǔn)庫的頭文件
#include
#define uchar unsigned char
#define uint unsigned int
//=================電機(jī)驅(qū)動(dòng)=====================
sbit dianji_r = P3^0; //右邊電機(jī)控制口,低電平轉(zhuǎn)?
sbit dianji_l = P3^7; //左邊電機(jī)控制口,低電平轉(zhuǎn)
//=============循跡感應(yīng)接口======================
sbit xjmk_r = P3^2;// 右邊尋跡模塊檢測口 INT0
sbit xjmk_l = P3^3;// 左邊尋跡模塊檢測口 INT1
void check_righet();//右邊時(shí)候檢測到黑線測試程序
void check_left();//左邊時(shí)候檢測到黑線測試程序
void delay_50us(uint t);
void delayms(uint Ms);
uchar r_count;//右邊傳感器檢測到的次數(shù)計(jì)數(shù)單元
uchar l_count;
uint time;
//***********************主程序******************************
main()
{
time=50;
dianji_r=0;//上電時(shí)右側(cè)電機(jī)運(yùn)行
dianji_l=0;//上電時(shí)左側(cè)電機(jī)運(yùn)行
EA=1;
EX1=1;
EX0=1;
IT1=0;
IT0=0;
xjmk_r=1;//置IO為1,準(zhǔn)備讀取數(shù)據(jù)
xjmk_l=1;
_nop_();
r_count=0;
l_count=0;
while(1)
{
_nop_();
// check_righet();//調(diào)用右邊尋跡檢測傳感器
// check_left();//
if(r_count>=1)
{
delayms(time);
dianji_r=0;
dianji_l=0;
r_count=0;
_nop_();
}
if(l_count>=1)
{
delayms(time);
dianji_r=0;
dianji_l=0;
l_count=0;
_nop_();
}
}
}
void init0int() interrupt 2
{
l_count=5;
dianji_l=1;
dianji_r=0;
if(r_count>0)
{ EX0=0;
delayms(20);
if(time>=20)time-=19;
EX0=0;
}
return;
}
void init1int() interrupt 0
{
r_count=5;
dianji_r=1;
dianji_l=0;
if(l_count>0)
{ EX1=0;
delayms(20);
if(time>=20)time-=19;
EX1=1;}
return;
}
//*******************************************************************************
//函數(shù)名稱:
//功能:左邊邊時(shí)候檢測到黑線測試程序
void check_left()
{
if(xjmk_l==0)//檢測右邊的傳感器是否感應(yīng)到黑線
{
delay_50us(1);//延時(shí),去除機(jī)械振動(dòng)
_nop_();
if(xjmk_l==0)//再次檢測
{
delay_50us(1);//延時(shí),去除機(jī)械振動(dòng)
if(xjmk_l==0)
{
l_count++;
xjmk_l=1;
}
}
}
}
//*******************************************************************************
//函數(shù)名稱:
//功能:右邊時(shí)候檢測到黑線測試程序
void check_righet()
{
if(xjmk_r==0)//檢測右邊的傳感器是否感應(yīng)到黑線
{
delay_50us(1);//延時(shí),去除機(jī)械振動(dòng)
if(xjmk_r==0)//再次檢測
{
delay_50us(1);//延時(shí),去除機(jī)械振動(dòng)
if(xjmk_r==0)
{
r_count++;
xjmk_r=1;
}
}
}
}
//*******************************************************************************
//函數(shù)名稱:void delay_50US(unsigned int t)
//功能: 延時(shí)50*t(us)
void delay_50us(uint t)
{
uchar j;
for(;t>0;t--)
{
for(j=19;j>0;j--);
}
}
/*====================================================================
設(shè)定延時(shí)時(shí)間:x*1ms
====================================================================*/
void delayms(uint Ms)
{
uint i,TempCyc;
for(i=0;i
下載提示(請認(rèn)真閱讀)
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
文檔包含非法信息?點(diǎn)此舉報(bào)后獲取現(xiàn)金獎(jiǎng)勵(lì)!
下載文檔到電腦,查找使用更方便
9.9
積分
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
-
51
單片機(jī)
小車
程序
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://www.szxfmmzy.com/p-6621582.html