本教材以AI8051U 单片机为核心教学载体,其独特架构兼具8 位机的入门友好性与32 位机的高性能拓展性,构建从基础到进阶的贯通式学习路径。基于AI8051U 单片机大学计划实验箱V1.2 开发,无缝兼容Proteus 仿真环境,实现理论知识虚拟仿真实际开发的一体化教学闭环。全新引入AiCube 开发工具,通过图形化外设配置界面与自动化系统框架生成引擎,助力开发者在标准框架下聚焦核心业务逻辑,大幅提升嵌入式项目开发效率。采用C 语言作为编程教学语言,精选典型工程训练实例,配套多样化习题设计,强化理论与实践的结合。
本教材内容包括认识单片机、单片机应用系统的开发工具、单片机最小系统、C51 与单片机并行I/O 口的应用编程、单片机的存储器与应用编程、单片机定时器/计数器、AI8501U 单片机中断系统、AI8501U 单片机的串行通信、单片机应用系统的设计与实践、AI8051U 单片机的32 位应用(含AiCube)。
本教材适用于应用本科、职业本科及高职院校,可作为电子信息类、电子通信类、自动化类、计算机应用类、工业互联网技术、人工智能技术、智能控制技术等专业单片机原理与应用或微机原理课程教材。此外,本书也可作为电子设计竞赛、单片机应用工程师考证的培训教材,同时也是传统8051 单片机应用工程师升级转型的参考书。
习近平总书记在党的二十大报告中指出:教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力,深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势。职业教育与经济社会发展紧密相连,对促进就业创业、助力经济社会发展、增进人民福祉具有重要意义。
提升全民数字素养与技能,是顺应数字时代要求、提升国民素质、促进人的全面发展的战略任务,是实现从网络大国迈向网络强国的必由之路,也是弥合数字鸿沟、促进共同富裕的关键举措。
本教材强调构建具有时代特征的学习内容,将知识建构、技能训练与职业能力培养相结合,以面向应用、培养创新为目标,培养学生运用数字化工具解决问题的能力,为社会培养高素质技术技能型人才。
单片机技术是现代电子系统设计、智能控制的核心技术,是应用电子、电子信息、电子通信、物联网技术、机电一体化、电气自动化、工业自动化、计算机应用等相关专业的必修课程。本教材是集作者35年单片机应用经历、35年教学经验,精心打造的8051单片机前沿技术的单片机课程教材。
本教材采用AI8051U 单片机为教学平台,AI8051U 单片机是STC系列单片机的更新换代产品,其独特架构兼具8位机的入门友好性与32位机的高性能拓展性。全部采用Flash技术(可反复编程10万次以上)和ISP/IAP (在系统可编程/在应用可编程)技术;针对抗干扰进行了专门设计,拥有超强抗干扰能力,进行了特别加密设计;超高速32位8051内核(1TB),比传统8051快70倍以上;集成了6个16位定时器、2个高速同步/异步串口、2个高速异步串口、2组高级PWM、3组16位CCP/PCA/PWM 模块、3组硬件SPI、QSPI、I2C、RTC、USB、I2S、MDU32、TFPU、LCD 驱动模块、DMA 通道、超高速ADC、比较器,以及内部高精准时钟(±1%温漂,温度范围在-40℃~+85℃之间,可彻底省掉外部昂贵的晶振)、内部高可靠复位电路(可彻底省掉外部复位电路)、大容量SRAM、大容量EEPROM、大容量Flash程序存储器等。
本教材基于AI8051U 单片机大学计划实验箱V1.2开发,兼容Proteus仿真,实现理论(知识)、仿真与实际开发相结合。从AI8051U-8Bit单 片机入门,再轻松升级到AI8051U-32Bit单片机的应用编程,贯通8位机到32位单片机的学习与应用实践。全新引入AiCube开发工具,通过图形化外设配置界面与自动化系统框架生成引擎,助力开发者在标准框架下聚焦核心业务逻辑,大幅提升嵌入式项目开发效率。
本教材突破传统单片机教学模式,通过8位32位技术贯通、理论实践深度融合、工具框架高效赋能的三重创新,为嵌入式系统开发人才培养提供兼具系统性与前瞻性的教学方案。本教材是AI8051U 单片机实验箱V1.2配套教材,也是AI8051U 单片机大学推广计划的合作教材。
本教材由丁向荣、周启业编著,由STC单片机创始人姚永平主审。在编写过程中得到AI8051U 单片机应用技术工程师陈锋的直接帮助,以及其他行业同仁与教育工作者的大力支持,在此,对所有提供帮助的人表示感谢!
鉴于技术发展的快速性与编者水平所限,书中不足之处恳请指正,以便持续优化内容。相关建议可发电子邮件至181269315@qq.com。
编者
第1章 认识单片机 1
1.1 微型计算机基础 1
1.1.1 计算机中数的表示与编码 1
1.1.2 微型计算机原理 6
1.2 单片机概述 11
1.2.1 单片机的定义 11
1.2.2 单片机的技术特性与分类 11
1.2.3 单片机的应用与发展前景 12
1.2.4 STC系列单片机与AI8051U单片机 14
1.3 单片机应用体验Proteus 仿真技术 14
1.3.1 Proteus的特点 14
1.3.2 流水灯系统电路与程序功能 14
1.3.3 Proteus的启动 15
1.3.4 新建工程 16
1.3.5 Proteus绘制电原理图 19
1.3.6 Proteus仿真软件实施流水灯系统(单片机)仿真 22
工程训练 24
单片机应用体验(Proteus仿真) 24
本章小结 26
本章习题 26
第2章 单片机应用系统的开发工具 29
2.1 Keil C51 集成开发环境 29
2.1.1 Keil C51的下载与安装 29
2.1.2 Keil C51的工作界面 32
2.1.3 应用Keil C51集成开发环境编辑与编译用户程序 33
2.1.4 应用Keil C51集成开发环境调试用户程序 39
2.2 AI8051U 单片机实验箱 45
2.2.1 AI8051U单片机实验箱的元器件布局结构 45
2.2.2 AI8051U单片机实验箱的功能模块电路的分析 46
2.3 AI8051U 单片机的在线编程与在线调试 48
2.3.1 AIapp-ISP在线编程软件的功能 48
2.3.2 应用AIapp-ISP在线编程软件下载用户程序 49
2.3.3 在线调试与在线仿真 50
工程训练 51
训练1:基于Keil C51流水灯系统的仿真 51
训练2:基于8051单片机的流水灯系统 52
本章小结 54
本章习题 55
第3章 单片机最小系统 57
3.1 AI8051U 单片机引脚功能与CPU 结构 57
3.1.1 AI8051U单片机的引脚功能 57
3.1.2 AI8051U单片机的内部结构 60
3.2 AI8051U 单片机的时钟与复位 61
3.2.1 AI8051U单片机的时钟 61
3.2.2 AI8051U单片机的复位 64
3.3 AI8051U 单片机的电源管理?? 67
工程训练 67
AI8051U单片机系统时钟的设置与软件延时程序的获取 67
本章小结 69
本章习题 70
第4章 C51 与单片机并行I/O 口的应用编程 73
4.1 C51 基础 73
4.1.1 新增关键字 73
4.1.2 数据类型与C51变量 74
4.1.3 C51函数的定位 77
4.1.4 C51中断服务函数?? 77
4.1.5 C51函数的递归调用与再入函数?? 77
4.1.6 在C51中嵌入汇编?? 78
4.2 AI8051U 单片机的并行I/O 口 78
4.2.1 AI8051U单片机并行I/O口的工作模式 78
4.2.2 AI8051U单片机并行I/O口的结构?? 79
4.2.3 AIapp-ISP I/O口配置工具 81
4.2.4 I/O口应用的注意事项与典型应用电路 82
4.3 AI8051U 单片机并行I/O 口的应用编程 83
4.3.1 AI8051U单片机并行I/O口的应用模式 83
4.3.2 AI8051U单片机并行I/O口的基本输入输出 84
4.3.3 AI8051U单片机并行I/O口的逻辑控制 86
4.3.4 AI8051U单片机并行I/O口的逻辑运算 87
工程训练 88
训练1:AI8051U单片机并行I/O口的应用编程 88
训练2:LED数码管显示驱动程序的应用 93
本章小结 97
本章习题 97
第5章 单片机的存储器与应用编程 100
5.1 AI8051U 单片机的存储结构 100
5.2 AI8051U 单片机的程序存储器 101
5.3 AI8051U 单片机的基本RAM 102
5.4 AI8051U 单片机的扩展RAM(XRAM) 106
5.5 AI8051U 单片机的EEPROM(数据Flash) 107
工程训练 113
训练1:AI8051U单片机片内扩展RAM 的测试 113
训练2:AI8051U单片机EEPROM 的测试 114
本章小结 116
本章习题 116
第6章 单片机定时器/计数器 119
6.1 AI8051U 单片机定时器/计数器的核心电路与工作原理 119
6.2 AI8051U 单片机定时器/计数器(T0/T1)的工作方式与控制 120
6.2.1 AI8051U 单片机定时器/计数器(T0/T1)的工作方式 120
6.2.2 T0的方式0与控制 122
6.2.3 T1的方式0与控制 124
6.3 AI8051U 单片机定时器/计数器(T0/T1)的应用举例 125
6.3.1 AI8051U单片机定时器/计数器(T0/T1)的定时应用 126
6.3.2 AI8051U单片机定时器/计数器(T0/T1)的计数应用 127
6.3.3 T0、T1的综合应用 127
6.4 AI8051U 单片机的T2、T3、T4 与T11 131
6.4.1 AI8051U单片机定时器/计数器T2的电路结构 132
6.4.2 AI8051U单片机定时器/计数器T3的电路结构 132
6.4.3 AI8051U单片机定时器/计数器T4的电路结构 132
6.4.4 AI8051U单片机定时器/计数器T11的电路结构 133
工程训练 133
训练1:AI8051U单片机定时器/计数器的定时应用 133
训练2:AI8051U单片机定时器/计数器的综合应用 134
训练3:AI8051U单片机定时器/计数器的可编程时钟输出 135
本章小结 136
本章习题 137
第7章 AI8051U 单片机中断系统 140
7.1 中断系统概述 140
7.1.1 中断系统的相关概念 140
7.1.2 中断的技术优势 141
7.1.3 中断系统需要解决的问题 141
7.2 AI8051U 单片机中断系统的工作过程及应用 142
7.2.1 AI8051U单片机的中断请求 142
7.2.2 AI8051U单片机的中断响应 149
7.2.3 中断服务与中断返回 151
7.2.4 AI8051U单片机中断的应用编程 152
7.3 AI8051U 单片机外部中断的扩展 156
工程训练 158
训练1:AI8051U单片机定时中断的应用编程 158
训练2:AI8051U单片机外部中断的应用编程 159
本章小结 161
本章习题 161
第8章 AI8051U 单片机的串行通信 164
8.1 串行通信基础 164
8.1.1 串行通信的分类 164
8.1.2 串行通信的传输方向 166
8.2 AI8051U 单片机的串行口1 167
8.2.1 串行口1的控制 167
8.2.2 串行口1的工作方式 169
8.2.3 串行口的波特率 172
8.2.4 串行口1的应用举例 173
8.3 AI8051U 单片机与PC 机的通信 181
8.3.1 单片机与PC机RS-232串行通信的接口设计 181
8.3.2 AI8051U单片机与PC机串行通信的程序设计 183
8.4 AI8051U 单片机串行口2、串行口3 和串行口4?? 185
8.4.1 AI8051U单片机串行口2 185
8.4.2 AI8051U单片机串行口3 186
8.4.3 AI8051U单片机串行口4 187
工程训练 188
训练1:AI8051U单片机双串通信的应用编程 188
训练2:AI8051U单片机串口与PC机通信的应用编程 192
本章小结 193
本章习题 194
第9章 单片机应用系统的设计与实践 197
9.1 单片机应用系统的开发 197
9.1.1 单片机应用系统的设计原则 197
9.1.2 单片机应用系统的开发流程 198
9.1.3 单片机应用系统工程报告的编制 201
9.2 LED 数码管的驱动与显示 203
9.3 键盘接口与应用编程 209
9.3.1 按键工作原理 209
9.3.2 独立键盘的原理及应用 210
9.3.3 矩阵键盘的原理及应用 214
9.4 电子时钟的设计与实践 217
9.4.1 电子时钟的功能与设计要求 217
9.4.2 电子时钟的硬件设计 217
9.4.3 电子时钟的软件设计 218
工程训练 223
训练1:矩阵键盘的应用编程 223
训练2:电子时钟的设计与实践 225
本章小结 225
本章习题 226
第10章 AI8051U 单片机的32 位应用 228
10.1 AI8051U-32Bit 单片机概述 228
10.1.1 AI8051U-32Bit单片机的内部结构 228
10.1.2 AI8051U-32Bit单片机的存储系统 228
10.2 构建AI8051U-32Bit 单片机开发环境 231
10.3 AI8051U-32Bit 单片机应用程序的编译 231
10.4 AI8051U-8Bit 单片机应用程序的升级 232
10.5 USB 库函数 233
10.5.1 USB库函数简介 233
10.5.2 USB库文件的结构分析 233
10.5.3 建立USB-CDC虚拟串口 234
10.5.4 USB-CDC串口实现不停电自动ISP下载 234
10.5.5 USB-CDC串口应用举例 235
10.6 AiCube 的应用 237
10.6.1 AiCube的工作界面 237
10.6.2 AiCube的操作使用 237
工程训练 242
训练1:AI8051U-32Bit单片机应用程序的编译与调试 242
训练2:基于USB-CDC串口的应用编程 243
训练3:基于AiCube的程序设计 245
本章小结 246
本章习题 247
附录 249
附录1 ASCII 码 249
附录2 AI8051U-8Bit 单片机特殊功能寄存器一览表 249
附录3 AI8051U 单片机内部接口功能引脚切换 250
附录4 C51 常用头文件与库函数 250
附录5 Keil 编译错误信息一览表 250
附录6 Keil C 库函数制作 251
参考文献 252