工业和信息化精品系列教材

单片机技术基础与应用(CC2530)(微课版)

以学生为主体进行编排,采用项目化编写方式,理论与实践相结合
分享 推荐 0 收藏 0 阅读 368
刘文博 (作者) 978-7-115-64278-3

关于本书的内容有任何问题,请联系 王照玉

1.选择CC2530单片机,将传感网1+X证书、职业院校技能大赛考核内容融入本教材,使得教材内容更丰满
2.每个任务由知识链接、任务分析、任务实施、技能提升组成,理论结合实践
3.对重点、难点知识进行详细讲解,可满足不同层次的学生学习需要

内容摘要

本书介绍CC2530单片机开发的相关知识,采用项目化方式编写,全书共7个项目:走进CC2530单片机、跑马灯的实现、按键控制LED亮灭、简易交通灯的实现、呼吸灯的实现、CC2530单片机与PC的通信、简易火焰报警器的设计与实现。各项目分成2~3个任务进行讲解,逐步实现项目目标。读者通过学习这些任务,可以对CC2530单片机的基础知识、I/O端口、中断系统、定时/计数器、串口通信、ADC等内容有一定的理解,并能运用这些知识解决一些实际问题。针对学有余力的读者,本书在部分任务中增加技能提升模块,加大任务难度,有利于读者加深理解、提高硬件编程能力。
本书内容由浅入深,可以作为高职电子类专业的教材。本书将1+X传感网应用开发职业技能等级证书、职业院校物联网专业技能大赛的考核点融入任务中,可作为1+X证书和相关技能大赛的培训参考书。同时,本书也可以作为物联网硬件开发技术培训班教材,还可供广大电子爱好者自学使用。

目录

项目1
走进CC2530单片机 1
项目目标 1
任务1.1 了解CC2530单片机及 搭建开发环境 1
任务目标 1
任务要求 1
知识链接 2
1.1.1 单片机基本介绍 2
1.1.2 CC2530单片机基本介绍 3
1.1.3 软件开发环境介绍 4
1.1.4 CC2530单片机相关的硬件介绍 5
任务实现 6
1.1.5 IAR软件的安装 6
1.1.6 SmartRF Flash Programmer软件的安装 9
1.1.7 CC Debugger仿真器的驱动程序的安装 9
任务1.2 第一个CC2530单片机 程序 10
任务目标 10
任务要求 10
知识链接 10
1.2.1 CC2530工程介绍 10
任务实现 10
1.2.2 创建CC2530工程 10
1.2.3 烧写程序 17
1.2.4 调试程序 19
项目总结 20
课后练习 20

项目2
跑马灯的实现 22
项目目标 22
任务2.1 周期性点亮与熄灭LED 22
任务目标 22
任务要求 22
知识链接 23
2.1.1 CC2530单片机的引脚 23
2.1.2 I/O端口的相关寄存器 25
2.1.3 &=~与|=复合运算符 28
任务分析 30
2.1.4 分析流程图 30
2.1.5 分析电路图 30
任务实现 31
2.1.6 创建工程 31
2.1.7 导入头文件 31
2.1.8 编写延时函数 32
2.1.9 设置I/O引脚的相关寄存器 32
2.1.10 编写main函数 33
2.1.11 完成任务完整代码 33
2.1.12 烧写可执行文件并查看实验效果 34
技能提升 34
2.1.13 宏定义的使用 34
任务2.2 简易跑马灯的实现 35
任务目标 35
任务要求 35
知识链接 36
2.2.1 跑马灯与流水灯介绍 36
任务分析 36
2.2.2 分析流程图 36
2.2.3 分析电路图 37
任务实现 37
2.2.4 创建工程 37
2.2.5 编写基础代码 39
2.2.6 编写main函数的主循环代码 40
2.2.7 完成任务完整代码 40
2.2.8 烧写可执行文件并查看实验效果 41
2.2.9 切换工程 41
技能提升 42
2.2.10 流水灯的实现 42
项目总结 44
课后练习 44

