本书按照企业对物联网技术应用开发者的能力要求,根据高等教育及职业教育改革精神,实施任务化教学设计,以C语言为程序开发语言,以CC2530单片机为学习对象,按照由浅入深的学习顺序,从常用功能到专有功能的讲解,设计了12个学习单元共15个典型任务。书中将51单片机的基本知识与CC2530单片机的应用知识相结合,介绍了CC2530单片机的基本知识和应用,结合物联网技术应用开发中的实际案例和全国职业院校技能大赛物联网赛项题目设计了具体实施任务,是一本理实一体化教材。
本书可作为各类职业院校物联网应用技术、电子工程技术、应用电子技术、自动控制技术等专业的单片机应用技术课程教材,也可以作为单片机技术培训班的教材或相关技术人员的参考用书。
本书配有微课视频(扫描书中二维码观看),是“互联网+”新形态教材。
本书配有电子课件,选用本书作为授课教材的教师可以从机械工业出版社教育服务网(www.cmpedu.com)免费注册下载或联系编辑(010-88379194)咨询。
为解决传统的单片机教材,不适合物联网应用技术专业使用的问题,北京新大陆时代教育科技有限公司联合国内相关院校,对接物联网企业岗位需求,结合高职学生特点及相关院校物联网应用技术专业建设实际,开发了本书。
在内容选取上,本书以物联网技术应用中常见的CC2530芯片作为单片机学习研究对象,兼顾通用单片机应用所需基础知识,同时结合企业物联网工程师岗位人才需求,将内容划分成12个学习单元共15个任务。学习单元1讲解单片机的相关基本概念和IAR开发环境的运用方法;学习单元2讲解I/O端口的输出控制和输入识别;学习单元3讲解中断系统和外部中断输入应用;学习单元4讲解定时/计数器概念和运用方法;学习单元5讲解串口通信的实现;学习单元6讲解A-D转换模块的运用方法;学习单元7讲解看门狗功能及使用;学习单元8讲解电源管理和低功耗实现;学习单元9讲解DMA传输方式;学习单元10讲解内部Flash存取操作;学习单元11讲解随机数生成器的相关概念和使用方法;学习单元12讲解定时计数器的PWM功能应用。
在内容编排上,本书基于物联网硬件设计开发工作过程中的典型工作任务进行教学单元设计;每一个学习单元按照单元概述、学习目标、任务、单元总结的顺序编排;每个任务按照任务要求、任务分析、知识、任务实施、任务拓展的顺序安排,任务驱动、层次分明,非常适合教学。本书可作为各类职业院校、应用型本科院校、培训机构的单片机应用课程教材,也可作为相关技术人员的参考用书。
本书具有以下特点。
1)由浅入深,分层次学习。学习单元1到学习单元5属于基本应用能力学习,学习单元6到学习单元12属于高阶能力学习,不同层次的院校或读者可根据自身情况选择学习的内容。
2)理论与实践相结合。作为一本理实一体化教材,书中每个学习任务都以实际开发项目为载体,在讲述任务实施所必需的基本知识后,紧跟任务实施指导。
3)各学科知识融会贯通。在任务实施过程中,引导读者将单片机技术与其他课程(如电子应用技术、C语言程序开发等)的知识相结合,让读者学会将各学科知识融会贯通,以解决实际问题。
4)根据岗位实际设定学习内容。采用C语言编程,以CC2530为主要学习对象,对接物联网工程技术人员岗位实际需求。
5)实践操作通用性高。本书实践部分的源代码测试以北京新大陆时代教育科技有限公司提供的物联网实验教学设备作为硬件平台,但在书中对硬件设计和
任务实施思路进行了详细的讲解,因此可以很方便地使用其他基于CC2530的实验设备来完成书中的实践任务。
6)配套完整的相关学习资源。提供了15个任务的全部源代码文件。
不同层次院校根据开设课程的学习深度,可参照下表安排教学学时。
学习单元
分配学时
学习单元1 开发入门
8
学习单元2 并行I/O端口应用
8
学习单元3 外部中断应用
6
学习单元4 定时/计数器应用
6
学习单元5 串口通信应用
8
学习单元6 A-D转换应用
4
学习单元7 看门狗应用
4
学习单元8 电源管理应用
4
学习单元9 DMA应用
4
学习单元10 内部Flash读写应用
4
学习单元11 随机数生成器应用
4
学习单元12 PWM控制
4
本书由北京新大陆时代教育科技有限公司组编,杨瑞、董昌春和邓立任主编,李响、夏智伟、田悦妍、唐灵飞和屈青青任副主编,参加编写的还有郭丽君、刘晓竹、李煜、魏美琴和黄有为。
在本书编写过程中参考了相关的文献与资料,在此向相关作者表示感谢,同时感谢北京新大陆时代教育科技有限公司给予的大力支持。
由于编者水平有限,书中错误之处在所难免,恳请各位读者批评指正。
编 者
二维码索引
学习单元1
开发入门 (1)
单元概述 (1)
学习目标 (1)
任务1 为CC2530烧写程序 (2)
任务2 让所有发光二极管闪烁 (10)
单元总结 (17)
习题 (18)
学习单元2
并行I/O端口应用 (19)
单元概述 (19)
学习目标 (19)
任务1 实现流水灯效果 (20)
任务2 按键控制LED (29)
单元总结 (35)
习题 (36)
学习单元3
外部中断应用 (37)
单元概述 (37)
学习目标 (37)
任务 实现按键控制跑马灯的启停 (38)
单元总结 (51)
习题 (51)
学习单元4
定时/计数器应用 (53)
单元概述 (53)
学习目标 (53)
任务 实现发光二极管的周期性闪烁 (54)
单元总结 (64)
习题 (65)
学习单元5
串口通信应用 (67)
单元概述 (67)
学习目标 (67)
任务1 实现串口发送数据到计算机 (68)
任务2 实现计算机控制发光二极管 (82)
单元总结 (92)
习题 (92)
学习单元6
A-D转换应用 (93)
单元概述 (93)
学习目标 (93)
任务 实现外部电压值的测量 (94)
单元总结 (108)
习题 (108)
学习单元7
看门狗应用 (109)
单元概述 (109)
学习目标 (109)
任务 实现自动复位 (110)
单元总结 (116)
习题 (117)
学习单元8
电源管理应用 (119)
单元概述 (119)
学习目标 (119)
任务 实现CC2530低功耗运行 (120)
单元总结 (139)
习题 (140)
学习单元9
DMA应用 (141)
单元概述 (141)
学习目标 (141)
任务 实现DMA方式复制数据 (142)
单元总结 (161)
习题 (161)
学习单元10
内部Flash读写应用 (163)
单元概述 (163)
学习目标 (163)
任务 实现内部Flash存取数据 (164)
单元总结 (175)
习题 (175)
学习单元11
随机数生成器应用 (177)
单元概述 (177)
学习目标 (177)
任务 产生随机数 (178)
单元总结 (187)
习题 (187)
学习单元12
PWM控制 (189)
单元概述 (189)
学习目标 (189)
任务 实现呼吸灯效果 (190)
单元总结 (198)
习题 (198)
附录 (199)
附录A CC2530引脚描述 (199)
附录B CC2530外设I/O引脚映射 (201)
参考文献 (202)
二维码索引
序号
视频名称
二维码
页码
序号
视频名称
二维码
页码
1
学习单元1
01 知识
说明: 学习单元1 01 知识_63875.jpg
2
9
学习单元2
06 通用IO口按键控制灯原理
说明: 学习单元2 06 通用IO口按键控制灯原理_63878.jpg
29
2
学习单元1
02 环境搭建
说明: 学习单元1 02 环境搭建_63872.jpg
7
10
学习单元2
07 通用IO口按键控制灯编程实现
说明: 学习单元2 07 通用IO口按键控制灯编程实现_63885.jpg
31
3
学习单元1
03 让所有发光二极管闪烁
说明: 学习单元1 03 让所有发光二极管闪烁_63876.jpg
10
11
学习单元3
01 中断的概念
说明: 学习单元3 01 中断的概念_63881.jpg
38
4
学习单元2
01 通用IO口编程原理
说明: 学习单元2 01 通用IO口编程原理_63873.jpg
21
12
学习单元3
02 CC2530中断相关寄存器
说明: 学习单元3 02 CC2530中断相关寄存器_63883.jpg
44
5
学习单元2
02 通用IO口编程如何查看硬件资料
说明: 学习单元2 02 通用IO口编程如何查看硬件资料_63874.jpg
21
13
学习单元3
03 CC2530中断方式实现按键控制IED
说明: 学习单元3 03 CC2530中断方式实现按键控制lED_63884.jpg
47
6
学习单元2
03 通用IO口实现所有二极管点亮
说明: 学习单元2 03 通用IO口实现所有二极管点亮_63880.jpg
24
14
学习单元3
04 CC2530中断方式实现流水灯启停
说明: 学习单元3 04 CC2530中断方式实现流水灯启停_63887.jpg
49
7
学习单元2
04 通用IO口实现流水灯效果
说明: 学习单元2 04 通用IO口实现流水灯效果_63877.jpg
24
15
学习单元3
05 CC2530中断总结
说明: 学习单元3 05 CC2530中断总结_63882.jpg
51
8
学习单元2
05 通用IO口点亮二极管拓展之按位操作
说明: 学习单元2 05 通用IO口点亮二极管拓展之按位操作_63879.jpg
29
16
学习单元4
01 定时计数器概念和作用
说明: 学习单元4 01 定时计数器概念和作用_63888.jpg
54
(续)
序号
视频名称
二维码
页码
序号
视频名称
二维码
页码
17
学习单元4
02 CC2530定时计数器类型
说明: 学习单元4 02 CC2530定时计数器类型_63886.jpg
56
25
学习单元5
04 串口通信编程实现向上位机发送字符串1
说明: 学习单元5 04 串口通信编程实现向上位机发送字符串1_63895.jpg
75
18
学习单元4
03 CC2530定时计数器使用方法和相关寄存器
说明: 学习单元4 03 CC2530定时计数器使用方法和相关寄存器_63890.jpg
57
26
学习单元5
05 串口通信编程实现向上位机发送字符串2
说明: 学习单元5 05 串口通信编程实现向上位机发送字符串2_63898.jpg
75
19
学习单元4
04 CC2530定时计数器流水灯编程实验一
说明: 学习单元4 04 CC2530定