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