本书按照教育部最新职业教育教学改革要求,以能力为本位,以职业实践为主线,贴合项目化、模块化专业课程设计理念,以国产自主可控技术龙芯1B处理器技术应用的典型案例为载体构建课程内容。项目案例设计遵循“由简到难、循序递进”的教学原则,安排“基础篇—进阶篇—实战篇”三个篇章,其中基础篇和进阶篇主要面向现实生活某款嵌入式产品的部件或功能模块开发进行项目教学设计,将嵌入式处理器及应用开发的基础知识与技能完全覆盖并融入其中;实战篇则紧随“新基建”热点,选用新能源汽车与智慧灯杆两大主题,对标真实的新能源汽车仪表盘与智慧灯杆设计项目开展实战教学。本书是2022年职业教育国家在线精品课程“嵌入式系统应用”的配套用书,体系完整,内容全面,配套丰富的数字化教学资源。本书作为电子信息类专业职业本科“嵌入式处理器应用开发”、高职专科“嵌入式技术及应用”等课程的教学用书时,高职专科专业可以侧重基础篇和进阶篇的学习,职业本科专业则建议加强实战篇的学习。本书也可作为“嵌入式边缘计算软硬件开发”1+X考证参考教材、嵌入式技能大赛的培训指导书,还可作为从事智能硬件产品开发、嵌入式系统应用开发的工程技术人员的参考用书。
邵瑛,上海教学名师、上海市名师工作室主持人、上海教育系统三八红旗手、2021年上海市"为人为师为学”重点宣传先进典型。承担教育部电子信息工程技术(职业本科)专业教学标准研制组组长工作,主持1门国家级在线精品课程、2门上海市精品课程、2项上海教学成果奖一等奖、上海"嵌入式人工智能”教师教学创新团队带头人,参与2项国家级教学成果奖。历任全国职业院校技能大赛国赛专家组长、裁判长、世赛场地经理。现任全国电子信息职业教育教学指导委员会委员、全国人工智能职教集团集成电路专委会主任、中国计算机学会上海分部副秘书长、谷歌高职教育项目专家委员等。
项目1 SOS求救信号器开发 1
任务1.1 搭建龙芯1B处理器开发环境 1
1.1.1 龙芯处理器 2
1.1.2 龙芯1x嵌入式开发工具(LS1x DTK) 7
任务1.2 SOS求救信号器开发实现 25
1.2.1 龙芯1B GPIO结构 26
1.2.2 龙芯1B GPIO寄存器 27
1.2.3 龙芯1B GPIO相关库函数解析 28
课后习题 35
项目2 计数器应用开发 36
任务2.1 手动按键计数器开发实现 36
2.1.1 按键消抖原理 37
2.1.2 龙芯1B GPIO读函数解析 37
2.1.3 手动按键计数器设计与实现 38
任务2.2 流水线零件自动计数器开发实现 42
2.2.1 龙芯1B中断结构 42
2.2.2 龙芯1B中断控制器 46
2.2.3 龙芯1B外部中断控制器寄存器 47
2.2.4 龙芯1B外部中断相关库函数解析 48
课后习题 61
项目3 手机呼吸灯应用开发 62
任务3.1 PWM基础应用开发 62
3.1.1 脉冲宽度调制 63
3.1.2 龙芯1B处理器PWM 64
任务3.2 手机呼吸灯开发实现 68
3.2.1 手机呼吸灯系统硬件设计 69
3.2.2 手机呼吸灯系统软件设计 69
课后习题 73
项目4 智能家居灯光控制系统应用开发 74
任务4.1 串口基础应用开发 74
4.1.1 串口通信工作原理 75
4.1.2 龙芯1B UART通信基础 76
任务4.2 智能家居灯光控制系统开发实现 79
4.2.1 智能家居灯光控制系统硬件设计 80
4.2.2 智能家居灯光控制系统软件设计 81
课后习题 87
项目5 LCD电子时钟应用开发 88
任务5.1 LCD显示 88
5.1.1 RGB LCD显示器 89
5.1.2 龙芯1B LCD驱动库函数解析 93
5.1.3 龙芯1B LCD字符显示函数 101
任务5.2 LCD电子时钟开发实现 110
5.2.1 龙芯1B RTC介绍 110
5.2.2 龙芯1B RTC寄存器 111
课后习题 118
进 阶 篇
项目6 环境温湿度测量仪开发 119
任务6.1 I2C读取温湿度传感器ID 119
6.1.1 I2C基本原理 120
6.1.2 龙芯1B I2C控制器结构 122
任务6.2 环境温湿度测量系统开发实现 128
6.2.1 HDC2080简介 128
6.2.2 HDC2080寄存器映射 129
课后习题 135
项目7 温湿度存储记录仪开发 136
任务7.1 SPI获取温湿度传感器ID 136
7.1.1 SPI物理层特点 137
7.1.2 SPI通信过程 138
7.1.3 CPOL/CPHA及通信模式 138
7.1.4 龙芯1B内部SPI结构 139
7.1.5 龙芯1B的SPI库函数 140
任务7.2 温湿度存储记录仪开发实现 142
7.2.1 SPI Flash存储芯片介绍 143
7.2.2 龙芯1B W25X40库函数 144
课后习题 149
实 战 篇
项目8 新能源汽车仪表盘设计与应用 150
任务8.1 嵌入式实时操作系统—多线程任务调度 151
8.1.1 RTOS简介 151
8.1.2 RT-Thread简介 154
8.1.3 RT-Thread入门基础 155
任务8.2 新能源汽车电量监测设计与开发 183
8.2.1 模数转换器 183
8.2.2 ADC核心要素 186
8.2.3 ADS1015芯片简介 187
8.2.4 RT-Thread Sensor设备 192
任务8.3 新能源汽车仪表盘设计与开发 198
8.3.1 GUI初识 199
8.3.2 LVGL简介 200
8.3.3 LVGL快速入门 201
课后习题 226
项目9 新基建智慧灯杆设计与应用 227
任务9.1 环境感知系统设计与实现 227
9.1.1 RS485总线 228
9.1.2 Modbus协议介绍 231
9.1.3 RGB-LED灯介绍 231
9.1.4 气象站传感器介绍 232
任务9.2 NB-IoT接入物联网云平台 241
9.2.1 物联网云平台介绍 242
9.2.2 NB-IoT介绍 243
9.2.3 MQTT协议介绍 244
9.2.4 JSON格式介绍 246
9.2.5 cJSON库介绍 246
任务9.3 智慧灯杆综合设计与开发 262
9.3.1 LVGL任务(Task)系统 263
9.3.2 LVGL选项卡视图(lv_tabview) 263
9.3.3 LVGL图表(lv_chart) 264
9.3.4 LVGL颜色选择器(lv_cpicker) 266
课后习题 275