图书简介:
目录
第1章 单片机基本原理 1
1.1 单片机概述 1
1.1.1 单片机的定义及发展 1
1.1.2 单片机的分类 7
1.1.3 单片机的应用 9
1.2 单片机的结构原理 18
1.2.1 8051单片机的组成 18
1.2.2 8051单片机的内部结构 19
1.2.3 8051单片机的存储器 23
1.2.4 I/O口的结构原理 27
1.2.5 8051单片机主要引脚的功能 30
1.2.6 8051单片机的时钟与时序 31
1.2.7 8051单片机的复位 33
第2章 单片机程序设计 34
2.1 单片机汇编程序设计 34
2.1.1 51单片机汇编指令的格式 35
2.1.2 51单片机汇编指令的寻址方式 36
2.1.3 8051汇编指令系统 39
2.1.4 伪指令 42
2.1.5 汇编程序设计 42
2.2 C51程序设计 47
2.2.1 C语言与单片机 47
2.2.2 C51语言的数据类型 52
2.2.3 C51语言的运算量 56
2.2.4 绝对地址访问 63
2.2.5 运算符、表达式和语句 64
2.2.6 函数 74
2.3 单片机开发平台 80
2.3.1 硬件开发平台 80
2.3.2 软件开发平台 82
2.4 工程实践 84
任务1 汇编程序训练 84
任务2 你的第一个C51程序 86
第3章 I/O口控制与Proteus仿真 89
3.1 51单片机的I/O口 89
3.2 Proteus仿真 90
3.3 工程实践 96
任务1 单片机Proteus仿真 96
任务2 闪烁灯及其PWM控制 98
任务3 循环计数控制运行时间 100
任务4 上位机控制 102
任务5 直流电动机及其驱动 103
任务6 直流电动机的PWM调速 108
任务7 直流电动机的输入控制 110
任务8* 三轮小车的运动控制 116
第4章 定时/计数器与中断 119
4.1 单片机的中断系统 119
4.2 单片机的定时/计数器 123
4.2.1 定时/计数器的控制 124
4.2.2 定时/计数器的工作方式与初始化 125
4.2.3* 看门狗原理及应用 128
4.3 工程实践 131
任务1 二进制计数器 131
任务2 PWM信号的发生与控制 132
任务3 PWM应用1:呼吸灯 134
任务4 PWM应用2:直流电动机运行控制 136
任务5 电子音响 139
第5章 串口通信 143
5.1 串口通信原理 143
5.2 单片机的串口通信 148
5.2.1 串口结构 148
5.2.2 串口工作方式 150
5.2.3 串口初始化编程 152
5.3 工程实践 154
任务1 方式0应用:串并行转换 154
任务2 单片机与计算机的双向串口通信 155
任务3 多字符串口通信 157
任务4 串口通信头文件 159
第6章 I/O口扩展及应用 166
6.1 并行I/O口扩展方式 166
6.2 数码管动态显示 167
6.3 矩阵键盘识别 169
6.4 LCD1602 173
6.4.1 LCD1602接口 174
6.4.2 LCD1602存储器 175
6.4.3 LCD1602指令与时序 178
6.5 工程实践 183
任务1 数码管动态显示 183
任务2 矩阵键盘识别 187
任务3 LCD1602液晶显示 193
任务4* OLED显示 199
第7章 单片机与D/A转换、A/D转换 202
7.1 DAC0832的工作原理及应用 202
7.1.1 DAC0832的工作原理 202
7.1.2 DAC0832的工作方式及应用 205
7.2 ADC0804的工作原理及应用 209
7.2.1 ADC0804的工作原理 209
7.2.2 ADC0804的工作过程及应用 214
7.3 工程实践 218
7.3.1 PCF8591及其应用 219
任务1 呼吸灯 226
任务2 数字电压表 229
7.3.2 数字温度传感器DS18B20及其应用 234
任务3 温度测量系统 239
第8章 单片机应用系统设计 244
8.1 单片机应用系统设计与开发过程 244
8.1.1 单片机应用系统的基本组成 244
8.1.2 单片机应用系统设计的基本流程 245
8.2 简易单片机数字时钟 248
8.2.1 简易单片机数字时钟的基本功能 248
8.2.2 简易单片机数字时钟的设计方案 248
8.2.3 简易单片机数字时钟的主要模块 249
8.2.4 简易单片机数字时钟的硬件电路 250
8.2.5 简易单片机数字时钟的软件设计 251
8.3 单片机测温系统 259
8.3.1 单片机测温系统的基本功能 259
8.3.2 单片机测温系统的设计方案 259
8.3.3 单片机测温系统的主要模块 259
8.3.4 单片机测温系统的硬件电路 260
8.3.5 单片机测温系统的软件设计 261
8.4 单片机巡航小车 268
8.4.1 单片机巡航小车的基本功能 268
8.4.2 单片机巡航小车的设计方案 268
8.4.3 单片机巡航小车的主要模块 269
8.4.4 单片机巡航小车的硬件电路 272
8.4.5 单片机巡航小车的软件设计 273
附录 287
附录A 8051汇编指令简表 287
附录B C51库函数 287
附录C 常用自定义头文件 287
附录D 开发板电路图 287
参考文献 288
展开
前言
嵌入式单片机的应用极其广泛,具有便于移植、易于集成的应用设计开发优势,对于寻求创造力和创新应用的人来说,单片机无疑是理想的选择。51单片机以其低成本,具有易用性和广泛的支持的特点著称,特别适合初学者及在需要低成本解决方案的应用场景中使用。同时,作为最早完备的单片机产品系列,51单片机也是嵌入式技术经典的入门教学平台。
“单片机”课程的教学旨在培养学习者综合运用单片机知识解决实际工程问题的能力,服务于应用型人才的培养目标。编者在多年单片机教学实践中发现,现有教材在内容编排和设计上大多难以解决理论和实践的平衡问题,在教学中容易陷入重理论而轻实践或重实践而轻理论的陷阱。对于重实践而轻理论,由于缺乏对基础理论透彻且系统的学习,学生不理解芯片底层的工作逻辑,难以真正掌握单片机应用的技术方法;对于重理论而轻实践,理论大而全,却弱化了与实践融合,知识和技能都难以系统化地融会贯通。
鉴于此,编者立足实际,以能力目标为导向,优化教材编排,在内容设计上注重理实一体,在工程导入任务的设计上注重验证与拓展、过程与思考、兴趣与能力的结合。
全书分为8章。
第1章介绍单片机的基础知识,包括单片机的定义及发展、单片机的分类、单片机的应用、单片机的结构原理。
第2章介绍单片机程序设计,包括8051汇编指令系统、汇编与 C51 程序设计、软硬件开发平台及其搭建与使用方法(其中硬件平台开发板为本书自研配套)。
第3~5章介绍51单片机的内部资源及应用,包括51单片机片内GPIO口,定时/计数器与中断系统,UART串口的结构、原理及应用,电路设计与仿真软件Proteus的使用方法,看门狗定时器WDT的使用等。
第6~7章介绍51单片机常用外设的接口扩展技术及应用,包括并行总线与单总线、I2C等串行总线扩展技术,矩阵键盘、液晶显示器、OLED等常用I/O设备的技术原理、接口电路设计与编程,DAC0832、ADC0804、PCF8591、DS18B20等常用信号转换、传感器芯片模块的使用方法。
第8章介绍单片机应用系统设计开发方法,包括简易单片机数字时钟、单片机测温系统、单片机巡航小车三个项目设计,红外光电反射原理及HJ-IR2模块的使用方法,超声波测距原理及HC-SR04模块的使用方法,多信息融合控制策略设计与实现等。
本书在内容编排上注重内容映射能力,以实验化框架来组织序化,知识点分布扁平化,以离散性对应技能点的连续性,随用随讲或先用再讲。例如,第5章的单片机串口通信应用提前出现在第2章的任务2中,并且在第5章之前一直都会使用,读者知其然却不知其所以然,但经过多次使用而熟悉之后,进入第5章学习串口通信的效果自然事半功倍。
本书强调理论与实践、知识与工程的有机融合,采用项目化的内容单元设计,以工程导入任务,以任务驱动学习,如同苏格拉底所说“最有效的教育不是告诉人们答案,而是向他们提问”。本书工程实践项目典型且实用,任务设计循序渐进且富有趣味,在学习过程中引导创新拓展,构建知识体系。能力的掌握离不开对理论的理解,本书重视基础理论的阐述,力求做到深入浅出,通俗易懂。例如,对于单片机汇编指令的寻址方式,本书从寻址方式和寻址空间两个角度来介绍,并在汇编程序训练任务中进行直观验证。
本书可以用作各类本、专科院校电子信息、自动化相关专业的教材,也可供电子爱好者、工程技术人员自学时参考。作为教材,本书可以在课堂、实验、实训等多种教学环节和场景下使用,学时安排灵活,建议学时为理论32学时+实验16学时,也可以安排16~32学时的实验或实训。
参与本书编写的主要人员有徐锋、束仁义、王健、王宜结、井田、王丽、王留留、沈晓波、聂文艳等,由徐锋完成统稿和定稿,汪洁、胡妍、夏雨蝶、薛珊等参与了本书部分电路、图形的绘制及仿真调试等工作。感谢安徽金兰机电装备有限公司总经理于崇峰、南京佰才邦科技有限公司产品经理张斌在本书编写过程中给予的建议与帮助,也感谢电子工业出版社的杜军老师在本书完善出版过程中给予的意见与指导,还要感谢参考文献的作者,他们的工作成果给了我们很大的帮助和启发,本书的部分参考资料来自网络和AI大模型,未能尽列之处,还请见谅。
本书得到了安徽省教育厅“双特色”专业基金项目和淮南师范学院新编教材基金项目的支持。由于代码、图表等繁杂,也限于编者自身水平,书中难免会有疏漏之处,恳请读者批评指正,可以通过E-mail:xu2695@sina.com进行反馈,同时可通过该邮箱索取本书全套程序源代码和电子教案,期待与您的联系!
展开