欢迎光临
免费的PDF电子书下载网站

C51单片机应用与C语言程序设计(第3版)——基于机器人工程对象的项目实践 PDF下载

编辑推荐

暂无

内容简介

本书以两轮小型移动机器人的制作与编程项目为主线,通过循序渐进地构建机器人的控制器和传感器电路,并对机器人实现编程和控制,将C51单片机的外围接口特性、内部结构原理、综合应用设计和C语言程序设计等知识和技能传授给学生,彻底打破了传统的先理论后实验的教学方法和教学体系结构,解决了单片机原理与应用,以及C语言程序设计等核心专业基础课程抽象、枯燥与教学效果差的老大难问题。

作者简介

暂无

C51单片机应用与C语言程序设计(第3版)——基于机器人工程对象的项目实践 PDF下载

目录

第1讲机器人大脑:从BS2微控制器到C51单片机 (1)单片机和微控制器 (1)学习单片机的意义 (2)C51系列单片机 (2)机器人与C51单片机 (4)任务1 获得软件 (4)任务2 安装软件 (5)安装Keil ?Vision2 (5)任务3 硬件连接 (5)串口的连接 (6)USBASP下载器的连接 (6)电源的连接 (6)给教学板和单片机进行通电检查 (6)任务4 第一个程序 (7)创建与编辑你的第一个程序 (7)例程:HelloRoBot.c (9)程序调试 (11)下载可执行文件到单片机 (12)用串口调试软件查看单片机输出信息 (13)HelloRoBot.c是如何工作的 (14)printf函数 (14)HelloRoBotYourTurn.c是如何工作的 (16)任务5 做完实验关断电源 (19)第2讲C51接口与伺服电机控制 (20)C51单片机的输入/输出接口 (20)任务1 单灯闪烁控制 (21)LED电路元件 (21)LED电路搭建 (21)例程:HighLowLed.c (22)HighLowLed.c是如何工作的 (22)任务2 机器人伺服电机控制信号 (26)例程:BothServoClockwise.c (28)任务3 计数并控制循环次数 (29)例程:ControlServoRunTimes.c (31)例程:BothServosThreeSeconds.c (32)任务4 用计算机来控制机器人的运动 (33)例程:ControlServoWithComputer.c (34)ControlServoWithComputer.c是如何工作的 (35)第3讲C语言函数与机器人巡航控制 (37)任务1 基本巡航动作 (37)例程:RobotForwardThreeSeconds.c (38)RobotForwardThreeSeconds.c是如何工作的 (38)向后走,原地转弯和绕轴旋转 (39)例程:ForwardLeftRightBackward.c (40)任务2 匀加速/减速运动 (43)编写匀加速运动程序 (43)例程:StartAndStopWithRamping.c (44)任务3 用函数调用简化运动程序 (46)例程:MovementsWithFunctions.c (49)例程:MovementsWithOneFuntion.c (51)任务4 高级主题——用数组建立复杂运动 (52)字符型数据 (53)数组 (54)例程:NavigationWithSwitch.c (56)NavigationWithSwitch.c是如何工作的 (58)例程:NavigationWithValues.c (59)第4讲C51接口与触觉导航 (62)触觉导航与单片机输入接口 (62)任务1 安装并测试机器人“胡须” (63)安装“胡须” (63)测试“胡须” (64)例程:TestWhiskers.c (64)位操作符 (65)if语句 (66)?操作符 (66)任务2 通过“胡须”导航 (69)编程使机器人基于“胡须”导航 (69)关系与逻辑运算符 (70)例程:RoamingWithWhiskers.c (71)“胡须”导航机器人怎样行走 (74)任务3 机器人进入死区后的人工智能决策 (75)编程逃离墙角死区 (75)例程:EscapingCorners.c (76)EscapingCorners.c是如何工作的 (79)第5讲C51接口与红外线导航 (81)使用红外线发射和接收器件探测道路 (81)红外前灯 (81)任务1 搭建并测试IR发射和探测器对 (82)元件清单 (82)搭建红外线前灯 (82)这里为何要使用三极管9013 (84)测试红外发射探测器 (84)例程:TestLeftIrPair.c (85)排错 (86)函数延时的不精确性 (87)任务2 探测和避开障碍物 (87)改变“胡须”程序,使其适用于IR检测和躲避 (88)例程:RoamingWithIr.c (89)任务3 高性能的IR导航 (92)在每个脉冲之间采样以避免碰撞 (93)例程:FastIrRoaming.c (93)FastIrRoaming.c是如何工作的 (95)任务4 俯视的探测器 (97)推荐材料 (97)用绝缘带模拟桌子的边沿 (97)边沿探测编程 (98)例程:AvoidTableEdge.c (99)AvoidTableEdge.c是如何工作的 (101)第6讲C51定时器与机器人的距离检测 (104)用同样的IR LED/探测电路检测距离 (104)推荐工具和原料 (104)任务1 定时/计数器的运用 (104)定时/计数器的控制 (105)工作模式 (106)定时/计数器初值的计算 (106)例程:TimeApplication.c (106)TimeApplication.c是如何工作的 (107)中断 (108)中断优先级 (109)任务2 测试扫描频率 (110)红外线探测器频率探测 (110)用频率扫描进行编程做距离探测 (110)例程:TestLeftFrequencySweep.c (111)TestLeftFrequencySweep.c是如何工作的 (112)例程:DisplayBothDistances.c (114)任务3 尾随小车 (114)对尾随车编程 (116)例程:FollowingRobot.c (117)FollowingRobot.c是如何工作的 (120)任务4 跟踪条纹带 (121)搭建和测试路线 (121)需要的材料 (121)测试条纹带 (122)绝缘带路径排错 (123)编程跟踪条纹带 (124)例程:StripeFollowingRobot.c (124)第7讲C51的UART与机器人串口通信 (126)串口控制寄存器SCON (127)什么是波特率 (127)波特率的计算 (127)RS232电平与TTL电平转换 (128)任务1 编写串口通信程序 (129)例程:uart.h (129)uart.h是如何工作的 (132)存储器结构 (132)串口工作流程 (133)例程:HelloRoBot.c——printf("Hello,this is a message from your Robotn") (134)例程:ControlServoWithComputer.c——scanf("%d",&PulseDuration) (134)第8讲 C51显示接口编程与机器人应用 (136)LED数码管的介绍 (136)任务1 数码管显示 (136)任务目的 (138)任务要求 (138)元件清单 (138)电路设计 (138)阴极数码管显示的源程序 (140)电路实物 (141)LCD显示器的介绍 (142)任务2 认识LCD显示器 (142)LCD显示器与C51单片机的连接 (142)LCD控制器接口说明 (143)任务3 编写LCD模块驱动程序 (145)元件清单 (146)线路连接 (146)例程:LCDdisplay.c (146)LCDdisplay.c是如何工作的 (150)指针 (151)任务4 用LCD显示机器人运动状态 (152)C语言的编译预处理 (152)例程:MoveWithLCDDisplay.c (156)MoveWithLCDDisplay.c是如何工作的 (158)第9讲多传感器智能机器人 (160)任务1 多传感器信息与C语言结构体的使用和编程 (160)结构体 (160)例程:IRRoamingWithWithStructLCDDisplay.c (164)IRRoamingWithWithStructLCDDisplay.c是如何工作的 (165)任务2 智能机器人的行为控制策略和编程 (169)例程:NavigationWithSensors.c (171)NavigationWithSensors.c是如何工作的 (173)第10讲机器人循线竞赛 (175)竞赛任务 (175)任务1 QTI传感器及其通信接口 (176)任务2 安装QTI传感器到机器人前端 (177)任务3 编写QTI传感器的测试程序 (178)Test4QTI.c是如何工作的 (180)任务4 设计算法实现机器人无接触传感器游中国 (182)RobotTourChina.c是如何工作的 (186)执行调试 (187)任务5 修改算法实现机器人游中国 (188)任务6 用数组实现机器人游中国比赛 (193)任务7 改进运动执行程序提升执行的可靠性 (199)函数 (203)附录A C语言概要归纳 (208)C语言概述 (208)数据类型、运算符与表达式 (208)分支结构程序 (210)循环控制 (212)数组 (214)函数 (215)预处理命令 (215)指针 (217)结构体 (218)位运算 (219)附录B 微控制器原理归纳 (221)引言 (221)一些概念 (221)中央处理器(CPU) (222)RAM和ROM (223)地址总线、数据总线和控制总线 (223)微处理器和微控制器 (224)附录C 无焊锡面包板 (225)附录D LCD模块

