智能循迹小车实训报告

上传人:人*** 文档编号:561473915 上传时间:2022-10-21 格式:DOCX 页数:23 大小:371.05KB
返回 下载 相关 举报
智能循迹小车实训报告_第1页
第1页 / 共23页
智能循迹小车实训报告_第2页
第2页 / 共23页
智能循迹小车实训报告_第3页
第3页 / 共23页
智能循迹小车实训报告_第4页
第4页 / 共23页
智能循迹小车实训报告_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《智能循迹小车实训报告》由会员分享,可在线阅读,更多相关《智能循迹小车实训报告(23页珍藏版)》请在金锄头文库上搜索。

1、实训报告课程名称:单片机实训完成日期:2014年7月10 日任务书实训(习)题目:智能小车的功能设计与实现实训(习)目的:(1)、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解 决工业控制的能力;(2)培养针对课程需要。锻炼学生查阅有关手册、图标及文献资料的自学能力, 提高组成系统、编程、调试的动手能力;(3)对课程的方案分析、选择、比较、熟悉单片机系统开发、研制的过程,软 硬件设计的方法、容及步骤。实训(习)容:安装智能小车及相关功能设计、调试实训(习)要求:1. 本实训要求由一个团队完成,团队人员不超过8个人。2. 通过所学知识并利用智能小车、计算机、 keil 软件、烧

2、写软件等完成实训 项目,并拟定实训报告。3. 能正确组装和调试智能小车。4. 实训完成后,根据实训容撰写实训报告书一份。实训报告应包括的主要容(参考)1 系统硬件组成与工作原理1.1 控制器与最小系统1.2 显示模块与按键模块1.3 报警模块1.4 电机与驱动模块的工作原理与接口1.5 循迹模块的工作原理与接口1.6 避障模块的工作原理与接口2 功能方案及软件设计2.1 功能设计2.2 软件设计 (结合某一赛道、障碍设置说明程序设计思路,给出流程图、程序代码)3 功能调试与总结3.1 功能调试排版要求:正文小 4 宋体;段首缩进2字,行间距固定值 18 磅。容展开可以按3级标题形式,如:按1

3、、1.1 、1.1.1形式(如果需要)。每个1级标题另起一页, 1 级标题三号黑体居中,题序和标题之间空两个空格,不加标点, 段前、段后均为 1 行,固定值 22 磅。 2 级标题:四号黑体左起,四号黑体,段 前、段后均为12 磅。三级标题:小四号黑体左起,段前、段后均为 6 磅。 图名、表名五号黑体,英文、数字字体为 Times New Roman页边距:上、下、左3厘米,右2厘米,A4纸打印。1 系统硬件组成与工作原理1.1.1 控制器与最小系统 最小系统:要使一块单片机芯片工作起来最简陋的接线方式就是单片机的最小系统。下面 STC89C52 单片机的最小系统(注意:不同封装的单片机引脚位

4、 置不同,下图是DIP40封装)。U1123411213141?16181920P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RSTP0.7RXD/P3.0EA/VPPTXD/P3.1PLE/PINT0/P3.2PSENINT1/P3.3P2.7T0/P3.4P2.6T1/P3.5P2.5WR/P3.6P2.4RD/P3.7P2.3XTAL2P2.2XTAL1P2.1VSSP2.0STC89C5139 H383736353433323130292S2726252423222130PF 12MHZ_ C3将一块单片机

5、芯片接成这样就能工作了。下面分析一下电路中各个部分的作用:1. 供电电路:40脚接电源+5V, 20脚接地,这样便完成了单片机的供电。2. 选择使用部ROM:我们下载程序的时候是将程序下载的单片机部的ROM里面 存放的,将EA/VPP端接到高电平(+5V),就告诉单片机系统我们选择的是部 的ROM,这样单片机工作的时候就会执行部ROM里面的代码了。如果将EA/VPP 接地,单片机就会执行扩展的外部ROM,我们没有扩展ROM呀,以后在没有 扩展ROM的时候我们都将它接高电平就OK。3. 复位电路:复位电路由电阻 R1 和电容 C1 组成。复位电路是用以完成单片机 的复位初始化操作的(复位单片机R

6、AM和各个寄存器的值的)。也就是说,在 单片机还没工作之前,我们先把寄存器的值全部复位成初始的默认值然后再 开始工作,避免执行程序的时候发生错乱。那复位电路的工作原理是怎样的 呢?在单片机没上电的时候,电容 C1 两个极板没有电荷,在单片机上电的瞬 间,电容 C1 两端获得电压开始充电,既然 C1 要充电那么就必定有电流通过 R1,所以在R1两端产生了瞬时电压,这个电压被加到了单片机的RST端,单 片机的RST端得到了一个高电平便复位了。随着时间的推移,C1充满电了, 再也没电流通过R1 了,R1两端便没有了电压,单片机的RST引脚又由高电 平变成了低电平,这时,单片机便开始工作了。值得注意的

7、是,要引起单片机的复位,加在 RST 端的高电平必须保持在一定的时间以上(连续 2 个机器 周期以上高电平)。4. 时钟电路:时钟电路由 C2、C3 和晶振 Y1 组成。时钟电路的作用是给单片机 提供时钟脉冲,只有给单片机提供时钟脉冲单片机才会执行程序。JLJ3L2二:CL3 LMCC-K3:-P:0单片机晶振二远琳Pl j一加辽低器:卩“UKDK1PJ5:.23JDB-2P:.5?4刃单片机最小糸統vxEHLM5P+1巩。voc402 Pl.1甜3 PL2PX1334 PL 3P?2r5 PL 4MJSB6巩SPi 4357 PL .5Pki34?Pl.7K-5339R3TP)J31LD L

