对于运用C51作为控制器的自动循迹小车的开发程序,分享给大家!程序中运用的接口,还有中断这些需要自己读懂就知道了!
2021-07-19 17:10:54 3KB 单片机C51,自动循迹小车
1
设计了一种以红外传感器ST188、AT89S51为控制核心的自动循迹小车,系统采用单片机AT89S51产生PWM波调控小车速度,红外传感器ST188对路面黑色轨迹进行检测,并将检测到的信号反馈给微控系统AT89S51,AT89S51由采集到的信号发出指令,控制小车电机驱动电路以调整行驶方向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动循迹的目的。
1
这是本人的毕业设计课题是“基于光电传感器自动循迹小车设计”其工作原理是:通过两排光电管检测路面的跑道信息然后控制舵机的转向,使小车能在指定的跑道上快速稳定的行驶,达到智能的效果!
2021-06-29 22:27:49 2.61MB 智能车
1
#include #include "qudong.h" #include "duankou.h" #include "lcd1602.h" #include "celv.h" #define uchar unsigned char #define uint unsigned int #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) //****************************************************************************** //全局变量 //****************************************************************************** float voltage=6.0; //实际电压值 int RS1=100; int LS1=100; int RS0=100; int LS0=100; char heixian=0x03; //不等于0x03表示检测到信号,等于0x03表示没检测到信号 char ji_shu=0; //表示第几次检测到黑线 char youxinhao=0; //=1表示检测到信号,=0表示没有检测到信号 uint total_time_count=0;//时间相关变量 uint start_low_speed=0; uint end_low_speed=0; uint end_all=0; uint start_all=0; uint LM_cap_new=0; //测速相关变量 uint LM_cap_old=0; uint LM_cap_count=0; uint LM_mai_kuai=0; float real_LM_speed=0.0; float top_speed=0; float average_speed=0; uint RM_cap_new=0; uint RM_cap_old=0; uint RM_cap_count=0; uint RM_mai_kuai=0; float real_RM_speed=0.0; float total_distance=0; //测量值转化为实际值相关变量 float dis1=0; float dis0=0; uint low_speed_time=0; uint total_time=0; //****************************************************************************** //系统时钟初始化,aclk=32768k,mclk=XT2,SMCLK = XT2。 //****************************************************************************** void Init_clock(void) { DCOCTL = DCO0 + DCO1 + DCO2; // Max DCO数字晶振最高频率 BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL选择高速晶振最高频率 BCSCTL2 |=SELM_2+SELS; //MCLK=8M,SMCLK = XT2,系统主时钟选择高速晶振 do //清除振荡器失效标志,等振荡器稳定。 { IFG1&=~OFIFG; for(unsigned int i=0XFF;i>0;i--); } while((IFG1&OFIFG)!=0); } #pragma vector=ADC_VECTOR //ADC12 interrupt service routine __interrupt void ADC12_ISR (void) { if(ADC12MEM0<2816)P6OUT&=~BIT3; //欠压指示灯亮 else P6OUT|=BIT3; } //*************************
2021-06-13 00:47:38 95KB msp430
1
基于51单片机的自动循迹小车,有仿真图,有源程序
2019-12-21 21:58:25 445KB 自动循迹
1
该程序用于省赛寻迹小车,完成了所有功能,供大家参考。本人首发,此前没有出现在网上。也欢迎大家看我的博客文章,上面详细介绍了用MSP430G2553实现功能的全过程。
1
自动循迹小车的详细原理图,电源电路图,驱动电路图及调试程序源代码
2019-12-21 20:24:26 3.02MB 自动循迹小车
1
基于51单片机的三路电磁传感器的智能循迹小车完整程序,使用keil打开即可编译,功能已经完美实现,代码有详细注释。
2019-12-21 20:16:17 36KB 智能车 51单片机 自动循迹
1
大学电子设计竞赛中基于ARM STM32的自动循迹小车控制程序
2019-12-21 18:54:57 115.9MB ARM STM32
1
大学电子设计竞赛中基于ARM STM32的自动循迹小车控制程序
2019-12-21 18:49:43 27.56MB ARM STM32 小车
1