《C51单片机应用与C语言程序设计》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:秦志强编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121094705
  • 页数:192 页
图书介绍:本书以小型机器人的大脑组成和编程、伺服电机的控制编程、触觉传感器导航控制和红外传感器的导航控制等为核心内容,将C51单片机的基本组成,关键技术,和软件设计思路和方法融入到这些核心的任务当中。通过实践这些实践项目,然后总结归纳,培养学生观察、实践、归纳、分析和推理的科学精神和实践技能

第1讲 机器人大脑:从BS2微控制器到C51单片机 1

学习情境 1

单片机和微控制器 1

学习单片机的意义 2

C51系列单片机 2

机器人与C51单片机 4

任务1 获得软件 5

1.Keil uVision2 IDE集成开发环境 5

2.SL ISP软件下载工具 5

3.串口调试软件 5

任务2 安装软件 5

安装Keil u Vision2 5

任务3 硬件连接 6

串口的连接 6

ISP下载线的连接 6

电池的安装 6

给教学板和单片机进行通电检查 7

任务4 第一个程序 7

创建与编辑你的第一个程序 7

例程:HelloRoBot.c 9

下载可执行文件到单片机 11

用串口调试软件查看单片机输出信息 12

HelloRoBot.c是如何工作的 13

printf函数 14

该你了——例程:HelloRoBotYourTurn.c 14

HelloRoBotYourTurn.c是如何工作的 15

任务5 做完实验关断电源 18

工程素质和技能归纳 18

科学精神的培养 19

第2讲 C51接口与伺服电机控制 20

学习情境 20

C51单片机的输入/输出接口 20

任务1 单灯闪烁控制 21

LED电路元件 21

LED电路搭建 21

例程:HighLowLed.c 22

HighLowLed.c是如何工作的 22

该你了——让另一个LED闪烁 25

任务2 机器人伺服电机控制信号 26

该你了——让机器人的两个轮子全速旋转 28

例程:BothServoClockwise.c 28

任务3 计数并控制循环次数 29

该你了——不同的初始值和终值及计数步长 30

例程:ControlServoRunTimes.c 31

例程:BothServosThreeSeconds.c 33

任务4 用计算机来控制机器人的运动 34

例程:ControlServoWithComputer.c 34

ControlServoWithComputer.c是如何工作的 35

工程素质和技能归纳 36

科学精神的培养 37

第3讲 C语言函数与机器人巡航控制 38

学习情境 38

任务1 基本巡航动作 38

例程:RobotForwardThreeSeconds.c 39

RobotForwardThreeSeconds.c是如何工作的 39

该你了——调节距离和速度 40

向后走,原地转弯和绕轴旋转 40

例程:ForwardLeftRightBackward.c 41

该你了——以一个轮子为支点旋转 43

任务2 匀加速/减速运动 44

编写匀加速运动程序 44

例程:StartAndStopWithRamping.c 45

该你了 46

任务3 用函数调用简化运动程序 47

例程:MovementsWithFunctions.c 50

例程:MovementsWithOneFuntion.c 52

任务4 高级主题——用数组建立复杂运动 53

字符型数据 54

数组 55

例程:NavigationWithSwitch.c 57

NavigationWithSwitch.c是如何工作的 59

例程:NavigationWithValues.c 60

该你了——设计你自己的程序 62

工程素质和技能归纳 62

科学精神的培养 62

第4讲 C51接口与触觉导航 63

学习情境 63

触觉导航与单片机输入接口 63

任务1 安装并测试机器人胡须 64

安装胡须 64

测试胡须 65

例程:TestWhiskers.c 65

位操作符 66

if语句 67

?操作符 67

任务2 通过胡须导航 70

编程使机器人基于胡须导航 70

关系与逻辑运算符 71

例程:RoamingWithWhiskers.c 72

胡须导航机器人怎样行走 75

该你了 75

任务3 机器人进入死区后的人工智能决策 76

编程逃离墙角死区 76

例程:EscapingCorners.c 77

EscapingCorners.c是如何工作的 80

该你了 81

工程素质和技能归纳 81

科学精神的培养 81

第5讲 C51接口与红外线导航 82

学习情境 82

使用红外线发射和接收器件探测道路 82

红外前灯 82

任务1 搭建并测试IR发射和探测器对 83

元件清单 83

