![]() ![]() |
单片微机原理与接口技术——基于STC8H8K64U系列单片机 读者对象:本书可作为高等学校电子信息类、电子通信类、自动化类、计算机应用类专业"单片机原理与应用”或"微机原理”课程教材及电子设计竞赛、单片机应用工程师考证的培训教材。
本书以STC8H8K64U系列单片机为教学平台,该系列单片机代表当今8位机较高水平,包含高级PWM 定时器、USB 模块及 16 位硬件乘/除法器等高级功能模块。本书基于 STC 大学计划实验箱(8.3)(主控单 片机为 STC8H8K64U 系列单片机),采用“汇编+C”双语言编程,精选工程训练实例,设计多种类型的 习题。本书内容包括单片机基础,对 STC8H8K64U 系列单片机的增强型 8051 内核、应用系统的开发工具、 指令系统、汇编及 C 双语言程序设计、存储器与应用编程、定时/计数器、中断系统、串行通信端口、人 机对话接口的应用设计、12 位 A/D 转换模块、比较器、SPI 接口、I2C 通信接口、高级 PWM 定时器、USB 模块、16 位乘/除法器的介绍,以及应用其进行低功耗设计与可靠性设计的介绍。 本书可作为高等学校电子信息类、电子通信类、自动化类、计算机应用类专业“单片机原理与应用” 或“微机原理”课程教材,也可作为电子设计竞赛、单片机应用工程师考证的培训教材,还可作为传统 8051 单片机应用工程师升级转型的参考书。
丁向荣,男,广东轻工职业技术学院教授,电子信息类专业教学骨干,长期从事单片机方面的教学实践和教科研工作,具备丰富的相关经验,其对STC单片机的理解尤为深入,曾编写并出版过多本相关教材,获得市场广泛认可。
目 录
第 1 章 认识单片机 ······················································································.1 1.1 单片机概述 ······················································································.1 1.1.1 微型计算机的工作原理 ······························································.1 1.1.2 单片机 ····················································································.5 1.2 STC8H 系列单片机简介 ······································································.6 1.2.1 STC 系列单片机概述 ·································································.6 1.2.2 STC8H 系列单片机 ····································································.7 1.2.3 STC8H8K64U 系列单片机 ···························································.8 本章小结 ·······························································································.18 习题 ·····································································································.19 第 2 章 增强型 8051 内核 ·············································································.21 2.1 CPU 结构 ·······················································································.21 2.2 存储结构 ························································································.22 2.3 并行I/O 口 ·····················································································.28 2.3.1 并行I/O 口的工作模式 ······························································.28 2.3.2 内部上拉电阻的设置·································································.31 2.3.3 施密特触发器的设置·································································.31 2.3.4 电平转换速度的设置·································································.32 2.3.5 电流驱动能力的设置·································································.32 2.3.6 数字信号输入使能的设置 ··························································.32 2.4 时钟与复位 ·····················································································.32 2.4.1 时钟 ······················································································.32 2.4.2 复位 ······················································································.36 本章小结 ·······························································································.38 习题 ·····································································································.39 第 3 章 应用系统的开发工具 ·········································································.42 3.1 Keil ?Vision4 集成开发环境——单片机应用程序的编辑、编译与调试流程 ····.42 3.2 在线编程与在线仿真 ·········································································.50 3.2.1 在线可编程电路 ·······································································.50 3.2.2 单片机应用程序的下载与运行 ····················································.51 3.2.3 Keil ?Vision4 集成开发环境与 STC 仿真器的在线仿真 ······················.53 3.2.4 STC-ISP 在线编程软件的其他功能 ···············································.54 3.3 仿真软件 Proteus ··············································································.55 3.4 工程训练 ························································································.55 3.4.1 Keil ?Vision4 集成开发环境的操作使用 ·········································.55 3.4.2 STC8H8K64U 系列单片机的在线调试与在线仿真 ····························.62 3.4.3 Proteus 单片机应用系统的仿真 ····················································.66 本章小结 ·······························································································.72 习题 ·····································································································.72 第 4 章 指令系统与汇编语言程序设计 ·····························································.75 4.1 指令系统 ························································································.75 4.1.1 概述 ······················································································.75 4.1.2 数据传送类指令 ·······································································.81 4.1.3 算术运算类指令 ·······································································.86 4.1.4 逻辑运算与循环移位类指令 ·······················································.91 4.1.5 控制转移类指令 ·······································································.95 4.1.6 位操作类指令 ········································································.100 4.2 汇编语言程序设计 ··········································································.104 4.2.1 汇编语言程序设计基础 ···························································.104 4.2.2 基本程序结构与程序设计举例 ··················································.109 4.3 工程训练 LED 数码管的驱动与显示(汇编语言版) ······························118 本章小结 ·····························································································.121 习题 ···································································································.122 第 5 章 C51 与 C51 程序设计 ······································································.127 5.1 C51 基础 ······················································································.127 5.1.1 C51 数据类型 ········································································.129 5.1.2 C51 的变量 ···········································································.131 5.1.3 8051 单片机特殊功能寄存器变量的定义 ······································.132 5.1.4 8051 单片机位寻址区(20H~2FH)位变量的定义 ························.134 5.1.5 函数的定位 ···········································································.134 5.1.6 中断服务函数 ········································································.135 5.1.7 函数的递归调用与再入函数 ·····················································.136 5.1.8 在C51 中嵌入汇编语言程序 ·····················································.136 5.2 C51 程序设计 ················································································.137 5.2.1 C51 程序框架 ········································································.137 5.2.2 C51 程序设计举例 ··································································.140 5.3 工程训练 LED 数码管的驱动与显示(C 语言版) ·······························.142 本章小结 ·····························································································.144 习题 ···································································································.145 第 6 章 存储器与应用编程 ··········································································.147 6.1 程序存储器 ···················································································.147 6.2 片内基本 RAM ···············································································.149 6.3 扩展RAM ····················································································.150 6.4 EEPROM ······················································································.154 6.5 工程训练 ······················································································.160 6.5.1 片内扩展 RAM 的测试 ····························································.160 6.5.2 EEPROM 的测试 ····································································.161 本章小结 ·····························································································.165 习题 ···································································································.166 第 7 章 定时/计数器 ···················································································.168 7.1 定时 /计数器(T0/T1)的结构和工作原理 ············································.168 7.2 定时 /计数器(T0/T1)的控制 ···························································.169 7.3 定时 /计数器(T0/T1)的工作方式 ·····················································.172 7.4 定时 /计数器(T0/T1)的应用举例 ·····················································.175 7.4.1 定时应用 ··············································································.176 7.4.2 计数应用 ··············································································.177 7.4.3 T0、T1 的综合应用 ································································.178 7.5 定时 /计数器 T2 ··············································································.181 7.5.1 T2 的电路结构 ······································································.181 7.5.2 T2 的控制寄存器 ···································································.181 7.6 定时 /计数器 T3、T4 ········································································.182 7.6.1 电路结构 ··············································································.182 7.6.2 控制寄存器 ···········································································.183 7.7 可编程时钟输出 ·············································································.184 7.7.1 T0~T4 的可编程时钟输出 ·······················································.184 7.7.2 可编程时钟的应用举例 ···························································.185 7.8 工程训练 ······················································································.187 7.8.1 定时/计数器的定时应用 ···························································.187 7.8.2 定时/计数器的计数应用 ···························································.189 7.8.3 定时/计数器的综合应用 ···························································.191 7.8.4 可编程时钟输出 ·····································································.193 本章小结 ·····························································································.195 习题 ···································································································.196 第 8 章 中断系统 ······················································································.199 8.1 中断系统概述 ················································································.199 8.1.1 中断系统的几个概念·······························································.199 8.1.2 中断的技术优势 ·····································································.200 8.1.3 中断系统需要解决的问题 ························································.201 8.2 STC8H8K64U 系列单片机中断系统的简介 ···········································.201 8.2.1 中断请求 ··············································································.201 8.2.2 中断响应、中断服务与中断返回 ···············································.210 8.2.3 中断应用举例 ········································································.213 8.3 STC8H8K64U系列单片机外部中断源的扩展 ·············································.218 8.4 工程训练 ······················································································.221 8.4.1 定时中断的应用编程·······························································.221 8.4.2 外部中断的应用编程·······························································.222 本章小结 ·····························································································.224 习题 ···································································································.225 第 9 章 串行通信端口 ················································································.228 9.1 串行通信基础 ················································································.228 9.2 串行通信端口 1 ···············································································.231 9.2.1 控制寄存器 ···········································································.231 9.2.2 工作方式 ··············································································.234 9.2.3 波特率 ·················································································.237 9.2.4 应用举例 ··············································································.238 9.3 STC8H8K64U 系列单片机与计算机的通信 ···········································.251 9.3.1 接口设计 ··············································································.251 9.3.2 程序设计 ··············································································.253 9.4 串行通信端口 2* ············································································.256 9.5 串行通信端口 3* ············································································.257 9.6 串行通信端口 4* ············································································.259 9.7 工程训练 ······················································································.260 9.7.1 单片机间的双机通信·······························································.260 9.7.2 单片机与计算机间的串行通信 ··················································.263 本章小结 ·····························································································.266 习题 ···································································································.267 第 10 章 人机对话接口的应用设计 ································································.270 10.1 单片机应用系统的设计和开发 ·························································.270 10.1.1 单片机应用系统的设计原则 ····················································.270 10.1.2 单片机应用系统的开发流程 ····················································.271 10.1.3 单片机应用系统工程报告的编制 ··············································.274 10.2 键盘接口与应用编程 ·····································································.276 10.3 LCD 接口与应用编程 ·····································································.285 10.3.1 LCD 模块概述 ·····································································.285 10.3.2 点阵字符型液晶显示模块 LCD1602 ··········································.285 10.3.3 点阵图形型 LCD 模块 LCD12864 ·············································.293 10.4 工程训练 ····················································································.302 10.4.1 单片机与矩阵键盘的接口与应用 ···············································.302 10.4.2 单片机与 LCD12864(含中文字库)的接口与应用 ·······················.306 本章小结 ·····························································································.313 习题 ···································································································.314 第 11 章 A/D 转换模块 ···············································································.318 11.1 A/D 转换模块的结构 ·····································································.318 11.2 A/D 转换模块的控制 ·····································································.319 11.3 A/D 转换模块的应用 ·····································································.323 11.4 工程训练 ····················································································.325 11.4.1 测量内部 1.19V 基准电压 ·······················································.325 11.4.2 ADC 键盘 ···········································································.328 本章小结 ·····························································································.332 习题 ···································································································.332 第 12 章 比较器 ························································································.334 12.1 比较器的内部结构与控制 ·······························································.334 12.2 比较器的应用 ··············································································.337 12.3 工程训练 应用比较器和 A/D 转换模块测量单片机内部 1.19V 基准电压 ····.338 本章小结 ·····························································································.342 习题 ···································································································.342 第 13 章 SPI 接口 ·····················································································.344 13.1 结构 ····························································································.344 13.2 控制 ····························································································.346 13.3 配置与通信方式 ···········································································.347 13.4 应用编程 ····················································································.352 13.5 工程训练 ····················································································.357 13.5.1 通过 SPI 串行总线访问 PM25LV040 ··········································.357 13.5.2 ILI9325 驱动 TFT 触摸显示屏的测试 ········································.370 本章小结 ·····························································································.371 习题 ···································································································.372 第 14 章 I2C 通信接口 ················································································.373 14.1 I2C 总线 ······················································································.373 14.2 STC8H8K64U 系列单片机 I2C 通信接口的介绍 ····································.381 14.2.1 I2C 通信接口的控制 ······························································.381 14.2.2 主机模式的应用编程 ·····························································.385 14.2.3 从机模式的应用编程 ·····························································.388 14.3 工程训练 I 2C 通信接口的应用 ·······················································.390 本章小结 ·····························································································.395 习题 ···································································································.395 第 15 章 高级 PWM 定时器 ·········································································.398 15.1 PWMA 概述 ················································································.399 15.2 PWMA 的特殊功能寄存器 ······························································.400 15.3 PWMA 的应用编程 ·······································································.426 15.3.1 PWMA 的时基单元与操作 ······················································.427 15.3.2 时钟 /触发控制器的操作 ·························································.430 15.3.3 捕获 /比较通道的操作 ····························································.433 15.4 中断与操作 ·················································································.446 15.5 工程训练 高级 PWM 定时器的应用·················································.446 本章小结 ·····························································································.451 习题 ···································································································.451 第 16 章 USB 模块 ····················································································.454 16.1 USB 概述 ····················································································.454 16.2 USB 模块的控制 ···········································································.455 16.3 USB 模块的操作文件 ·······································································.466 16.4 工程训练 计算机通过 USB 接口发送指令读取 A/D 转换模块的测试参数 ··.470 本章小结 ·····························································································.481 习题 ···································································································.481 第 17 章 16 位乘/除法器 ·············································································.483 17.1 16 位乘/除法器的操作 ······································································.483 17.2 16 位乘/除法器的应用编程 ······························································.485 17.3 工程训练 STC8H8K64U 系列单片机 16 位乘/除法器的应用 ··················.488 本章小结 ·····························································································.490 习题 ···································································································.491 第 18 章 低功耗设计与可靠性设计 ································································.492 18.1 低功耗设计 ·················································································.492 18.2 可靠性设计 ·················································································.496 本章小结 ·····························································································.499 习题 ···································································································.500 参考文献 ···································································································.502
你还可能感兴趣
我要评论
|