项目3
按键控制LED亮灭 45
项目目标 45
任务3.1 按键控制LED亮灭—— 查询方式 45
任务目标 45
任务要求 45
知识链接 46
3.1.1 查询方式 46
3.1.2 通用I/O引脚的输入功能 46
3.1.3 按键消抖 46
3.1.4 用查询方式处理按键事件的相关寄存器 47
任务分析 48
3.1.5 分析流程图 48
3.1.6 分析电路图 49
任务实现 49
3.1.7 创建工程 50
3.1.8 编写基础代码 50
3.1.9 编写main函数的主循环代码 50
3.1.10 完成任务完整代码 51
3.1.11 烧写可执行文件并查看实验效果 52
技能提升 52
3.1.12 用按键控制流水灯的启动或暂停—— 查询方式 52
任务3.2 按键控制LED亮灭—— 中断方式 54
任务目标 54
任务要求 54
知识链接 55
3.2.1 中断介绍 55
3.2.2 CC2530单片机的中断系统 56
3.2.3 与端口中断相关的寄存器 60
任务分析 66
3.2.4 分析流程图 66
3.2.5 分析电路图 66
任务实现 67
3.2.6 创建工程 67
3.2.7 编写基础代码 67
3.2.8 初始化P1_2引脚的外部中断 68
3.2.9 编写main函数 68
3.2.10 编写中断服务函数 69
3.2.11 完成任务完整代码 70
3.2.12 烧写可执行文件并查看实验效果 71
技能提升 72
3.2.13 用按键控制流水灯的启动与暂停—— 中断方式 72
项目总结 73
课后练习 73

项目4
简易交通灯的实现 75
项目目标 75
任务4.1 简易交通灯实现——正计数/ 倒计数模式 75
任务目标 75
任务要求 75
知识链接 76
4.1.1 定时/计数器介绍 76
4.1.2 定时/计数器的工作模式 77
4.1.3 T1的相关寄存器 80
任务分析 82
4.1.4 分析流程图 82
4.1.5 分析电路图 83
任务实现 83
4.1.6 创建工程 83
4.1.7 初始化T1 83
4.1.8 编写main函数 84
4.1.9 编写T1中断服务函数 85
4.1.10 完成任务完整代码 86
4.1.11 烧写可执行文件并查看实验效果 87
技能提升 87
4.1.12 函数的封装 87
任务4.2 简易交通灯实现—— 模模式 89
任务目标 89
任务要求 89
知识链接 89
4.2.1 模模式介绍 89
4.2.2 模模式相关寄存器 90
任务分析 90
4.2.3 分析流程图 90
4.2.4 分析电路图 90
任务实现 91
4.2.5 创建工程 91
4.2.6 设置通道0的输出比较模式 91
4.2.7 开启相关中断开关 91
4.2.8 编写T1初始化函数 91
4.2.9 编写中断服务函数 91
4.2.10 完成任务完整代码 92
4.2.11 烧写可执行文件并查看实验效果 93
技能提升 93
4.2.12 改变交通灯时间 93
任务4.3 简易交通灯实现—— T4实现 95
任务目标 95
任务要求 95
知识链接 95
4.3.1 T4的工作模式 95
任务分析 96
4.3.2 分析流程图 96
4.3.3 分析电路图 96
任务实现 96
4.3.4 创建工程 96
4.3.5 设置计数模式和计数值 96
4.3.6 启动T4 97
4.3.7 完成任务完整代码 97
4.3.8 烧写可执行文件并查看实验效果 98
技能提升 98
4.3.9 改变定时/计数器工作时钟频率 98
项目总结 100
课后练习 100

项目5
呼吸灯的实现 102
项目目标 102
任务5.1 T1控制D3实现呼吸灯 102
任务目标 102
任务要求 102
知识链接 102
5.1.1 呼吸灯与PWM介绍 102
5.1.2 T1的PWM功能 103
5.1.3 与呼吸灯相关的寄存器 104
任务分析 106
5.1.4 分析流程图 106
5.1.5 分析电路图 106
任务实现 106
5.1.6 创建工程 106
5.1.7 编写基础代码 107
5.1.8 设置T1 107
5.1.9 处理中断标志位 108
5.1.10 编写main函数 108
5.1.11 完成任务完整代码 109
5.1.12 烧写可执行文件并查看实验效果 110
技能提升 110
5.1.13 双呼吸灯的实现 110
任务5.2 用按键控制呼吸灯的启动或 暂停 112
任务目标 112
任务要求 112
知识链接 112
5.2.1 用按键控制呼吸灯 112
任务分析 112
5.2.2 分析流程图 112
5.2.3 分析电路图 113
任务实现 113
5.2.4 编写基础代码 114
5.2.5 处理按键事件 114
5.2.6 编写main函数 115
5.2.7 完成任务完整代码 116
5.2.8 烧写可执行文件并查看实验效果 118
技能提升 118
5.2.9 用按键控制双呼吸灯的运行与暂停 118
项目总结 121
课后练习 121