前沿

本书自2009年7月再版以来,又得到了许多高等院校和职业技术学院的关心与厚爱,并提出了不少宝贵意见,为此向所有使用过此书的老师、同学和其他读者表示衷心的感谢。在6年多时间里,高等工程教育改革又取得了很大的进展,对于本书的要求也越来越高。为了让本书的理念更好地与专业结合,2012年9月,作者与湖南机电职业技术学院合作,在本书的基础上修订出版了两本机电一体化创新实践教材:《C语言原来可以这样学》和《单片机技术及应用》,通过“应用单片机学习C语言,再用C语言学习单片机”的方法,将这两门机电一体化专业基础课程的教学深度和广度大大地推进了一步。另外,为了让本书能够更好地满足本科C语言课程的教学需要,作者又于2013年8月与北京石油化工学院合作,在此书的基础上编辑出版了计算机类本科规划教材《机器人辅助C程序设计》。工作导向的概念,不只是一个简单的概念游戏,而是包含了深刻的哲理。学习的目的,特别是对于未来想从事工程师职业的学生而言,不仅仅是学习某一个知识体系,如单片机的知识体系或者C语言的知识体系,而是应该更进一步获得如何利用这些知识去解决生产实际问题的能力,也就是动手能力。传统的单片机和C语言教材,基本上都是为了给学生建立知识体系的,教学的结果却是不仅知识体系建立不起来,动手能力就更不用提了。工程是为了解决问题,这种解决问题的能力只有从实践中才能获得。当然,单纯的实践也无法获得真正的能力,关键是如何从实践的经验和体会中,归纳出共性的知识,建立起知识体系,然后再将这些知识重新应用到新的实践当中去。这也是我们在未来实际工作中所必须采取的学习和工作方法。因此,如何在大学3年或者4年中,掌握这种自我学习和提高的方法,是工程教育改革的根本目的。而相应教材的编写,就应该按照这种学习和工作的方法来进行。做到了这一点,才真正实践了工作导向的哲学理念:实践、归纳、推理和再实践。任何核心知识和技能的获得,单单靠一两本好的教材是无法实现的。单片机和C语言是目前工程教育中两门最为基本,也是最为核心的课程。要学会利用单片机和C语言去解决实际问题,单凭这一本教材的实践和学习是远远不够的。特别是对于初次接触单片机和C语言的同学或者个人而言,也许这本教材仍然会让你感觉比较困难,这时建议你先学习和实践本系列教材的《基础机器人制作与编程(第2版)》。通过基础机器人的制作与编程,你可以先掌握编程的基本思路和方法,并了解单片机的输入和输出接口特性。然后再利用本教材重复同样的学习过程。通过类比和分析,就可以归纳出单片机和计算机编程的核心知识和技能。同时,因为对于同样的项目和课题,采用了不同的单片机和编程语言去实现,也让你能够从中掌握和理解分析问题和解决问题的根本方法。与本教材一起出版的还有《AVR单片机与小型机器人制作(第2版)》,该教材完成的实践项目与本教材几乎相同,目的是让同学们可以根据自己的需要选择硬件平台。要进一步深入学习单片机技术及应用,就可以选择本人编写的机电一体化创新实践教材《单片机技术及应用》。只有学习完单片机和C语言,我们才有可能进一步学习ARM、VC和Linux等高级嵌入式课程。无论是本科还是高职学生,这个规律都很难打破。为此,我们后续推出了STM32等高端嵌入式教材,形成了从基础入门,到8位单片机AVR或者C51等基础嵌入式系统,再到ARM等高端嵌入式系统的系列化教材,让同学们可以从一个没有任何编程基础的学生循序渐进成长为可以进行复杂嵌入式系统设计和开发的工程师。作者编写的系统化嵌入式系列教材如下所示。教材类型 教材名称 教学课时 拓展空间 配套器材工作导向创新实践教材 基础机器人制作与编程(第2版) 40学时 教育机器人大赛项目 基础机器人制作与编程套件 C51单片机应用与C语言程序设计(第3版) 60学时 教育机器人大赛项目 C51单片机应用与C语言综合教学机器人套件机电一体化创新实践教材 C语言原来可以这样学 50学时 教育机器人大赛项目 C语言教学机器人套件 单片机技术及应用 50学时 教育机器人大赛项目 单片机教学拓展电子套件“十二五”职业教育国家规划教材 AVR单片机与小型机器人制作(第2版) 70学时 各种传感器应用项目30个 AVR 单片机与小型机器人制作套件计算机类本科规划教材 机器人辅助C程序设计 60学时 教育机器人大赛项目 C语言教学机器人套件电子教材 Arduino机器人制作与编程入门教程 40学时 教育机器人大赛项目 Arduino教学机器人套件 STM32机器人制作实践入门教程 60学时 教育机器人大赛项目 STM32教学机器人套件因为是工作导向,所以每套教材都必须配套相应的器材边做边学方能达到最佳的教学效果。本表所有配套器材都可以在鸥鹏机器人电商网站www.openirobot.com上找到。本版教材的结构和内容仍然保留了原版的风格和特点,即:?寓教于乐,兴趣为先,采用机器人作为整本教材的项目实践内容,非常容易引起学生的兴趣和学习热情;?机器人对象采用伺服舵机作为控制与驱动电机,非常容易控制,便于老师和同学入门,并将重点放在时序和逻辑的控制,而不是电机的复杂控制原理;?基础传感器等耗材采用非常便宜和易于获得的触觉和红外传感器,便于学校降低成本,普及项目教学;?每章最后都有工程素质和技能归纳,启发学生进行知识的归纳和系统化。本教材修订之后,无论是高职院校还是大学本科,都可以采用,具体的教学安排完全可以根据学校原有的教学计划,只是上课的方式要进行调整,不必再单独开设理论和实验课程,最后的项目拓展课程可以根据每个学校的情况选择相应的中国教育机器人大赛项目,鼓励学校组织班级、校级竞赛,优胜者推荐参加国家级比赛,从而激励学生自主学习,提升学习效果。本教材的修订由电子工业出版社王昭松编辑发起,在此特别感谢她的努力与坚持。另外,还要特别感谢深圳市中科鸥鹏智能科技有限公司的同事们,没有他们的共同努力,本书不可能如此迅速地出第3版。限于时间与水平,书中难免有不妥之处,敬请批评指正。

C51单片机应用与C语言程序设计(第3版)——基于机器人工程对象的项目实践 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:C51单片机应用与C语言程序设计(第3版)——基于机器人工程对象的项目实践