STC15单片机C语言编程与应用——基于可在线仿真的IAP15W4K58S4
  • 推荐0
  • 收藏0
  • 浏览1.7K

STC15单片机C语言编程与应用——基于可在线仿真的IAP15W4K58S4

徐爱钧 (作者)  孙学瑛 (责任编辑)

  • 书  号:978-7-121-28692-6
  • 出版日期:2016-05-23
  • 页  数:364
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:孙学瑛
本书以STC公司最新推出的IAP15W4K58S4单片机为代表,全面介绍了STC15系列增强型8051单片机的功能特点,阐述了Keil C51高级语言程序设计方法,力求先进性和实用性,给出了大量片内资源以及片外扩展应用的具体实例。在构思及选材上,注意尽量符合单片机应用系统发展要求,突出系统设计方法和C51编程技术,给出了大量IAP15W4K58S4单片机应用系统设计实例。全书共分12章:第1章阐述STC15系列单片机基础知识;第2章阐述Keil C51应用程序设计;第3~8章分别阐述IAP15W4K58S4单片机的中断系统、定时器/计数器、串行口、PCA可编程计数器阵列、SPI同步串行接口等;第9章阐述IAP15W4K58S4单片机的键盘显示接口扩展;第10章阐述IAP15W4K58S4单片机的数模与模数转换接口扩展;第11章阐述IAP15W4K58S4单片机的I2C总线接口扩展;第12章阐述IAP15W4K58S4单片机综合应用编程实例。
单片机畅销图书作者,圈内知名老教授精心写就。
全面介绍了STC15系列增强型8051单片机的功能特点。
给出了大量片内资源以及片外扩展应用的具体实例。
给出了大量IAP15W4K58S4单片机应用系统设计实例。
前 言
8051单片机是目前国内外工业测量控制领域内使用极为广泛的一类8位微控制器,它具有体积小、价格低、功能强、可靠性高、使用方便灵活等特点。以单片机为核心设计各种智能化电子设备,已成为电子设计中最为普遍的应用手段。早期单片机应用开发大多采用汇编语言编程,程序不易移植和维护。随着Keil C51编译器应用的普及,单片机已不再单纯采用汇编语言编程,而是采用汇编语言与C语言混合编程,极大地提高了编程效率。
中国深圳宏晶科技有限公司(以下简称“宏晶公司”)长期致力于STC系列增强型8051单片机的研发,其新近推出的STC15系列单片机在指令系统上与标准8051内核完全兼容,运行速度提高了8~12倍,还增加了许多新的内部集成功能部件,如片内A/D转换器、可编程PCA阵列、同步串行SPI接口、大规模片内Flash存储器和XRAM存储器等。此外还增加了IAP在线仿真调试功能,使得一块单片机芯片就是一个仿真器成为现实,为单片机开发应用提供了更为方便的手段。STC系列单片机价廉物美,无论是在校大学生学习单片机原理知识,还是从事单片机应用开发的科技人员制作实际硬件系统,利用STC系列单片机都可以获得事半功倍的效果。
本书以宏晶公司最新推出的IAP15W4K58S4单片机为代表,全面介绍了STC15系列增强型8051单片机的功能特点,阐述了Keil C51高级语言程序设计方法,力求先进性和实用性相结合,并提供了大量片内资源以及片外扩展应用的具体实例。在构思及选材上,注意尽量符合单片机应用系统发展要求,突出系统设计方法和C51编程技术,给出了大量IAP15W4K58S4单片机应用系统设计实例。
全书共12章。
第1章:阐述STC15系列单片机基础知识,介绍IAP15W4K58S4单片机的性能特点、存储器结构、时钟与复位、并行I/O端口工作模式、在线仿真调试等。
第2章:阐述Keil C51应用程序设计,详细介绍C51程序设计的语法、基本语句、函数,Keil C51编译器对ANSI C的扩展,目标代码段的管理、与汇编语言程序的接口、绝对地址访问以及Keil C51库函数等。
第3~8章:分别阐述IAP15W4K58S4单片机的中断系统、定时器/计数器、串行口、PCA可编程计数器阵列、SPI同步串行接口、片内比较器与增强型PWM模块、片内A/D转换器与低功耗设计等各种片内集成功能部件的工作原理与应用方法,给出了每一种片内资源的具体应用实例。
第9章:阐述IAP15W4K58S4单片机的键盘显示接口扩展,介绍LED数码管、矩阵键盘、点阵字符及点阵图型LCD模块的工作原理、接口扩展方法以及具体应用实例。
第10章:阐述IAP15W4K58S4单片机的数模与模数转换接口扩展,介绍常用D/A和A/D转换器件如DAC0832、ADC0809、ICL7135,串行接口转换器件的工作原理,接口扩展方法以及具体应用实例。
第11章:阐述IAP15W4K58S4单片机的I2C总线接口扩展,介绍I2C总线结构与数据传输方式,给出了I2C总线通用驱动程序以及具体I2C接口芯片扩展实例。
第12章:阐述IAP15W4K58S4单片机综合应用编程实例,介绍了C51调用汇编语言函数、应用库文件的生成等实际应用技巧,给出了红外遥控系统、PWM脉宽调制系统、点阵LED显示屏、DTMF发送/接收系统、DS18B20多点温度监测系统、STH11数字温湿度测量系统、SD卡和WAV音频播放器等应用实例的硬件和软件设计方法。
本书在编写过程中得到了宏晶公司总经理姚永平的大力支持,他提供了IAP15W4K58S4单片机测试样片,彭秀华、徐阳、范林、郑玉章、李涛、熊万等参加了本书的编写工作,在此一并表示衷心感谢。由于作者水平有限,书中难免会有错误和不妥之处,恳请广大读者批评指正,读者可通过电子邮件ajxu@tom.com或ajxu41@sohu.com直接与我联系。


