资源描述:
《嵌入式系统原理及应用课程设计说明书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统原理及应用课程设计说明书目录第一部分整体系统总体设计1第二部分硬件电路设计2第三部分软件系统设计3第一部分整体系统总体设计输入信号四路黑白传感器,进过stm32信号处理后,发送控制信号给L298n驱动,控制电机的转速。实现整体智能小车的避障功能。第二部分硬件电路设计黑白循迹传感器原理图图三电机驱动原理图采用L298作为驱动芯片,该芯片是为控制和驱动电机设计的两通道推挽式功率放大专用集成器件,其主要特点是具有低静态工作电流,每通道可输出800MA连续电流,TTL/CMOS输出电平兼容,另外内置钳位
2、二极管能释放感性负载的反向冲击电流,这样可使它在进行驱动直流电机时安全可靠。第三部分软件系统设计:按键为表示传感器输入信号,GPIOA.0,GPIOA.1,GPIOA.2,GPIOA.3为电机控制控制信号。根据不同的情况最初反应,实现避障功能。详细情况请看下面main程序的实现。intkeyjc(){intk1,k2,k3,k4;k1=KEY1;k2=KEY2;k3=KEY3;k4=KEY4;return(k4)*8+(k3)*4+(k2)*2+(k1);}intmain(void){intdata;de
3、lay_init();//延时函数初始化LED_Init();KEY_Init();//初始化与LED连接的硬件接口while(1){data=keyjc();GPIO_ResetBits(GPIOA,GPIO_Pin_0);GPIO_ResetBits(GPIOA,GPIO_Pin_1);GPIO_ResetBits(GPIOA,GPIO_Pin_2);GPIO_ResetBits(GPIOA,GPIO_Pin_3);switch(data){case15:{GPIO_SetBits(GPIOA,GPI
4、O_Pin_0);GPIO_ResetBits(GPIOA,GPIO_Pin_1);GPIO_SetBits(GPIOA,GPIO_Pin_2);GPIO_ResetBits(GPIOA,GPIO_Pin_3);break;}//前进case8:case12:case13:case14:{GPIO_SetBits(GPIOA,GPIO_Pin_0);GPIO_ResetBits(GPIOA,GPIO_Pin_1);GPIO_ResetBits(GPIOA,GPIO_Pin_2);GPIO_SetBits(
5、GPIOA,GPIO_Pin_3);delay_us(1);break;}//左转case1:case3:case7:case11:{GPIO_ResetBits(GPIOA,GPIO_Pin_0);GPIO_SetBits(GPIOA,GPIO_Pin_1);GPIO_SetBits(GPIOA,GPIO_Pin_2);GPIO_ResetBits(GPIOA,GPIO_Pin_3);delay_us(1);break;}//右转case0:case2:case4:case5:case6:case9:c
6、ase10:{GPIO_ResetBits(GPIOA,GPIO_Pin_0);GPIO_SetBits(GPIOA,GPIO_Pin_1);GPIO_ResetBits(GPIOA,GPIO_Pin_2);GPIO_SetBits(GPIOA,GPIO_Pin_3);delay_us(1);break;}//后退}}}第四部分总结与体会这次作品的完成我收获很大。首先是我对电路的原理及功能更加熟悉,提高了动手设计能力以及对电路的分析能力,在软件的编程方面也得到一部分提升,对所学知识得到巩固。然后是做事不能
7、马虎,要有耐心,细心的完成每一件小事,就是在塑造一件大事。我也深深的体会到自己还有很多要学的东西,自己的努力还不够,始终要以学习为重。我也知道千里之行始于足下,只有一步步都踩的扎实稳健才能将今后的路途踩得宽踩得稳。最后,感谢老师在我遇到困难时,给予我的建议。