搭建红外线前灯 83

这里为何要使用三极管9013 85

测试红外发射探测器 85

例程:TestLeftIrPair.c 86

排错 87

函数延时的不精确性 88

该你了 88

任务2 探测和避开障碍物 88

改变触须程序使其适用于IR检测和躲避 89

例程:RoamingWithIr.c 90

任务3 高性能的IR导航 93

在每个脉冲之间采样以避免碰撞 94

例程:FastIrRoaming.c 94

FastIrRoaming.c是如何工作的 96

该你了 97

任务4 俯视的探测器 98

推荐材料 98

用绝缘带模拟桌子的边沿 98

边沿探测编程 99

例程:AvoidTableEdge.c 100

AvoidTableEdge.c是如何工作的 102

该你了 103

工程素质和技能归纳 104

科学精神的培养 104

第6讲 C51定时器与机器人的距离检测 105

学习情境 105

用同样的IR LED/探测电路检测距离 105

推荐工具和原料 105

任务1 定时/计数器的运用 105

定时/计数器的控制 106

工作模式 107

定时/计数器初值的计算 107

例程:TimeApplication.c 107

TimeApplication.c是如何工作的 108

中断 109

中断优先级 110

该你了——调整定时器时间 110

任务2 测试扫描频率 111

红外线探测器频率探测 111

用频率扫描进行编程做距离探测 111

例程:TestLeftFrequencySweep.c 112

TestLeftFrequencySweep.c是如何工作的 113

该你了——测试右边的IR LED/探测器 115

例程:DisplayBothDistances.c 115

该你了——更多的距离测试 115

任务3 尾随小车 115

对尾随车编程 117

例程:FollowingRobot.C 118

FollowingRobot.c是如何工作的 121

该你了 121

任务4 跟踪条纹带 122

搭建和测试路线 122

需要的材料 122

测试条纹带 123

绝缘带路径排错 124

编程跟踪条纹带 125

例程:StripeFollowingRobot.c 125

第7讲 C51的UART与机器人串口通信 127

学习情境 127

串口控制寄存器SCON 128

什么是波特率 128

波特率的计算 128

RS232电平与TTL电平转换 129

任务1 编写串口通信程序 130

例程:uart.h 130

uart.h是如何工作的 133

存储器结构 133

该你了——电脑的测试 134

串口工作流程 134

例程:HelloRoBot.c——printf("Hello,this is a message from your Robot\n") 135

例程:ControlServoWithComputer.c——scanf("%d",&PulseDuration) 135

工程素质和技能归纳 135

科学精神的培养 136

第8讲 C51显示接口编程与机器人应用 137

学习情境 137

LCD显示器的介绍 137

任务1 认识LCD显示器 138

LCD显示器与C51单片机的连接 138

LCD控制器接口说明 139

任务2 编写LCD模块驱动程序 141

元件清单 141

线路连接 141

例程:LCDdisplay.c 142

LCDdiaplay.c是如何工作的 146

指针 146

任务3 用LCD显示机器人运动状态 148

C语言的编译预处理 148

例程:MoveWithLCDDisplay.c 152

MoveWithLCDDisplay.c是如何工作的 154

该你了 155

工程素质和技能归纳 155

科学精神的培养 155

第9讲 多传感器智能机器人 156

学习情境 156

任务1 多传感器信息与C语言结构体的使用和编程 156

结构体 156

例程:IRRoamingWithWithStructLCDDisplay.c 160

IRRoamingWithWithStructLCDDisplay.c是如何工作的 161

该你了 165

任务2 智能机器人的行为控制策略和编程 165

例程:NavigationWithSensors.c 167

NavigationWithSensors.c是如何工作的 169

该你了 170

工程素质和技能归纳 170

科学精神的培养 170

附录A C语言概要归纳 171

C语言概述 171

数据类型、运算符与表达式 171

分支结构程序 173

循环控制 175

数组 177

函数 178

预处理命令 178

指针 180

结构体 181

位运算 182

附录B 微控制器原理归纳 184

引言 184

一些概念 184

中央处理器(CPU) 185

RAM和ROM 186

地址总线、数据总线和控制总线 186

微处理器和微控制器 187

附录C 无焊锡面包板 188

附录D LCD模块电路 191

附录E 本书所使用的机器人零配件清单 192