徐爱钧
2016年2月于长江大学

目录

目 录
第1章 STC15系列单片机基础 1
1.1 IAP15W4K58S4单片机的性能特点 1
1.2 IAP15W4K58S4单片机体系结构 2
1.2.1 体系结构 2
1.2.2 引脚功能 4
1.3 IAP15W4K58S4单片机的存储器结构 6
1.4 IAP15W4K58S4单片机的时钟与复位 10
1.4.1 时钟 10
1.4.2 复位 11
1.5 IAP15W4K58S4单片机存储器的使用 14
1.5.1 片内Flash存储器 14
1.5.2 片内扩展XRAM存储器 15
1.5.3 片外扩展RAM存储器的总线管理 16
1.5.4 片内数据Flash存储器 17
1.6 IAP15W4K58S4单片机的并行I/O端口 18
1.6.1 并行I/O端口的工作模式 18
1.6.2 并行I/O端口使用注意事项 20
1.7 IAP15W4K58S4单片机的在线仿真调试 22
第2章 Keil C51应用程序设计 31
2.1 Keil C51程序设计的基本语法 31
2.1.1 Keil C51程序的一般结构 31
2.1.2 数据类型 32
2.1.3 常量、变量及其存储模式 33
2.1.4 运算符与表达式 34
2.2 C51程序的基本语句 37
2.2.1 表达式语句 37
2.2.2 复合语句 37
2.2.3 条件语句 37
2.2.4 开关语句 38
2.2.5 循环语句 38
2.2.6 goto、break、continue语句 39
2.2.7 返回语句 39
2.3 函数 40
2.3.1 函数的定义与调用 40
2.3.2 中断服务函数与寄存器组定义 41
2.4 Keil C51编译器对ANSI C的扩展 42
2.4.1 存储器类型与编译模式 42
2.4.2 关于bit、sbit、sfr、sfr16数据类型 43
2.4.3 一般指针与基于存储器的指针及其转换 46
2.4.4 C51编译器对ANSI C函数定义的扩展 47
2.5 C51编译器的数据调用协议 50
2.5.1 数据在内存中的存储格式 50
2.5.2 目标代码的段管理 51
2.6 与汇编语言程序的接口 53
2.6.1 参数传递规则 53
2.6.2 C51与汇编语言混合编程举例 57
2.7 绝对地址访问 59
2.7.1 采用扩展关键字“_at_”或指针定义变量的绝对地址 59
2.7.2 采用预定义宏指定变量的绝对地址 60
2.8 Keil C51库函数 61
2.8.1 本征库函数 61
2.8.2 字符判断转换库函数 61
2.8.3 输入输出库函数 62
2.8.4 字符串处理库函数 66
2.8.5 类型转换及内存分配库函数 68
2.8.6 数学计算库函数 69
第3章 中断系统与定时器/计数器 70
3.1 中断系统结构 70
3.2 与中断相关的特殊功能寄存器 71
3.2.1 中断允许寄存器 71
3.2.2 中断优先级寄存器 73
3.2.3 中断标志寄存器 73
3.3 中断响应 75
3.4 中断系统应用编程 77
3.4.1 外部中断 78
3.4.2 中断源扩展 78
3.4.3 中断嵌套 80
3.5 定时器/计数器的逻辑结构 81
3.6 与定时器/计数器相关的特殊功能寄存器 82
3.7 定时器/计数器的工作方式 84
3.7.1 定时器/计数器T0和T1的工作方式 84
3.7.2 定时器/计数器T2、T3、T4的工作方式 87
3.7.3 可编程时钟输出 88
3.8 定时器/计数器应用举例 89
3.8.1 定时器工作方式应用 90
3.8.2 计数器工作方式应用 94
3.8.3 利用定时器产生音乐 94
第4章 串行口 98
4.1 串行通信的一般概念 98
4.2 与串行口1相关的特殊功能寄存器 99
4.3 串行口1的工作方式 101
4.3.1 工作方式0——串/并转换 101
4.3.2 工作方式1、2、3——串行通信 101
4.3.3 波特率计算 103
4.4 串行口1的应用 104
4.4.1 串/并转换 104
4.4.2 双机串行通信 106
4.4.3 主-从式多机串行通信 108
4.4.4 单片机与PC通信 113
4.4.5 IAP15W4K58S4单片机与PC的USB总线通信接口 114
4.5 串行口1的中继广播方式 115
4.6 串行口2 115
4.7 串行口3 116
4.8 串行口4 117
4.9 串行口硬件引脚的切换 118
第5章 PCA可编程计数器阵列 120
5.1 PCA模块的逻辑结构 120
5.2 与PCA模块相关的特殊功能寄存器 121
5.3 PCA模块的工作模式 123
5.3.1 捕获模式 123
5.3.2 软件定时器模式 124
5.3.3 高速脉冲输出模式 124
5.3.4 脉宽调制PWM输出模式 125
5.4 PCA模块功能引脚的切换 126
5.5 PCA模块的应用 127
第6章 SPI同步串行接口 132
6.1 SPI接口的逻辑结构 132
6.2 与SPI接口相关的特殊功能寄存器 133
6.3 SPI接口的通信方式及数据格式 134
6.3.1 通信方式 134
6.3.2 数据格式 136
6.4 SPI接口功能引脚的切换 137
6.5 SPI接口的应用 138
第7章 片内比较器与增强型PWM模块 140
7.1 片内比较器的逻辑结构 140
7.2 与比较器相关的特殊功能寄存器 140
7.3 片内比较器的应用 142
7.4 增强型PWM模块的逻辑结构 143
7.5 与PWM模块相关的特殊功能寄存器 144
7.6 PWM模块功能引脚的切换 146
7.7 PWM模块功能的应用 146
第8章 片内A/D转换器与低功耗应用 149
8.1 片内A/D转换器的逻辑结构 149
8.2 与片内A/D转换器相关的特殊功能寄存器 150
8.3 片内A/D转换器的应用 151
8.4 与低功耗相关的特殊功能寄存器 153
8.5 低功耗模式的应用 154
8.5.1 空闲与掉电工作模式 154
8.5.2 低功耗应用举例 155
第9章 键盘与显示接口扩展 160
9.1 LED数码管显示接口 160
9.1.1 I/O端口驱动LED数码管 161
9.1.2 单个74HC595驱动多位LED数码管 162
9.2 键盘接口 165
9.2.1 编码键盘 167
9.2.2 非编码键盘 169
9.2.3 采用I/O端口实现的矩阵键盘接口 170
9.2.4 采用片内ADC实现的矩阵键盘接口 173
9.3 点阵字符型LCD模块应用接口 177
9.3.1 点阵字符型LCD模块简介 177
9.3.2 点阵字符型LCD模块与单片机的8位数据接口 182
9.3.3 点阵字符型LCD模块与单片机的4位数据接口 185
9.4 无字库12864点阵图型液晶模块应用接口 188
9.5 带字库12864点阵图型液晶模块应用接口 195
9.5.1 带字库12864点阵图型液晶模块与单片机的并行接口 200
9.5.2 带字库12864点阵图型液晶模块与单片机的串行接口 204