项目6
CC2530单片机与PC的通信 122
项目目标 122
任务6.1 CC2530单片机通过串口 发送数据到PC 122
任务目标 122
任务要求 122
知识链接 123
6.1.1 串口通信介绍 123
6.1.2 串口通信模块介绍 124
6.1.3 振荡器和时钟 124
6.1.4 与串口相关的寄存器 125
任务分析 130
6.1.5 分析流程图 130
6.1.6 分析电路图 130
任务实现 131
6.1.7 创建工程 132
6.1.8 导入头文件 132
6.1.9 编写串口初始化函数 132
6.1.10 编写串口传输数据函数 132
6.1.11 编写中断服务函数 133
6.1.12 完成任务完整代码 133
6.1.13 烧写可执行文件并查看实验 效果 135
技能提升 136
6.1.14 增加数据发送指示灯 136
任务6.2 PC控制LED的 亮与灭 137
任务目标 137
任务要求 137
知识链接 138
6.2.1 串口接收数据的方式 138
6.2.2 与串口接收数据功能相关的寄存器 138
6.2.3 串口控制命令的格式 139
任务分析 139
6.2.4 分析流程图 139
6.2.5 分析电路图 140
任务实现 140
6.2.6 创建工程 140
6.2.7 编写基本代码 140
6.2.8 初始化USART0串口 141
6.2.9 编写串口接收数据代码 141
6.2.10 编写主循环代码 142
6.2.11 完成任务完整代码 142
6.2.12 烧写可执行文件并查看实验 效果 144
技能提升 144
6.2.13 使用中断方式实现串口接收 数据 144
项目总结 146
课后练习 147

项目7
简易火焰报警器的设计与实现 149
项目目标 149
任务7.1 火焰强度的测量 149
任务目标 149
任务要求 149
知识链接 149
7.1.1 电信号的形式与转换 149
7.1.2 火焰传感器简介 150
7.1.3 ADC简介 150
7.1.4 ADC的工作模式 151
7.1.5 ADC相关寄存器 152
任务分析 155
7.1.6 分析流程图 155
7.1.7 分析电路图 155
任务实现 156
7.1.8 创建工程 156
7.1.9 编写基础代码 156
7.1.10 设置ADCCON3寄存器 157
7.1.11 编写ADC中断服务函数 157
7.1.12 编写main函数 159
7.1.13 完成任务完整代码 160
7.1.14 烧写可执行文件并查看实验 效果 162
技能提升 163
7.1.15 用查询方式实现火焰强度的 测量 163
任务7.2 火焰报警器的设计与实现 166
任务目标 166
任务要求 166
知识链接 166
7.2.1 火焰报警器的设计分析 166
任务分析 166
7.2.2 分析流程图 166
7.2.3 分析电路图 167
任务实现 167
7.2.4 实现呼吸灯效果 167
7.2.5 实现周期性地采集火焰强度数据 168
7.2.6 完成任务完整代码 169
7.2.7 烧写可执行文件并查看实验效果 173
技能提升 173
7.2.8 采用串口的中断服务函数输出数据 173
项目总结 177
课后练习 177

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

刘文博,2013年毕业于中国海洋大学电子与通信工程专业。研究生毕业后,先后在青岛海信、乐视网、上海二三四五科技有限公司从事Android内核开发工作,高级开发工程师。2019年,入职山东信息职业技术学院,目前是物联网专业教师,讲师。主编教材一部,发表专业论文十余篇,主持或参与市级以上课题九项,指导学生参加职业院校技能大赛高职组物联网技术应用赛项,获得国赛一等奖一项,省赛一等奖、二等奖各一项,荣获优秀指导教师。

同系列书

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部