注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2016年2月

出版社:电子工业出版社

获奖信息:“十三五”职业教育国家规划教材  

以下为《C51单片机应用与C语言程序设计(第3版)——基于机器人工程对象的项目实践》的配套数字资源,这些资源在您购买图书后将免费附送给您:
试读
  • 电子工业出版社
  • 9787121281594
  • 1-1
  • 293244
  • 64216984-1
  • 平塑单衬
  • 16开
  • 2016年2月
  • 350
  • 244
  • 工学
  • 控制科学与工程
  • 机电一体化技术
  • 高职高专
作者简介
秦志强,国内首批由华中科技大学和香港科技大学联合培养的工学博士,中国著名的机械电子专家,工程教育改革理念的创始人和先行者,现为深圳中科鸥鹏科技有限公司董事长。主要从事运动控制和智能机器人产品的研究开发和推广,以及工程教育改革的理论研究与实践,是多项863项目和国家自然科学基金项目核心开发人员。现致力于将机器人科研项目产业转化、服务和回归社会。
查看全部
内容简介
本书以两轮小型移动机器人的制作与编程项目为主线,通过循序渐进地构建机器人的控制器和传感器电路,并对机器人实现编程和控制,将C51单片机的外围接口特性、内部结构原理、综合应用设计和C语言程序设计等知识和技能传授给学生,彻底打破了传统的先理论后实验的教学方法和教学体系结构,解决了单片机原理与应用,以及C语言程序设计等核心专业基础课程抽象、枯燥与教学效果差的老大难问题。
目录
第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 Robot\n") (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模块电路 (228)
附录E 本书所使用的机器人零配件清单 (229)