8、ffin計L L TD.1LE 35L21?13 1KHPL72314 TOP2C27LS 11P】315L6氐M_42517 HJPL324PL223& M-iL LFU22曲音NDPXD2LSTGHZfriZH1.2 显示模块与按键模块1.2.1 显示模块学习目标认识数码管是什么东西?用HJ-1G点亮第一个数码管,认识一个新的芯片HJ573 集成电路的应用。1.2.4 单个数码管原理图D DP如果需要显示“3”字符,则“E”“F” “DP”段都不显示,其他段点亮可以根据上图算出需要的8 位段码值:共阴16进制:0x4F共阳16进制:OxBO本开发板使用共阴数码管GBGECDDPDP共阴共阳

9、f 1 二,1111f 1 二,111.2.5开发板数码管模块原理图1.3 源码编写开始写程序之前认识一下锁存器(74HC573):顾名思义,就是把输入端的 数据锁存(或送)到输出端,请看下图中的U3元件,第11角(锁存端)为高电 平的时候,右边D0-D7的输入与左边Q0-Q7的输出是直通的,就是说,输入端是 什么电平,输出端就是什么电平,可以把它当作不存在。当第11 角为低电平的 时候,左右两端就被断开了,无论输入端怎么变化,输出端都不会变化,当第11 角由低电平变为高电平的一瞬间,输入端的数据立刻被传送到输出端,并且在11 角保持为高电平期间,输出端数据始终与输入端数据相同,如果此时我们再

10、次把 第11 角设置为低电平,那么以后当输入端无论再怎么变化,输出端都不会变化 而是保持刚才第11 角在下降沿(由高电平到低电平跳变)之间时输入端的值, 这样就达到了锁存数据的目的,这也就是所谓的总线设计思路,一个8 位的数据 线加一个锁存器后就可以扩接多个元件,当选通哪个元件的片选信号,就送数据 给那个元件。先说这个元件,以后用到别的元件我们再解释。74HC573 11 脚接高电平,锁存不起作用,相当于直通。相应的段赋值“1” 有效。74HC138 A、B、C赋值07,则输出端分别是Y0Y7置“0”,如如P2=0, 则Y0=0; P2=6;贝OY6=0;即选通第七个数码管。程序如下/*容:数

11、码管使用动态扫描显示,所以可以同时看到数码管同时显示数字或者 字符,扫描原理可以参#include#define uint unsigned int #define uchar unsigned char sbit dula=P2人6;sbit wela=P2人7;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void main(void) /每一个C语言程序有且只有一个主函数,while(1) /循环条件永远为真,以下程序一直执行下去。dula=1;P0=0x5b; /显示一个2dula=0;wela=1;P0=0xfe;

12、 /显示一位数码管?可以自己修改显示位数wela=0;delay(1);多个数码管同时显示上一节单个数码管显示,实际使用中单个数码管往往不能满足要求,这就需 要多个数码管组合使用,单个数码管一般用静态显示,占用IO 口线较多,如果 使用普通的静态显示,单片机的IO 口是不够用的。所以就需要使用动态扫描。通过程序让任意一位数码管显示任意一种字符,这样我们可以以时间为轴, 循环显示每个数码管需要的数值,当循环显示的时间比较小时,眼睛就不能分辨 出闪烁,而是看到一个静态的数值显示,可以通过下载“数码管动态扫描”和“数 码管动态扫描演示”,就可以深入了解这个原理,以后使用的数码管显示的部分 都是基于这

13、个原理的。1.4总结数码管是最常用的显示输出模块,可以显示温度,时间,步进电机转速等, 数码管里面简单一点说是集成了8 个发光管,由点变成线,由7 条线1 个点组成 1 个数码管,发光管我们会写程序控制它了,这个数码管一定难不到我们,原理 方法是一样的,这次不是单片机IO 口直接驱动的,是加了573还有138共同来 控制数码管的点亮,主要是为了节省单片机IO 口,一口多用,一个8位I0 口实 现多功能控制。1.5.1 学习目标独立按键是区别于矩阵键盘的一种按键方式,主要是按键直接连接到IO 口, 另外一端连接VCC或者GND,般情况连接到GND(地),也就是按键按下的时候, IO 口的电平被强

14、制拉低,即0,而通过IO输入检测该端口电平就可以判断按键 是否按下。1.5.2 硬件电路1.6 原理图1.6.1 触点存在抖动现象说明由于按键本身都存在不同的机械抖动,单片机属于高速检测器件,可以很容易检 测出抖动,但抖动并不是我们需要的,容易造成误操作,所以正常使用过程中需 要添加去抖动程序,主要用于跳过抖动,避免造成干扰。1.6.2 开发板独立按键模块原理图1.7 源码编写独立按键软件操作简单,主要检测按键连接的IO 口是否为“0”,为“0”表 示按键按下。用以下语句:Sbit KEY1 = P3A0;If(! KEY1)/添加按键按下时需要执行的操作实际使用中按键有固定的机械抖动,根据不同按键抖动时间不同,一般4-15mS, 根据这个特点,需要延时躲避抖动,由于按下和释放都会存着抖动,实际使用程 序需要进行2 次去抖。具体程序如下:#include sbit BY1=P3A4; /定义按键的输入端S2键unsigned ch

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号