您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 西南交大电脑鼠课程设计报告
西南交通大学本科课程设计(论文)寻线电脑鼠课程设计年级:2014级学号:姓名:专业:指导教师:蒋朝根二零一六年六月西南交通大学本科课程设计(论文)第Ⅰ页目录第1章课程设计任务....................................................1第2章总体设计.........................................................1第3章硬件详细设计.....................................................23.1硬件设计步骤....................................................23.2主控模块(单片机)..............................................23.3传感器模块......................................................43.4电机驱动模块....................................................53.5测速模块........................................................63.5电压检测模块及按键指示模块......................................7第4章软件详细设计.....................................................84.1程序设计流程图.................................................84.2C51单片机的初始化及底层驱动...................................84.3车体转弯控制(左手法则)......................................114.4调整函数......................................................124.5速度PWM设置..................................................14第5章结论与心得体会..................................................17第6章附录............................................................176.1电路原理图.....................................................176.2电路PCB图.....................................................18西南交通大学本科课程设计(论文)第1页第1章课程设计任务该设计是属于单片机原理与应用课程的课程设计。设计以两人组队的形式,制作寻线型电脑鼠。要求能够在8×8的迷宫中搜索路径并计算出最短路径,并能由起点到终点并返回。其中迷宫由25mm宽的黑线组成。电脑鼠第一次进入迷宫和返回迷宫时,可以循着黑线走到终点并记录迷宫信息,第二次进入迷宫时,根据第一次所记录的迷宫信息选择最短路径冲刺到终点。第2章总体设计硬件部分主要由传感器,单片机,电机所组成。传感器采用红外传感器,由发射管和接收管组成,可以探测迷宫中黑线。单片机则采用STC15W413AS芯片,用于编写单片机程序。电机则由单片机产生的PWM以及L9110芯片进行驱动。软件部分主要由产生占空比函数,电脑鼠在迷宫中搜寻路径法则,记录迷宫信息,测速盘计数组成。电脑鼠搜寻迷宫时按照左手法则进行搜寻,根据测速盘的计数得到迷宫坐标,用8×8的数组对迷宫信息进行储存。第一次搜寻时,对死路和走得通的路进行标定,第二次走时,仍然按照左手法则进行,但不走第一次标定的死路。由此达到在迷宫中走最短路径的目的。西南交通大学本科课程设计(论文)第2页第3章硬件详细设计3.1硬件设计步骤硬件的设计步骤主要如下:图1:电脑鼠硬件部分的设计流程图3.2主控模块(单片机)包括STC15W413AS芯片以及连接电脑的下载部分。单片机采用了STC15W4K32S4芯片,其原理图为:寻线型电脑鼠红外传感器电机驱动单片机PCB制作调试检测原理图绘制生成PCB图并布线调整角度元器件焊接电机等组装程序的写入西南交通大学本科课程设计(论文)第3页图2:电脑鼠硬件部分MCU电路图连接电脑的下载部分原理图为:图3:电脑鼠硬件部分下载电路图管脚图如下:图4:电脑鼠硬件部分MCU管脚图西南交通大学本科课程设计(论文)第4页3.3传感器模块本次传感器共有5组,分别按左,左前,中,右前,右的次序安装在车头,一个传感器组有两个灯,一个普通的LED灯,另外一个是光敏二极管。此外,还有指示灯,方便调试电脑鼠的程序。结合运放芯片LM339的运算放大器,将路况信息返回单片机,进行进一步处理。光敏二极管也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止。当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。当光线照射PN结时,可以使PN结中产生电子一空穴对,使少数载流子的密度增加。这些载流子在反向电压下漂移,使反向电流增加。因此可以利用光照强弱来改变电路中的电流。常见的有2CU、2DU等系列。因此,当检测到黑线时,二极管两端跳变为高电平,而检测到跑道旁边的白色区域,变为低电平。图5:单个传感器电路图西南交通大学本科课程设计(论文)第5页图6:发光二极管电路图3.4电机驱动模块本次使用L9110电机驱动芯片。因单片机上的PWM输出的电流不足以驱动电机,所以需要用电机驱动芯片对于PWM调速的电机驱动电路,主要有以下性能指标。1)输出电流和电压范围,它决定着电路能驱动多大功率的电机。2)效率,高的效率不仅意味着节省电源,也会减少驱动电路的发热。要提高电路的效率,可以从保证功率器件的开关工作状态和防止共态导通(H桥或推挽电路可能出现的一个问题,即两个功率器件同时导通使电源短路)入手。3)对控制输入端的影响。功率电路对其输入端应有良好的信号隔离,防止有高电压大电流进入主控电路,这可以用高的输入阻抗或者光电耦合器实现隔离。4)对电源的影响。共态导通可以引起电源电压的瞬间下降造成高频电源污染;大的电流可能导致地线电位浮动。5)可靠性。电机驱动电路应该尽可能做到,无论加上何种控制信号,何种无源负载,西南交通大学本科课程设计(论文)第6页电路都是安全的。图7:电机驱动模块电路图3.5测速模块本次电脑鼠设计使用直流电机,一方面通过对电机的转速加以运算可获得电脑鼠所在方位,记忆当前迷宫情况;一方面在编程时,了解电机转速对电脑鼠行走速度可以进行更好地控制,使其能够在尽量短的时间内遍历迷宫且走到终点。图8:测速模块电路图西南交通大学本科课程设计(论文)第7页3.5电压检测模块及按键指示模块二者起到一个设计辅助的作用,为功能的调试提供了便利。图9:电压检测模块电路图图10:按键、指示检测模块电路图至此,电脑鼠的硬件设计基本完成,完整的原理图、PCB图见附录。西南交通大学本科课程设计(论文)第8页第4章软件详细设计4.1程序设计流程图图11:软件设计流程图4.2C51单片机的初始化及底层驱动/*--------------------------------------------------------------------------REG51.HHeaderfileforgeneric80C51and80C31microcontroller.Copyright(c)1988-2002KeilElektronikGmbHandKeilSoftware,Inc.Allrightsreserved.--------------------------------------------------------------------------*/从起点出发初始化MCU的状态字检测到终点中断红外检测,读取传感器的值检测回到起点最短路径冲刺终点结束迷宫检测子程序路径优化子程序冲刺子程序中断结束西南交通大学本科课程设计(论文)第9页#ifndef__REG51_H__#define__REG51_H__/*BYTERegister*/sfrP0=0x80;sfrP1=0x90;sfrP2=0xA0;sfrP3=0xB0;sfrPSW=0xD0;sfrACC=0xE0;sfrB=0xF0;sfrSP=0x81;sfrDPL=0x82;sfrDPH=0x83;sfrPCON=0x87;sfrTCON=0x88;sfrTMOD=0x89;sfrTL0=0x8A;sfrTL1=0x8B;sfrTH0=0x8C;sfrTH1=0x8D;sfrIE=0xA8;sfrIP=0xB8;sfrSCON=0x98;sfrSBUF=0x99;/*BITRegister*//*PSW*/sbitCY=0xD7;sbitAC=0xD6;sbitF0=0xD5;sbitRS1=0xD4;sbitRS0=0xD3;西南交通大学本科课程设计(论文)第10页sbitOV=0xD2;sbitP=0xD0;/*TCON*/sbitTF1=0x8F;sbitTR1=0x8E;sbitTF0=0x8D;sbitTR0=0x8C;sbitIE1=0x8B;sbitIT1=0x8A;sbitIE0=0x89;sbitIT0=0x88;/*IE*/sbitEA=0xAF;sbitES=0xAC;sbitET1=0xAB;sbitEX1=0xAA;sbitET0=0xA9;sbitEX0=0xA8;/*IP*/sbitPS=0xBC;sbitPT1=0xBB;sbitPX1=0xBA;sbitPT0=0xB9;sbitPX0=0xB8;/*P3*/sbitRD=0xB7;sbitWR=0xB6;sbitT1=0xB5;sbitT0=0xB4;sbitINT1=0xB3;西南交通大学本科课程设计(论文)第11页sbitINT0=0xB2;sbitTXD=0xB1;sbitRXD=0xB0;/*SCON*/sbitSM0=0x9F;sbitSM1=0x9E;sbitSM2=0x9D;sbitREN=0x9C;sbitTB8=0x9B;sbitRB8=0x9A;sbitTI=0x99;sbitRI=0x98;#endif4.3车体转弯控制(左手法则)/*******************************************************************************functionname:voidleftMethod(void)*parament:none*returnvalue:none*description:左手法则优先级为:右-前-左并且存储即将行走的下一个格子的坐标******************************************************************************/voidLeftMethod4(){if(Left_Detector==0){TurnLeft();}elseif(Front_Detector==0)西南交通大学本科课程设计(论文)第12页{Go();}elseif(Right_Detector==1&&Left_Front_Detector==1){TurnRight();}elseif(Left_Detector==1&&Front_Detector==1&&Right_Detecto
本文标题:西南交大电脑鼠课程设计报告
链接地址:https://www.777doc.com/doc-4227520 .html