第10章 数/模与模/数转换接口扩展 208
10.1 数/模转换器接口扩展 208
10.1.1 DAC0832与单片机的接口 208
10.1.2 DAC1208与单片机的接口 214
10.1.3 串行DAC芯片TLC5615与单片机的接口 215
10.2 模/数转换器接口扩展 218
10.2.1 ADC0809与单片机的接口 218
10.2.2 ICL7135与单片机的接口 221
10.2.3 串行ADC芯片TLC549与单片机的接口 225
第11章 I2C总线接口扩展 229
11.1 I2C总线简介 229
11.2 I2C总线结构与数据传输 229
11.3 I2C总线通用驱动程序 232
11.4 I2C接口器件24C04的读写程序 234
11.5 I2C接口A/D-D/A转换芯片PCF8591应用 238
11.6 I2C接口时钟芯片PCF8563应用 249
第12章 单片机综合应用编程实例 261
12.1 有关C51编程的若干实际应用技巧 261
12.2 C51调用汇编语言函数及生成应用库文件 266
12.2.1 C51调用汇编语言函数 266
12.2.2 在?Vision4中生成应用库文件 270
12.3 红外遥控系统 272
12.3.1 功能要求 272
12.3.2 硬件电路设计 272
12.3.3 软件程序设计 272
12.4 PWM脉宽调制系统 282
12.4.1 功能要求 282
12.4.2 硬件电路设计 283
12.4.3 软件程序设计 283
12.5 点阵LED显示屏 293
12.5.1 功能要求 293
12.5.2 硬件电路设计 293
12.5.3 软件程序设计 294
12.6 DTMF收发系统 296
12.6.1 功能要求 296
12.6.2 硬件电路设计 296
12.6.3 软件程序设计 299
12.7 DS18B20多点温度监测系统 311
12.7.1 功能要求 311
12.7.2 硬件电路设计 312
12.7.3 软件程序设计 315
12.8 STH11数字温湿度测量系统 323
12.8.1 功能要求 323
12.8.2 硬件电路设计 323
12.8.3 软件程序设计 327
12.9 SD卡WAV音频播放器 332
12.9.1 功能要求 332
12.9.2 硬件电路设计 332
12.9.3 软件程序设计 333
附录A STC15系列单片机指令表 344
附录B STC-ISP工具软件简介 350
参考文献 353

读者评论