新書推薦:
《
启微·狂骉年代:西洋赛马在中国
》
售價:NT$
357.0
《
有趣的中国古建筑
》
售價:NT$
305.0
《
十一年夏至
》
售價:NT$
347.0
《
如何打造成功的商业赛事
》
售價:NT$
408.0
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
《
慈悲与玫瑰
》
售價:NT$
398.0
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:NT$
347.0
《
云中记
》
售價:NT$
347.0
|
內容簡介: |
本书以两轮小型移动机器人的制作与编程项目为主线,通过循序渐进地构建机器人的控制器和传感器电路,并对机器人实现编程和控制,将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模块
|
|