欢迎来到天天文库
浏览记录
ID:62980756
大小:202.50 KB
页数:9页
时间:2021-07-23
《最新51单片机循迹小车程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、精品资料51单片机循迹小车程序........................................精品资料/*功能:寻迹小车使用芯片:AT89S52或者STC89C52或AT89S51STC89C51晶振:12MHZ编译环境:Keil作者:MH~*/#include//引用标准库的头文件#include#defineucharunsignedchar#defineuintunsignedint//=================电机驱动=====================sbitdianji_r=P3^0;//右边电机控制口,低电平转
2、?sbitdianji_l=P3^7;//左边电机控制口,低电平转//=============循迹感应接口======================sbitxjmk_r=P3^2;//右边寻迹模块检测口INT0........................................精品资料sbitxjmk_l=P3^3;//左边寻迹模块检测口INT1voidcheck_righet();//右边时候检测到黑线测试程序voidcheck_left();//左边时候检测到黑线测试程序voiddelay_50us(uintt);voiddelayms(uintMs);ucharr_cou
3、nt;//右边传感器检测到的次数计数单元ucharl_count;uinttime;//***********************主程序******************************main(){time=50;dianji_r=0;//上电时右侧电机运行dianji_l=0;//上电时左侧电机运行EA=1;EX1=1;EX0=1;IT1=0;........................................精品资料IT0=0;xjmk_r=1;//置IO为1,准备读取数据xjmk_l=1;_nop_();r_count=0;l_count=0;while(1)
4、{_nop_();//check_righet();//调用右边寻迹检测传感器//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_();}}}voidinit0int()interrupt2{l_count=5;dianji_l=1;dianji_r=0;i
5、f(r_count>0){EX0=0;delayms(20);if(time>=20)time-=19;EX0=0;}return;}voidinit1int()interrupt0........................................精品资料{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;}//**************************************************************
6、*****************//函数名称://功能:左边边时候检测到黑线测试程序voidcheck_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;}}}}//************************************************
7、*******************************//函数名称://功能:右边时候检测到黑线测试程序voidcheck_righet(){if(xjmk_r==0)//检测右边的传感器是否感应到黑线{........................................精品资料delay_50us(1);//延时,去除机械振动if(xjmk_r==0)//再次检测{delay
此文档下载收益归作者所有