C51单片机应用C语言程序设计智能机器人.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C51单片机应用C语言程序设计智能机器人.docx》由会员分享,可在线阅读,更多相关《C51单片机应用C语言程序设计智能机器人.docx(163页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、工程对象教学法系列教材C51单片机应用与C语言程序设计基于机器人工程对象的项目实践秦志强等编著电子工业出版社内容提要本教材以两轮智能移动机器人工程项目为主线,通过循序渐进的构建智能机 器人的智能控制器和传感器电路,将单片机外围接口特性、内部结构原理、应用 设计方法和C语言程序设计等知识通过先项目实践、后总结归纳的方式传授给 学生,彻底打破了传统的教学方法和教学体系结构,解决了单片机原理与应用, 以及C语言程序设计等核心专业基础课程抽象与难学的老大难问题。本书可作为中等职业教育和高等职业教育的单片机技术与应用以及嵌入式C语言程序设计两门课程的学习教材和教学参考书,也可以作为本科院校工程训练、电子
2、制作的实践教材和相应专业课程的实验配套教材,同时还可以供广大希望从事嵌入式系统开发和C语言程序设计的学生或者个人自学使用。刖 S本书可作为高职高专院校工程类专业二年级及以上学生学习单片机原理与应用的主导教材,也 可以作为大学二年级及以上工程类专业学生学习单片机原理与应用的辅助教材,还可以供其他机器 人爱好者使用。使用者只需要有初级的编程基础和简单的计算机操作和基础的英语,不需要专业的 C语言基础。本书的任务是要让每个学习单片机原理与应用的学生或者个人都能够以教育机器人作为 程対象,让他们在开发自己的教育机器人过程中学习和掌握单片机的基本原理与应用系统的开发技 能,包括: C51系列单片机的C语
3、言编程环境和使用方法; 单片机的输入接口、使用方法和C程序设计: 单片机的输出接口、使用方法和C程序设计; 単片机的接口电气特性和外围电路; 单片机的串口通讯、应用与C程序设计; 单片机与LCD的连接与C编程; 基础传感器原理和用C51编程实现机器人基本智能的实现方法等。本书在编写过程当中非常注意的一点,就是寓教于乐,兴趣为先。将传统的学习单片机原理与 应用(即先理论讲解,然后实验验证)的模式,改变为先实验和实践如何应用,然后再归纳单片机 原理(即先实践,后归纳)的模式,并以机器人作为贯穿实践过程的典型工程对象,使整个教学和 学习过程充满挑战和乐趣,大大提高学习效率。同时在学习和实践的过程中,
4、还可以培养学生的系 统世界观和方法论。熟练掌握本教材的学生或者个人,可以继续高级机器人制作的课程。通过本课程的学习和实践,可以引领学生或者个人进入神奇的信息技术世界和机器人世界。本书的完成,编者首先要感谢东南大学的张文锦教授,是他的建议促成了本书的成文;其次要 感谢深圳市德普施科技有限公司的邓莹和阮科,邓莹对本书的最后完成付出了巨大的努力,阮科 一-验证了本书的所有项目;还要感谢德普施科技的前员刘庆秋,是他最早帮助起草了本书的初稿。目 录第一章 C5!单片机编程环境与机器人智能1单片机与C51系列单片机1机器人与 C51 单片机3任务获得软件4任务二安装软件5任务三硬件连接5任务四你的第一个程
5、序6printf 函数12C语言数据类型14常量14变量14运算符15表达式15任务五做完实验关断电源16工程素质和技能归纳16科学精神的培养16第二章单片机输出接口与伺服电机控制17C51单片机的输入/输出接口17任务单灯闪烁控制18while 语句20任务二机器人伺服电机控制信号21任务三计数并控制循环次数23for语句23任务四 用你的计算机来控制机器人的运动27scant 函数28工程素质和技能归纳29科学精神的培养29第三章 C语言函数与机器人巡航控制31任务基本巡航动作31任务二 匀加速/减速运动36任务三用函数调用简化运动程序38任务四髙级主题用数组建立复杂运动43字符型数据43
6、数组45switch 格句48工程素质和技能归纳50科学精神的培养50第四章 单片机输入接口与机器人触觉导航51触觉导航与单片机输入接口51任务一 安装并测试机器人胡须51位操作符53if语句54?操作符54任务二 通过胡须导航57关系与逻辑运算符58任务三机器人进入死区后的人工智能决策62工程素质和技能归纳66科学精神的培养66第五章C51输入/输出接口与红外线导航67使用红外线发射和接收器件探测道路67任务 搭建并测试IR发射和探测器对68任务二探测和避开障碍物72任务三 高性能的IR导航76do.while 语句78任务四俯视的探测器79工程素质和技能归纳84科学精神的培养84第六章机器
7、人的距离检测85用同样的IR LED/探测电路检测距离85任务一定时/计数器的运用85任务测试扫描频率89任务三 尾随小车92任务四 跟际条纹带98工程素质和技能归纳101科学精神的培养101第七章 机器人中UART的应用102串口控制寄存器SCON103RS232电平与TTL电平转换103任务编写串口通信程序104串口工作流程108工程素质和技能归纳109科学精神的培养109第八章LCD应用编程及与机器人的集成技术110任务 认识LCD显示器110任务二 编写LCD模块驱动程序113指针117任务三 用LCD显示机器人运动状态118C语言的编译预处理118工程素质和技能归纳125科学布神的培
8、养125第九章 多传感器智能机器人126多传感器智能机器人的设计目标126任务 多传感器信息与C语言结构体的使用和编程126结构体126任务二智能机器人的行为控制策略和编程133工程素质和技能归纳138科学精神的培养138附录AC语言概要归纳139附录B微控制器原理归纳149附录C无焊锡面包板153附录DLCD模块电路156附录E本讲义所使用机器人零配件清单157第一章C51单片机编程环境与机器人智能单片机与C51系列单片机什么是单片机?台能够工作的计算机要有这样儿个部份:CPU (Central Processing Unit,中央处理单 元:进行运算、控制)、RAM (Random Acc
9、ess Memory,随机存储器:数据存储)、ROM (Read Only Memory,只读存储器:程序存储)、输入/输出设备(串行口、并行等)。在个人计算 机上这些部份被分成若干块芯片或者插卡,安装一个称之为主板的印刷线路板上。而在单片 机中,这些部份全部被做到块集成电路芯片中,所以就称为単片机。学习单片机有必要吗?与我们经常使用的个人计算机、笔记本电脑相比,单片机的功能是很小的,那学它干啥 吗?实际生活中并不是任何需要计算机的场合都要求计算机有很高的性能,比如空调温度的 控制,冰箱温度的控制等都不需要很复杂高级的计算机。应用的关键是看是否够用,是否有 很好的性能价格比。单片机凭借体积小、
10、质量轻、价格便宜等优势,已经渗透到我们生活的各个领域:导弹 的导航装置、飞机上各种仪表的控制、工业自动化过程的实时控制和数据处理、广泛使用的 各种智能IC卡、民用豪华轿车的安全保障系统、录象机、摄象机、全自动洗衣机、程控玩 具、电子宠物等等。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,単片机的学习、开发与应用将造就一批计算机应用、嵌入式系统设计与智能化控 制的科学家、工程师,同时,学习使用单片机也是了解通用计算机原理与结构的最佳选择。C51系列单片机一提到单片机,你就会经常听到这样些名词:MCS51、8051、C51等等,它们之间究 竟是什么关系呢?MCS51是指由美国!NTEL
11、公司生产的系列单片机的总称。这系列单片机包括了好 些品种,如8031, 8051, 8751等,其中8051是最典型的产品,该系列单片机都是在8051 的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单 片机。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051 为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求。其中较典型的款单 片机AT89c51 (简称C51)由于由美国ATMEL公司以8051为内核开发生产。本教材使用 的AT89S52单片机是在此基础上改进而来。AT89s52是种高性能、低功耗的8位单片机,内
12、含8k字节ISP(In-system Programmable, 系统在线编程)可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高 密度、非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。在实际工程应用 中,功能强大的AT89s52已成为许多高性价比嵌入式控制应用系统的解决方案。什么是单片机的位数?现在市场上闹得沸沸扬扬的微软新推出的系统VISTA是64位操作系统:大家常用的系 in WINDOWS XP. WINDOWS 2003第足32位操作系统;这里你将用到的单片机AT89s52 是8位的,而有些厂家生产的単片机则是16位的。那么,这些位数:64、32
13、、16、8代表 什么意义呢?简単地说,这些位数指的是CPU能一次处理的数据的最大长度。当然,这里的位是指二进制的位,而非十进制的位。AT89S52是8位的单片机,意味着它如果要处理16位数据 的话就应该分两次处理。嵌入式系统嵌入式系统是指嵌入到工程对象中能够完成某些相对简单或者某些特定功能的计算机 系统。与从8位机迅速向16位、32位、64位过渡的通用计算机系统相比,嵌入式系统有其 功能的特殊要求和成本的特殊考虑,从而决定了嵌入式系统在高、中、低端系统三个层次共 存的局面。在低端嵌入式系统中,8位单片机从2。世纪0年代初期诞生至今还一直在业 生产和日常生活中广泛使用。嵌入式系统嵌入到对象系统中
14、,并在对象环境下运行。与对象领域相关的操作主要是对 外界物理参数进行采集、处理,对对象实现控制,并与操作者进行人机交互等。鉴于嵌入式低端应用对象的有限响应要求、嵌入式系统低端应用的巨大市场以及8位机 具有的计算能力,可以预测在未来相当长的时间内,8位机仍然是嵌入式应用中的主流机型。早期的单片机应用程序开发通常需要仿真机、编程机等配套工具,要配置这些工具需要 笔不小的投资。木教材采用的AT89s52,不需要仿真机和编程机,只需运用ISP电缆就可 以对单片机的FLASH反复擦写!000次以上,因此使用起来特别方便简单,尤其适合初学 者使用,而且配置十分灵活,可扩展性特别强。In-system Pr
15、ogrammable (ISP,系统在线编程)In-system programmable是指用户可把已编译好的程序代码通过一条下载线直接写 入到器件的编程(烧录)方法,已经编程的器件也可以用ISP方式擦除或再编程。1SP所用 的“下载线”并非不需要成本,但相对于传统的“编程器”成本已经大大下降了。通常FIASH 型芯片会具备ISP下载能力。本教材将引导你如何运用AT89S52作为机器人的大脑制作一款教育机器人,并采用C 语言对AT89S52进行编程,使机器人实现述四个基本智能任务:1 .安装传感器以探测周边环境;2 .基于传感器信息做出决策;3 .控制机器人运动(通过操作带动轮子旋转的电机)
16、;4 .与用户交换信息;通过这些任务的完成,使你在无限的乐趣之中,不知不觉地掌握C51单片机原理与应 用开发技术,以及C语言程序设计技术,轻松走上嵌入式系统开发之路。为了方便单片机微控制器与电源、ISP下载电缆、串口线以及各种传感器和电机的连接, 需要制作一个电路板,并将单片机插在教学板上,如图1T所示。本教材将此电路板叫做教 学板。图1-1 C51单片机教学板机器人与C51单片机图1-2所示的是本教材使用的机器人工程对象,它采用AT89s52单片机作为大脑,通过 教学板安装在机器人底盘匕本教材将以此机器人作为典型工程对象,完成上节提到的机器 人所需具备的四种基本能力,使机器人具有基本的智能。
17、本教材假设你已经学习过基础机 器人制作课程,并已经组装好该机器人的机械套件和伺服电机,且已经调试好了机器人伺 服电机的零点。如果没有学习过基础机器人制作与编程,也不要紧,可以在边学习该课 程的同时,参考基础机器人制作与编程的相关章节,在后面的任务中,如果需要,会给 出相关指引。图1-2采用C51单片机的机器人本章首先通过以下步骤告诉你如何安装和使用C51单片机的C语言编程开发环境,如何 开发第一个简单机器人程序,并在机器人上如何运行你写的这个程序。本章的具体任务包括: 寻找并安装开发编程软件 连接机器人到电池或者供电的电源 连接单片机教学板ISP接口到计算机,以便编程连接单片机教学板串行接口到
18、计算机,以便调试和交互 运用C语言初次编写少量的程序,运用编译器编译生成可执行文件,然后下载到单片 机上,通过串口观察机器人上的单片机教学板的执行结果 完成后断开电源任务获得软件在本课程的学习中,你将反复用到三款软件:KeiluVision2IDE集成开发环境、SL ISP 下载软件、串口调试软件等。1. Keil uVision2 IDE集成开发环境该软件是德国KEIL公司出品的51系列单片机C语言集成开发系统。如果你已经学习过 基础机器人制作与编程,并掌握了 PBASIC语言编程思想和基本技能,你将会发现,C 语言在语法结构上更加灵活,功能更加强大,但同时学习和理解起来也稍困难些。你可以在
19、KEIL公司的网站上获得该软件的安装包。2. SLISP软件下载工具该软件是广州天河双龙电子有限公司推出的款ISP下载软件,使用该软件你可以将可 执行文件下载到你的机器人单片机上。该软件的使用需要你的计算机有并行口。你可以在双龙公司的网站中获得该软件。3. 串口调试软件此软件是用来显示单片机与计算机的交互信息的。在硬件上,你的计算机至少要有串口 或USB接口来与单片机教学板的串口连接。教材光盘中提供了该软件的绿色版本,无需安装即可使用。教你招,如何从互联网上获得你想要的东西:当今互联网如此发达,以至我们可以“万事”不求人。熟练运用互联网的搜索引擎,你 也可以做个百事通。如今有两大著名的搜索引擎
20、,国内的,全球的,只要你输 入关键字,你就可以找到相关的任何东西:比如你想找Kdl软件,你可以先打开google网, 然后输入关键字Keil下载”,你就可以找到很多相关的网站。如http: ?boa rdID=7&ID=6352 &pane = 1任务二安装软件到目前为止,你已从网站上,或从教材配套光盘中获得了软件安装包。在教材配套光盘 中提供了几个文件夹,它们分别是KeiluVision2安装包、ISP软件安装包、串口调试终端、 头文件和本书例程的源码。软件的安装很简单,与你安装的其他软件过程一样。安装 Keil uVision21 .执行Keil uVision2安装程序,选择安装Eval
21、 Version版进行安装2 .在后续出现的窗口中全部选择Next按钮,将程序默认安装在C: Program FilesKeil文件目录下3 .将光盘“头文件”文件夹中的文件拷贝到C:ProgramFilesKeilC51INC文件夹 里Keil uVision IDE软件安装到你的电脑上的同时,会在你的计算机桌面建立一个快捷 方式。安装ISP下载软件与此类似。任务三硬件连接C51教学板(或者说机器人大脑)需要连接电源以便运 行,同时也需要连接到PC机(或笔记本电脑)以便编程和 交互。以上接线完成后,你就可以用编辑器软件来对系统进 行测试。下面将告诉你如何完成上述硬件连接任务。串口的连接机器人
22、教学板通过串口电缆连接到PC机(或笔记本电 脑)上以便与用户交互。如果你的计算机有串行接口,直接 使用串口连接电缆。如果没有,此时需要使用USB转串口适 配器,如图1-3所示。你只需将该串口线一端的串口连接到 你的机器人教学板,而另一端连接到计算的USB 口上。如果你使用的是Windows98操作系统,在使用该适配器 调试程序前,你还需要给适配器安装驱动程序,相关步骤请 按照适配器硬件和软件安装说明书进行。如果是Windows2000 以上的操作系统,则通常可以直接使用,无需安装驱动程序。图1-3 USB转串口适配器图1-4 ISP载线ISP下载线的连接机器人程序通过连接到PC机或者笔记本电脑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 单片机 应用 语言程序设计 智能 机器人
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内