高等教育 > 计算机类

STC单片机原理及应用

书号:9787113310080 套系名称:“十四五”职业教育河南省规划教材

作者:曹领 常国权 出版日期:2025-04-01

定价:59.00 页码 / 开本:296 /16

策划编辑:韩从付 责任编辑:刘丽丽 彭立辉

适用专业:计算机教材 适用层次:高职教育

最新印刷时间:2025-04-01

资源下载
教学课件(暂无) 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  •        本书是“十四五”职业教育河南省规划教材,根据学生从基础到实践、从实践到应用的全流程学习过程,充分结合单片机的最新技术及发展成果编写而成。全书共有单片机基础原理、应用系统开发、单片机综合应用系统设计三大部分,分十个模块,包括认识单片机、STC8单片机的系统结构、STC8指令系统、STC8汇编语言程序设计基础、STC8 C51语言程序设计、STC8中断系统、定时器/计数器、串行通信、其他外围模块、STC851综合应用系统设计。本书所讲内容在保持与传统8051指令集兼容的基础上,进行了大量技术创新,可满足更多复杂应用场景的要求。
           本书适合作为高等职业院校计算机、物联网、自动化、电子及相关专业的教材,也可作为单片机爱好者的参考书。
    
  •        单片机系统被广泛应用于嵌入式、电气自动化、机械自动化等领域,可实现数据采集、自动控制等功能。在物联网应用普及的今天,单片机系统的低功耗、低成本、可移动、可通信等特性也随之不断发展,更多单片机被应用于智能硬件、无线传感网等系统中。单片机原理及应用也成为高等职业院校计算机、自动化、机械、电子等专业的必修课程,单片机系统开发能力成为嵌入式系统工程师、自动化系统工程师等岗位的必备技能。
           宏晶科技(STC)推出的STC系列单片机对我国单片机技术的发展产生了深远的影响。它以“设计中国人自己的核心芯片”为使命,专注于具有自主知识产权的集成电路设计,特别是8051内核单片机技术处于行业领先地位。宏晶科技设计生产的51单片机占据了全球8051单片机市场80%以上的份额,极大地推动了8051单片机在我国的普及和应用。
           STC单片机在保持与传统8051指令集兼容的基础上,进行了大量的技术创新。例如,提高了运行速度(比普通8051快8~12倍),增强了抗干扰能力,降低了功耗,并集成了更多的外设功能(如PWM、ADC、SPI等)。这些技术创新使得STC单片机在性能上更加优越,满足了更多复杂应用场景的需求。
           本书选用的STC8A8K64D4单片机具有超高速8051内核(1T),运行速度比传统8051约快12倍,指令代码完全兼容传统8051,包含43个中断源及4级中断优先级,支持在线仿真。该单片机具有最大64 KB Flash程序存储器(ROM),128 B内部直接访问RAM(DATA)、128 B内部间接访问RAM(IDATA)及8 192 B内部扩展RAM(内部XDATA)。它还具有内部高精度IRC(频率为4~45 MHz),支持宽电压供电(1.9~5.5 V)、5路16位定时器、4路高速串口、8组15位增强型PWM,具有SPI、IIC、LCD驱动模块、DMA等丰富的外设接口。该单片机具有丰富的资源和较强的稳定性,适用于智能家居、智能交通、智慧物流等各领域中的小规模单片机应用系统。
           本书入选“十四五”职业教育河南省规划教材,面向高等职业院校计算机、物联网、自动化、电子及相关专业学生,介绍STC单片机基本工作原理,并着重讲解STC单片机各模块基本结构及应用开发方法,语言简洁、案例丰富。
           本书包含三部分共十个模块:
           第一部分为单片机基础原理,包含模块一~模块五。模块一介绍单片机的基本概念、特点及发展趋势,帮助学生了解当前单片机产品的发展现状,了解单片机的典型应用场景;模块二介绍单片机的内部结构和功能特性,重点介绍STC8系列单片机的引脚功能、存储器结构、时钟与复位系统及通用I/O接口使用方法;模块三和模块四介绍STC8单片机指令系统及汇编语言程序设计方法,通过对指令系统及汇编程序的学习帮助学生对单片机结构及特性有更深的理解;模块五介绍单片机C51语言特性及编程方法,以及单片机系统中典型的I/O设备(如按键键盘、数码管、液晶屏)的编程方法。
           第二部分为应用系统开发,包含模块六~模块九。其中模块六~模块八分别介绍STC8单片机中断系统、定时器/计数器及串行通信,几乎所有单片机应用系统都会用到这些内容;模块九介绍其他外围功能模块,包含ADC、SPI、I2C、PCA及PWM模块,可以帮助开发者构建更加丰富的单片机应用场景。
           第三部分为单片机综合应用系统设计,包含模块十,主要介绍STC8单片机的低功耗及可靠性设计,并通过PCF8591模块、DS1302模块、W25Q16模块等具体芯片实现单片机A/D、D/A、时钟、存储器等功能的扩展,提高单片机系统的实用性。
           本书由曹领、常国权任主编,魏胜利、马炳周任副主编。具体编写分工为:曹领编写模块一、二、十,马炳周编写模块三~五,常国权编写了模块六、七,魏胜利编写模块八、九。本书中的所有案例代码均在由常国权开发的STC8单片机开发板上调试通过。本书所配的教学设计、教学PPT课件、案例源代码等教学资源可在“中国铁道出版社教育资源数字化平台”https://www.tdpress.com/51eds下载。在编写过程中,宏晶科技的技术人员给予了必要的指导,在此表示感谢。
           由于时间仓促,编者水平有限,书中难免存在疏漏与不妥之处,敬请读者不吝指正。
    
  • 第一部分 单片机基础原理1
    
    模块一 认识单片机 2
    
    单元一 单片机的基本概念  2
    
    1.1.1 计算机的基本结构  2
    
    1.1.2 单片机的基本概念及结构  3
    
    单元二 单片机的优势  4
    
    单元三 单片机的发展趋势  5
    
    1.3.1 单片微型计算机阶段  5
    
    1.3.2 微控制器阶段  5
    
    1.3.3 片上系统阶段  6
    
    单元四 常见单片机种类  6
    
    1.4.1 51 系列单片机 . 6
    
    1.4.2 PIC 单片机 . 10
    
    1.4.3 AVR 单片机  11
    
    1.4.4 ARM 系列单片机 . 12
    
    单元五 单片机的应用  12
    
    1.5.1 单片机在各领域的应用  12
    
    1.5.2 单片机与嵌入式系统  13
    
    1.5.3 单片机与物联网  13
    
    小结 14
    
    习题 15
    
    模块二 STC8 单片机的系统结构 .16
    
    单元一 STC8 单片机的内部结构  16
    
    2.1.1 运算器  17
    
    2.1.2 控制器  18
    
    单元二 STC8 单片机的功能特性  18
    
    单元三 STC8 单片机的引脚功能  20
    
    单元四 STC8 单片机的存储器结构  24
    
    2.4.1 程序 Flash . 25
    
    2.4.2 数据 Flash . 25
    
    2.4.3 基本 RAM  26
    
    2.4.4 片内扩展 RAM  28
    
    单元五 STC8 单片机的时钟与复位  28
    
    2.5.1 STC8 单片机的时钟  28
    
    2.5.2 STC8 单片机的复位  30
    
    单元六 STC8 单片机的通用 I/O 接口 . 32
    
    2.6.1 通用 I/O 接口相关寄存器 . 32
    
    2.6.2 通用 I/O 接口的工作模式 . 34
    
    2.6.3 通用 I/O 接口典型外设电路 . 35
    
    单元七 实训——第一个单片机程序  36
    
    2.7.1 开发环境的搭建  36
    
    2.7.2 单片机程序开发  38
    
    2.7.3 单片机程序的下载  44
    
    2.7.4 程序的运行与调试  44
    
    小结 44
    
    习题 45
    
    模块三 STC8 指令系统 46
    
    单元一 认识单片机指令系统  47
    
    3.1.1 指令系统简介  47
    
    3.1.2 指令格式  47
    
    单元二 单片机寻址方式 . 49
    
    3.2.1 立即寻址 . 49
    
    3.2.2 直接寻址 . 49
    
    3.2.3 寄存器寻址 . 50
    
    3.2.4 寄存器间接寻址 . 50
    
    3.2.5 变址寻址 . 51
    
    3.2.6 相对寻址 . 51
    
    3.2.7 位寻址 . 53
    
    单元三 单片机指令系统 . 54
    
    3.3.1 数据传送类指令 . 54
    
    3.3.2 算术运算类指令 . 59
    
    3.3.3 逻辑运算类指令 . 63
    
    3.3.4 控制转移类指令 . 65
    
    3.3.5 位操作类指令 . 71
    
    小结 .73
    
    习题 .74
    
    模块四 STC8 汇编语言程序设计基础  75
    
    单元一 认识汇编语言 . 76
    
    4.1.1 计算机编程语言 . 76
    
    4.1.2 源程序的汇编 . 76
    
    4.1.3 汇编程序格式 . 77
    
    4.1.4 伪指令 . 78
    
    单元二 汇编语言程序设计 . 81
    
    4.2.1 汇编语言程序设计步骤 . 81
    
    4.2.2 汇编语言程序设计技巧 . 82
    
    单元三 汇编语言基本程序结构 . 82
    
    4.3.1 顺序结构 . 83
    
    4.3.2 分支结构 . 85
    
    4.3.3 循环结构 . 87
    
    4.3.4 子程序结构 . 90
    
    4.3.5 查表结构 . 92
    
    小结 .94
    
    习题 .94
    
    模块五 STC8 C51 语言程序设计 . 95
    
    单元一 C51 编程基础  96
    
    5.1.1 C51 语言特点和程序结构  96
    
    5.1.2 C51 的字符集、标识符与关键字 . 97
    
    单元二 C51 的数据类型及存储方式  100
    
    5.2.1 C51 的数据类型  100
    
    5.2.2 C51 数据的存储器类型  102
    
    5.2.3 C51 数据的存储模式  103
    
    单元三 C51 常量  103
    
    5.3.1 数值常量 . 103
    
    5.3.2 字符常量 . 104
    
    5.3.3 字符串常量 . 104
    
    5.3.4 符号常量 . 104
    
    单元四 C51 变量  105
    
    5.4.1 C51 变量定义  105
    
    5.4.2 C51 特殊功能寄存器的访问  105
    
    5.4.3 C51 位变量  106
    
    单元五 C51 运算符和表达式  108
    
    5.5.1 运算符简介 . 108
    
    5.5.2 算术运算符与算术表达式 . 108
    
    5.5.3 逻辑运算符与逻辑表达式 . 109
    
    5.5.4 关系运算符与关系表达式 . 109
    
    5.5.5 位操作运算符与位表达式 110
    
    5.5.6 赋值运算符与赋值表达式 111
    
    5.5.7 逗号运算符与逗号表达式 111
    
    单元六 C51 程序基本语句 .112
    
    5.6.1 if 语句 .112
    
    5.6.2 switch 语句 .113
    
    5.6.3 while 语句 .114
    
    5.6.4 do.while 语句 114
    
    5.6.5 for 语句 .115
    
    5.6.6 goto、break 和 continue 语句 115
    
    5.6.7 return 语句 117
    
    单元七 C51 函数 .117
    
    5.7.1 C51 函数的定义 .117
    
    5.7.2 函数的调用和声明 119
    
    5.7.3 中断函数 119
    
    5.7.4 库函数 . 120
    
    5.7.5 预处理命令 . 123
    
    单元八 C51 与汇编语言混合编程  124
    
    5.8.1 在 C51 语言中嵌入汇编语言 . 124
    
    5.8.2 C51 语言和汇编语言程序参数的传递 . 125
    
    5.8.3 带参数传递的汇编语言调用程序实例 . 126
    
    单元九 C51 编程实训  127
    
    5.9.1 数码管应用编程实训 . 127
    
    5.9.2 键盘应用编程实训 . 133
    
    5.9.3 LCD 应用编程实训  140
    
    小结 .147
    
    习题 .148
    
    第二部分  应用系统开发
    
    模块六 STC8 中断系统  150
    
    单元一 认识中断系统 . 150
    
    6.1.1 中断 . 151
    
    6.1.2 中断源 . 151
    
    6.1.3 中断优先级 . 151
    
    6.1.4 中断嵌套 . 151
    
    单元二 STC8 系列单片机的中断源 . 152
    
    单元三
    
    STC8 中断结构图 . 152
    
    6.3.1 STC8 系列中断列表 . 154
    
    6.3.2 中断相关寄存器 . 155
    
    单元四 中断使能寄存器 . 158
    
    单元五 中断请求寄存器(中断
    
    标志位) . 162
    
    单元六 中断优先级控制寄存器 . 165
    
    单元七 中断应用实训 . 168
    
    6.7.1 实训 1——外部中断 0 应用  168
    
    6.7.2 实训 2——外部中断 2 应用  170
    
    小结 .172
    
    习题 .172
    
    模块七 定时器 / 计数器 . 173
    
    单元一 认识定时器 / 计数器  174
    
    单元二 定时器的相关寄存器 . 174
    
    单元三 定时器 T0/T1 的控制 . 175
    
    7.3.1 定时器 T0/T1 控制寄存器TCON . 175
    
    7.3.2 定时器 T0/T1 模式寄存器TCON . 176
    
    7.3.3 定时器 T0 计数寄存器 . 177
    
    7.3.4 定时器 T1 计数寄存器 . 177
    
    单元四 定时器 T2 的控制 . 179
    
    单元五 定时器 T3/T4 的控制 . 180
    
    单元六 掉电唤醒定时器 . 181
    
    单元七 应用编程实训 . 182
    
    7.7.1 定时器定时应用实训 . 182
    
    7.7.2 定时器中断应用实训 . 183
    
    小结 .188
    
    习题 .188
    
    模块八 串行通信  189
    
    单元一 串行通信方式 . 189
    
    8.1.1 同步通信 . 190
    
    8.1.2 异步通信 . 191
    
    单元二 STC8 的串行通信接口 . 192
    
    单元三 串口 1  192
    
    8.3.1 串口 1 模式 0  194
    
    8.3.2 串口 1 模式 1  195
    
    8.3.3 串口 1 模式 2  197
    
    8.3.4 串口 1 模式 3  198
    
    8.3.5 自动地址识别 . 199
    
    单元四 串口 2  200
    
    8.4.1 串口 2 模式 0  201
    
    8.4.2 串口 2 模式 1  202
    
    单元五 串口 3  202
    
    8.5.1 串口 3 模式 0  203
    
    8.5.2 串口 3 模式 1  204
    
    单元六 串口 4  205
    
    8.6.1 串口 4 模式 0  206
    
    8.6.2 串口 4 模式 1  206
    
    单元七 串口注意事项 . 207
    
    单元八 串口应用编程实训 . 208
    
    8.8.1 汇编代码 . 208
    
    8.8.2 C51 语言程序  210
    
    小结 .211
    
    习题 .212
    
    模块九 其他外围模块 . 213
    
    单元一 ADC 模数转换  214
    
    9.1.1 ADC 相关寄存器  214
    
    9.1.2 ADC 典型应用线路图  217
    
    9.1.3 ADC 线性参数  217
    
    9.1.4 ADC 基础编程实训  219
    
    9.1.5 ADC 应用编程实训  221
    
    单元二 同步串行外设接口 SPI . 224
    
    9.2.1 SPI 简介 . 224
    
    9.2.2 SPI 相关寄存器 . 225
    
    9.2.3 SPI 通信方式 . 227
    
    9.2.4 配置 SPI . 228
    
    9.2.5 数据模式 . 229
    
    9.2.6 范例程序 . 230
    
    单元三 I2 C 总线 . 235
    
    9.3.1 I2 C 总线简介 . 235
    
    9.3.2 I2 C 相关寄存器  . 237
    
    9.3.3 I2 C 主机模式 . 237
    
    9.3.4 I2 C 从机模式 . 241
    
    9.3.5 I2 C 应用编程实训 . 243
    
    单元四 PCA/CCP/PWM 应用 . 247
    
    9.4.1 PCA 相关寄存器 . 248
    
    9.4.2 PCA 工作模式 . 252
    
    9.4.3 PCA 捕获模式 . 252
    
    9.4.4 软件定时器模式 . 252
    
    9.4.5 高速脉冲输出模式 . 253
    
    9.4.6 PWM 脉宽调制模式 . 253
    
    9.4.7 PCA 应用编程实训 . 256
    
    单元五 增强型 PWM . 258
    
    9.5.1 PWM 相关寄存器 . 258
    
    9.5.2 PWM 应用编程实训 . 267
    
    小结 .268
    
    习题 .268
    
    第三部分  单片机综合应用系统设计
    
    模块十 STC8 综合应用系统设计 . 270
    
    单元一 单片机低功耗设计 . 270
    
    10.1.1 低速工作模式 . 271
    
    10.1.2 空闲模式 . 271
    
    10.1.3 掉电模式 . 272
    
    单元二 单片机的可靠性设计 . 272
    
    单元三 PCF8591 模块 . 273
    
    10.3.1 PCF8591 的工作原理 . 274
    
    10.3.2 PCF8591 应用编程实训 . 275
    
    单元四 DS1302 时钟模块 . 281
    
    10.4.1 DS1302 工作原理 . 282
    
    10.4.2 DS1302 应用编程实训 . 284
    
    单元五 W25Q16 存储器模块  288
    
    10.5.1 W25Q16 引脚功能  288
    
    10.5.2 W25Q16 工作原理  289
    
    10.5.3 W25Q16 应用编程实训  291
    
    ?
    
  •        曹领,硕士,讲师,安阳工学院计算机学院物联网工程教研室主任,主持完成中国农科院棉花所棉花株高监测系统项目。主持及参与完成横向科研项目十余项,发表学术论文8篇,其中EI检索一篇。
    
           常国权,硕士,副教授,任职于安阳工学院计算机学院,专业是计算机应用技术,研究方向为无线射频技术和嵌入式系统技术应用与开发,发表论文10余篇,主编、参与著作4本,主持、参与省级项目10个,主持、参与校级教研项目5个,指导学生大学生创新项目共计30多个。