智能循迹小车实训报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训报告课程名称:单片机实训

完成日期:2014 年 7 月 10 日

任务书

实训(习)题目:

智能小车的功能设计与实现

实训(习)目的:

(1)、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;

(2)培养针对课程需要。锻炼学生查阅有关手册、图标及文献资料的自学能力,提高组成系统、编程、调试的动手能力;

(3)对课程的方案分析、选择、比较、熟悉单片机系统开发、研制的过程,软硬件设计的方法、内容及步骤。

实训(习)内容:

安装智能小车及相关功能设计、调试

实训(习)要求:

1. 本实训要求由一个团队完成,团队人员不超过8个人。

2. 通过所学知识并利用智能小车、计算机、 keil软件、烧写软件等完成实训项目,并拟定实训报告。

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 ……、1.1 ……、1.1.1 形式(如果需要)。每个1级标题另起一页,1级标题三号黑体居中,题序和标题之间空两个空格,不加标点,段前、段后均为1行,固定值22磅。2级标题:四号黑体左起,四号黑体,段前、段后均为12磅。三级标题:小四号黑体左起,段前、段后均为6磅。

图名、表名五号黑体,英文、数字字体为Times New Roman

页边距:上、下、左3厘米,右2厘米,A4纸打印。

1系统硬件组成与工作原理

1.1.1控制器与最小系统

最小系统:要使一块单片机芯片工作起来最简陋的接线方式就是单片机的

最小系统。下面STC89C52单片机的最小系统(注意:不同封装的单片机引脚位置不同,下图是DIP40封装)。

将一块单片机芯片接成这样就能工作了。下面分析一下电路中各个部分的作用:

1.供电电路:40脚接电源+5V,20脚接地,这样便完成了单片机的供电。

2.选择使用内部ROM:我们下载程序的时候是将程序下载的单片机内部的ROM

里面存放的,将EA/VPP端接到高电平(+5V),就告诉单片机系统我们选择的是内部的ROM,这样单片机工作的时候就会执行内部ROM里面的代码了。如果将EA/VPP接地,单片机就会执行扩展的外部ROM,我们没有扩展ROM呀,以后在没有扩展ROM的时候我们都将它接高电平就OK。

3.复位电路:复位电路由电阻R1和电容C1组成。复位电路是用以完成单片机

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

机的复位,加在RST端的高电平必须保持在一定的时间以上(连续2个机器周期以上高电平)。

4.时钟电路:时钟电路由C2、C3和晶振Y1组成。时钟电路的作用是给单片机

提供时钟脉冲,只有给单片机提供时钟脉冲单片机才会执行程序。

1.2 显示模块与按键模块

1.2.1 显示模块学习目标

认识数码管是什么东西?用HJ-1G 点亮第一个数码管,认识一个新的芯片HJ573 集成电路的应用。

1.2.4 单个数码管原理图

如果需要显示“3”字符,则“E”“F”“DP”段都不显示,其

他段点亮

可以根据上图算出需要的8 位段码值:

共阴16 进制:0x4F

共阳16 进制:0xB0

本开发板使用共阴数码管

1.2.5开发板数码管模块原理图

1.3 源码编写

开始写程序之前认识一下锁存器(74HC573):顾名思义,就是把输入端的数据锁存(或送)到输出端,请看下图中的U3 元件,第11 角(锁存端)为高电平的时候,右边D0-D7 的输入与左边Q0-Q7 的输出是直通的,就是说,输入端是什么电平,输出端就是什么电平,可以把它当作不存在。当第11 角为低电平的时候,左右两端就被断开了,无论输入端怎么变化,输出端都不会变化,当第11 角由低电平变为高电平的一瞬间,输入端的数据立刻被传送到输出端,并且在11 角保持为高电平期间,输出端数据始终与输入端数据相同,如果此时我们再次把第11 角设置为低电平,那么以后当输入端无论再怎么变化,输出端都不会变化而是保持刚才第11 角在下降沿(由高电平到低电平跳变)之间时输入端的值,这样就达到了锁存数据的目的,这也就是所谓的总线设计思路,一个8 位的数据线加一个锁存器后就可以扩接多个元件,当选通哪个元件的片选信号,就送数据给那个元件。先说这个元件,以后用到别的元件我们再解释。

74HC573 11 脚接高电平,锁存不起作用,相当于直通。相应的段赋值“1”有效。74HC138 A、B、C赋值0~7,则输出端分别是Y0~Y7置“0”,如P2=0,则Y0=0;P2=6;则Y6=0;即选通第七个数码管。

程序如下

/*-----------------------------------------------

内容:数码管使用动态扫描显示,所以可以同时看到数码管同时显示数字或者字符,扫描原理可以参

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=P2^6;

相关文档
最新文档