《单片机应用技术基础》以增强型8051内核单片机STC15F2K60S2为背景,介绍了单片机的基本概念、单片机应用系统常用的元器件、学习单片机技术所需的条件、单片机各部分的硬件结构及功能;以功能强大的KeilμVision集成开发环境作为程序设计和调试环境介绍了程序的调试方法;介绍了单片机应用系统中常见的人机交互模块;最后以温度测控系统为典型案例,介绍了单片机应用系统的设计方法和步骤。
为了便于读者入门,本书不再讲授晦涩难懂的汇编语言及汇编语言程序设计,完全按照使用C语言编程的思路进行介绍。这样,只要学过了C语言,就可以学习单片机,以达到快速入门的目的。
本书深入浅出、层次分明、实例丰富、通俗易懂、突出实用、可操作性强,特别适合作为普通高校计算机专业、电子专业、电气自动化及机械专业的教学用书,还可作为高职高专以及培训班的教材使用。同时,也可作为单片机应用领域的工程技术人员的参考用书。
随着技术的不断发展,作为自动检测和控制系统核心的单片机技术也取得了突飞猛进的发展,从最初的4位发展到8位、16位、32位等诸多系列。其中8051内核的单片机由于具有使用方便、价格便宜等优点,获得了众多制造厂商的支持,已经发展成为具有上百个品种的大家族。目前,8051内核的单片机仍然是应用最广泛的单片机。而在众多的8051内核单片机中,宏晶科技有限公司的STC系列单片机由于具有集成度高、抗干扰能力强的优点,越来越受到广大工程师的青睐。本书以宏晶科技有限公司的IAP15W4K58S4单片机为背景,来进行单片机的原理介绍和应用设计讲解。
IAP15W4K58S4单片机采用增强型8051内核,速度比传统8051内核单片机快8~12倍,片内集成:58KB Flash程序存储器(没有被程序占用的Flash存储器都可以作为数据Flash存储器使用)、4096B的SRAM、5个16位可自动重装载的定时/计数器(T0~T4)、最多62根I/O口线、4个全双工异步串行口(UART1~ UART4)、1个高速同步通信端口(SPI)、8通道10位高速ADC模块、8路10位PWM、内置比较器、3通道PWM/可编程计数器阵列/捕获/比较单元(Capture/Compare/PWM,CCP)、内部高可靠上电复位电路和硬件看门狗、内部集成高精度R/C时钟,常温工作时,可以省去外部晶振电路。
IAP15W4K58S4完全兼容STC15W4K系列单片机,并且具有在系统可编程(ISP)功能和仿真调试功能,可以省去价格较高的专用编程器,开发环境的搭建非常容易。
为了便于读者入门,本书按照使用C语言编程的思路进行介绍。只要学过了C语言,就可以学习单片机。本书的每一章都给出了相应的习题,便于教学。与本书配套的电子教案和书中的所有实例以及最后一章应用系统设计的相关内容可以从网站下载。有兴趣的读者,也可以发送电子邮件与作者进一步交流。
本书由山东大学陈桂友教授任主编,对全书进行规划统稿,并编写了第8章;山东特殊教育职业学院祝再兴编写了第3章;山东力明科技职业学院渠秋会编写了第4章,咸阳职业技术学院张伟斌编写了第1章和第5章;河北建材职业技术学院纪春明编写了第2章;辽宁石油化工大学矿业工程学院李芳编写了第6章和第7章。华北科技学院杜启军编写了第9章。山东大学董廷志同学对本书中所有的例题进行了测试。宏晶公司姚永平总经理对本书进行了认真审阅。在此对所有提供帮助的人深表感谢!
前言
第1章 概述 1
1.1 单片机简介 1
1.1.1 什么是单片机及单片机应用系统 1
1.1.2 MCS-51系列单片机 4
1.1.3 单片机的应用 5
1.2 单片机系统常用的元器件简介 6
1.3 单片机应用系统开发和学习环境的搭建 10
1.3.1 硬件环境 10
1.3.2 软件环境 11
1.4 习题 12
第2章 单片机基础知识 13
2.1 实例导入——信号灯的控制 13
2.1.1 硬件环境 13
2.1.2 准备程序 13
2.2 计算机的结构及工作过程 23
2.2.1 计算机模型的结构 23
2.2.2 模型机的工作过程 25
2.3 单片机的基本机构 27
2.3.1 IAP15W4K58S4单片机的内部组成 27
2.3.2 IAP15W4K58S4单片机的引脚 30
2.3.3 存储空间 32
2.4 并行输入/输出口 39
2.4.1 IAP15W4K58S4单片机的I/O口 39
2.4.2 IAP15W4K58S4单片机I/O口的工作模式 42
2.4.3 IAP15W4K58S4单片机I/O口的结构 43
2.5 时钟电路与复位电路 45
2.5.1 时钟电路与时序 45
2.5.2 单片机的复位 47
2.6 习题 48
第3章 单片机的C语言程序设计及调试 49
3.1 单片机C语言程序中的常用功能 49
3.1.1 关系运算、逻辑运算和位运算 49
3.1.2 预处理 51
3.2 Keil C和ANSI C 53
3.2.1 Keil C51扩展关键字 53
3.2.2 Keil C51函数 57
3.2.3 IAP15W4K58S4单片机C51程序框架 59
3.3 IAP15W4K58S4单片机C语言程序调试 61
3.3.1 利用软件模拟仿真器调试C语言程序 61
3.3.2 利用仿真器调试C语言程序 63
3.4 习题 67
第4章 中断系统 68
4.1 中断概述 68
4.1.1 相关概念 68
4.1.2 中断的特点 69
4.1.3 中断系统的功能 69
4.2 IAP15W4K58S4单片机的中断系统 70
4.2.1 中断源及中断系统构成 70
4.2.2 中断寄存器 73
4.2.3 单片机中断处理过程 79
4.3 中断系统的应用 79
4.4 习题 82
第5章 定时/计数器 83
5.1 定时/计数器结构与功能 83
5.2 定时/计数器的功能寄存器 85
5.3 定时/计数器的工作方式 88
5.4 时间常数的计算 89
5.5 定时/计数器应用举例 89
5.6 习题 92
第6章 串行通信 93
6.1 串行通讯的基础知识 93
6.2 单片机的串行接口 96
6.2.1 串行接口寄存器 96
6.2.2 串行接口的工作方式 99
6.2.3 波特率的设定 102
6.3 单片机串行通信接口的应用 104
6.3.1 标准串行通信接口 105
6.3.2 双机串行通信应用举例 107
6.3.3 多机串行通信应用举例 111
6.4 单片机的SPI接口 115
6.4.1 SPI接口简介 115
6.4.2 单片机的SPI接口的结构 115
6.4.3 SPI接口的数据通信 116
6.4.4 SPI接口的数据通信方式 117
6.4.5 与SPI相关的特殊功能寄存器 120
6.4.6 SPI接口的应用 122
6.5 习题 123
第7章 模/数转换器 124
7.1 ADC的结构及相关寄存器 124
7.1.1 ADC的结构 124
7.1.2 参考电压源 125
7.2 与ADC相关的特殊功能寄存器 125
7.3 ADC的应用 128
7.4 习题 129
第8章 人机交互模块 131
8.1 显示器及其接口电路 131
8.1.1 LED数码管显示器 131
8.1.2 LCD液晶屏显示器 137
8.2 键盘及其接口电路 142
8.2.1 拨码开关键盘 143
8.2.2 独立式键盘 144
8.2.3 矩阵式键盘 146
8.3 习题 150
第9章 基于单片机的温度测控系统设计 151
9.1 温度测控系统的要求 151
9.2 温度测控系统的总体设计分析 151
9.3 温度测控系统的硬件设计 152
9.4 温度测控系统的软件设计 155
9.5 习题 164
附录A 单片机寄存器头文件stc15.h内容 165
参考文献 169