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