
《STC15增强型8051单片机C语言编程与应用(含CD光盘1张)》是2014年10月电子工业出版社出版的图书,作者是徐爱钧。
- 书名 STC15增强型8051单片机C语言编程与应用(含CD光盘1张)
- 作者 徐爱钧
- ISBN 978-7-121-24117-8
- 页数 424页
- 定价 69.00元
内容简介
来自 《STC15增强051单片机C语言编程与应用》详细介绍了宏晶科360百科技有限公司研发的 STC15系列新型 Flash 8051单片机的基本组成、性能特点及应用方法,基于 Flash存储器的 ISP在系统中编程和 IAP在应用中编程的相关技术。结合目则前流行的Keil C51编译器环境,对 STC15系列单片机采用 C语言进行编程应用,充非生衣分发挥 C51技术优势供诉次法类口农项,全面地展现 STC15系列单片机的本身特色,如片内晶体振荡器时钟调整,将芯片配置成为具有仿真功能的单赶吧论分训孙含染片机,Keil uVision4环境下在线仿真调洋发试,1T单周期指令高速执行, I2C、SPI、ADC等片内资源,以及多种片外扩展应用,为读者快速上手提供方微错似巴妒那酸则北如便。
《STC15增强型8051单片机重点兴C语言编程与应用》的特点是强调先进性和实用性,给出了大量应用实例,包括原理电路图及使用说明知,并带有 1张光盘,其中包括 Keil公司提供的 C51全功能评估软件包与各章兰超中列出的全部程序代码。
《言践眼酸团STC15增强型8051单片机目C语言编程与应用》适合从事单片机应用系统开发婷印美保后过急都垂服研制的广大工程技术顶怎践距天六是说款吸人员阅读,也可以作为高等院校相关专业学生的教学参考书。
版权信息
STC15增强型8051单片机C语言编程与应用(含CD光盘1张)
徐爱钧 著
ISB按克延绿经玉N 978-7-121-24117-8
2014年10月出版
定价:69.00元
424页
16开
内容提要
《STC15增强型8帮起源内适浓行制缺掉般051单片机C语言编程与应用》详细介绍了宏晶科技有限公司研发的 STC15系列新型 Flash 8051单片机的基本组成、性能特点及应用方法,基于 Flash存储器的 ISP在系统中编程和 来自IAP在应用中编程的相关技术。综合流行的 Keil C51编译器环境,对 STC15系列单片机采用 C语言进行编程应用,充分发挥 C51技360百科术优势,全面地展现 STC15系列单片机的本身特色,如片内晶体振荡器时钟调整,将芯片配置成为具有仿真功能的单片机,Keil uVision4环境下将存并冲束直沙哪在线仿真调试,1T单周期指令高速执行, I2C、SPI、ADC等片内资稳环击杂被观念源,以及多种片外扩衣阶缺名起庆架展应用,为读者快速上手提供方便。
《STC15增强型8051单片机C语言编程与应用》的特点是强调先进性和实用性,给出了大量应用实例,包括原理电路图及使用说明,并带有 1张光盘,其中包括 Keil公司试写族进南提供的 C51全功能评估软件包与各章中列出的全部程序代码。
哥呀书 《STC15增强型8051单片机C语言编程与应用》适合从事单片机应用系统开发研制的广大工程技术人员阅读,也可以作为高等院校相关专业学生的教学参考书。
目录
第1章 STC15系列单片机基础 1
1.轻言句督很两1 STC15F2K60S2单片机性能特点 1
1副分课慢送持.1.1 主要特性 1
1.1.2 体系结构 2
1.1.3 引脚功能 2
1.2 STC推磁15F2K60S2单片机的模存储器结构 4
1永怕件圆盐京临著医.3 STC15F2K60S2单片机的时钟与复位 8
1.3.1 时钟 8
1.3.2 复位 9
1.3.3 看门数带存衡双取久哪克乱伤狗电路 10
1.4 STC15F2K60S2单片机存储器的使用 11
1.4.1 片内F职曾破笔抓必艺兰球lash存储器 11
1.4.2 片内扩展XRAM存储器 12
1.4.3 片内数据Flash存储器(EEPROM) 13
1.5 STC15F2静两才选限排站K60S2单片机的并行I/O端口 14
1.5.1 并行I/O端口工作模式 14
1.5.2 并行I/O端口使用注意事项 15
1.6 Keil C51开发工具 16
1.7 STC15单片机的C语言编程与调试 17
第2章Ke翻检刑义状夜il C51程序设计基础 26
2.1 标识符与关键字 26
2.2 C51程序设计的基本语法 28
2.2.1 C51程序的一般结构 28
2.2.2 数据类型 29
2.2.3 用typedef重新定义数据类型 31
2.2.电跑样感影任重换单雨4 常量、变量及其存储模式 32
2.2.5 运算符与表达式 34
2.3 C5并历修失元手增末方免时1程序的基本语句 38
2.3.1 表达式语句 38
2.3.2 复合攻语句 39
2.3.3 条件语句 39
2.3.4 开关语句 40
2.3.5 循环语句 40
2.3.6 goto、break、continue语句 41
2.3.7 返回语句 41
2.4 函数 42
2.4.1 函数的定义与调用 42
2.4.2 定义中断服务函数与寄存器组 44
2.5 数组 45
2.5.1 数组的定义与引用 45
2.5.2 数组名作为函数的参数 47
2.5.3 数组与存储器空间 50
2.6 指针 50
2.6.1 指针与地址 51
2.6.2 指针变量的定义 51
2.6.3 指针变量的引用 52
2.6.4 指针变量作为函数的参数 53
2.6.5 用指针引用数组元素 54
2.6.6 字符数组指针 55
2.6.7 指针的地址计算 56
2.7 函数型指针 57
2.8 返回指针型数据的函数 59
2.9 指针数组与指针型指针 60
2.9.1 指针数组 60
2.9.2 指针型指针 62
2.9.3 抽象型指针 64
2.10 结构体、联合体与枚举 65
2.10.1 结构体变量的定义与引用 65
2.10.2 结构体数组 67
2.10.3 结构体指针 68
2.10.4 将结构体作为函数的参数 69
2.10.5 将结构体指针作为函数的参数 71
2.11 联合体变量的定义与引用 72
2.12 枚举变量的定义与引用 75
第3章Keil C51编译器对ANSI C的扩展 78
3.1 存储器类型与编译模式 78
3.2 C51数据在内存中的存储格式 79
3.3 一般指针与基于存储器的指针及其转换 80
3.4 C51编译器对ANSI C函数的扩展 82
3.4.1 C51编译器支持的函数定义的一般形式 82
3.4.2 堆栈及函数的参数传递 82
3.4.3 函数的编译模式 83
3.4.4 寄存器组切换 83
3.4.5 中断函数 84
3.4.6 再入函数 84
3.5 目标代码的段管理 85
3.5.1 全局变量 85
3.5.2 函数和局部变量 86
3.6 启动代码 87
3.7 与汇编语言程序的接口 88
3.8 绝对地址访问 93
3.8.1 采用扩展关键字_at_或指针定义变量的绝对地址 93
3.8.2 采用预定义宏指定变量的绝对地址 94
3.9 Keil C51库函数 95
3.9.1 本征库函数 95
3.9.2 字符判断转换库函数 95
3.9.3 输入/输出库函数 96
3.9.4 字符串处理库函数 97
3.9.5 类型转换及内存分配库函数 99
3.9.6 数学计算库函数 100
第4章 STC15单片机片内资源应用编程 101
4.1 编写C51应用程序的基本原则 101
4.2 C51应用中的一些常见问题与解决方法 102
4.3 中断系统应用编程 104
4.3.1 中断系统结构 104
4.3.2 与中断相关的特殊功能寄存器 106
4.3.3 中断应用编程 108
4.4 定时器/计数器应用编程 111
4.4.1 定时器/计数器逻辑结构 111
4.4.2 与定时器/计数器相关的特殊功能寄存器 112
4.4.3 定时器方式应用编程 113
4.4.4 计数器方式应用编程 117
4.4.5 可编程时钟输出 118
4.4.6 利用定时器产生音乐 119
4.5 串行口应用编程 123
4.5.1 串行口的工作方式 124
4.5.2 与串行口相关的特殊功能寄存器 125
4.5.3 串行口的串/并转换方式应用编程 127
4.5.4 串行口的通信方式应用编程 130
4.6 片内A/D转换器应用编程 142
4.6.1 A/D转换器的逻辑结构 142
4.6.2 与A/D转换器相关的特殊功能寄存器 143
4.6.3 A/D转换器应用编程 144
4.7 片内PCA模块应用编程 146
4.7.1 PCA模块的逻辑结构 146
4.7.2 与PCA模块相关的特殊功能寄存器 147
4.7.3 PCA模块的工作模式 149
4.7.4 PCA模块应用编程 154
4.8 SPI同步串行接口应用编程 158
4.8.1 SPI接口的逻辑结构 158
4.8.2 与SPI接口相关的特殊功能寄存器 159
4.8.3 SPI接口的通信方式及数据格式 161
4.8.4 SPI接口应用编程 163
4.9 STC15F2K60S2单片机的低功耗设计 167
4.9.1 慢速工作模式 168
4.9.2 空闲与掉电工作模式 168
第5章 STC15单片机片外扩展应用编程 174
5.1 LED数码管显示接口应用编程 174
5.1.1 I/O端口驱动LED数码管应用编程 175
5.1.2 单个74HC595驱动多位LED数码管应用编程 176
5.1.3 8位共阴极LED数码管驱动器MAX7219应用编程 179
5.2 非编码键盘接口应用编程 185
5.2.1 采用I/O端口实现的矩阵键盘接口应用编程 185
5.2.2 采用片内ADC实现的键盘接口应用编程 187
5.3 点阵字符型LCD模块接口应用编程 191
5.3.1 点阵字符型LCD模块简介 191
5.3.2 点阵字符型LCD与单片机的直接接口应用编程 196
5.3.3 点阵字符型LCD与单片机的间接接口应用编程 199
5.3.4 点阵字符型LCD的4位数据总线接口应用编程 202
5.4 无字库12864点阵图型LCD模块接口应用编程 205
5.5 带字库12864点阵图型LCD模块接口应用编程 212
5.5.1 带字库12864液晶模块并行接口应用编程 217
5.5.2 带字库12864液晶模块串行接口应用编程 221
5.6 内置T6963C的点阵图型LCD模块接口应用编程 225
5.7 DAC转换接口应用编程 235
5.7.1 DAC0832转换接口应用编程 235
5.7.2 DAC1208与单片机的接口方法 239
5.7.3 串行接口DAC芯片TLC5615应用编程 241
5.8 ADC转换接口应用编程 244
5.8.1 ADC0809转换接口应用编程 244
5.8.2 ICL7135转换接口应用编程 248
5.8.3 串行接口ADC芯片TLC549应用编程 252
5.9 单片机I2C总线扩展应用编程 255
5.9.1 I2C总线简介 255
5.9.2 I2C总线通用驱动程序 259
5.9.3 I2C接口器件24C04的读写程序 261
5.9.4 I2C接口A/D-D/A转换芯片PCF8591应用编程 265
5.9.5 I2C接口时钟芯片PCF8563应用编程 276
第6章 STC15单片机综合应用编程实例 287
6.1 有关C51编程的若干实际应用技巧 287
6.2 C51与汇编语言混和编程及生成应用库文件 293
6.2.1 C51与汇编语言混合编程 293
6.2.2 在Vision4中生成应用库文件 298
6.3 可调数字钟 299
6.3.1 功能要求 299
6.3.2 硬件电路设计 299
6.3.3 软件程序设计 300
6.4 红外遥控系统设计 302
6.4.1 功能要求 302
6.4.2 硬件电路设计 302
6.4.3 软件程序设计 303
6.5 PWM脉宽调制系统设计 313
6.5.1 功能要求 313
6.5.2 硬件电路设计 313
6.5.3 软件程序设计 314
6.6 点阵LED显示屏设计 323
6.6.1 功能要求 323
6.6.2 硬件电路设计 323
6.6.3 软件程序设计 323
6.7 简易电子琴设计 326
6.7.1 功能要求 326
6.7.2 硬件电路设计 326
6.7.3 软件程序设计 327
6.8 DTMF发送/接收系统设计 331
6.8.1 功能要求 331
6.8.2 硬件电路设计 332
6.8.3 软件程序设计 335
6.9 带农历的电子万年历设计 346
6.9.1 功能要求 346
6.9.2 硬件电路设计 346
6.9.3 软件程序设计 349
6.10 电子密码锁设计 360
6.10.1 功能要求 360
6.10.2 硬件电路设计 361
6.10.3 软件程序设计 361
6.11 DS18B20多点温度监测系统设计 376
6.11.1 功能要求 376
6.11.2 硬件电路设计 376
6.11.3 软件程序设计 380
6.12 STH11数字温-湿度测量系统设计 388
6.12.1 功能要求 388
6.12.2 硬件电路设计 388
6.12.3 软件程序设计 392
6.13 单片机SD卡读/写接口设计 397
6.13.1 功能要求 397
6.13.2 硬件电路设计 397
6.13.3 软件程序设计 399
附录A STC15F2K60S2单片机指令表 404
附录B STC_ISP软件工具简介 410
附录C STC单片机编程下载工具U7/U7-S简介 413
参考文献 415
前言
8051单片机是国内外工业测量控制领域内使用极为广泛的一类 8位微控制器,它在一块芯片上同时集成了 CPU、ROM、RAM及多种外围功能接口,具有体积小、价格低、功能强、可靠性高、使用方便灵活等特点。以单片机为核心设计各种智能化电子设备,周期短、成本低,易于更新换代,维修方便,已成为电子设计中最为普遍的应用手段。世界上许多大半导体厂商,如 Atmel、Analog Device、Infineon、NXP、TI、SiLAB等公司都推出了各具特色的 8051系列单片机。中国深圳宏晶科技有限公司研发的 STC系列增强型 8051单片机,是中国本土单片机领域内的佼佼者,其最新推出的 STC15系列单片机不仅在指令系统上与标准 8051内核完全兼容,而且在内部功能上进行了增强,增加了许多新的内部集成功能部件,如片内 ADC、PWM、I2C、SPI、大规模片内 Flash和 XRAM存储器等,同时还增加了 ISP在系统编程、 IAP在应用编程和在线仿真调试功能,为单片机开发应用提供了更为方便的手段。另外 STC系列单片机还具有一定的价格优势,无论是在校大学生学习单片机原理知识,还是从事单片机应用开发的科技人员制作实际硬件系统,利用 STC系列单片机都可以获得事半功倍的效果。
早期单片机应用开发大多采用汇编语言编程,由于汇编语言是一种直接针对硬件的机器语言,其编程效率不高,而且程序不易移植和维护。世界上许多软件公司都致力于单片机高级语言编译器的开发研究,使用户得以从烦琐的汇编语言中解脱了出来。 C语言是一种特别适合于开发单片机的高级语言,它既能直接操作机器硬件,又可以以类似自然语言的方式编写程序,可以极大提高编程效率,同时降低软件的维护成本。德国 Keil公司在开发单片机 C语言编译器方面取得了极大的成功,从编译器、调试器、实时操作系统到集成开发环境,全面支持 8051及其众多的派生系列单片机, Keil C51被公认为是一种最有效的单片机 C语言开发工具。
本书全面介绍 STC15系列增强型 8051单片机功能特点,以及采用 Keil C51进行单片机开发应用的具体方法,力求先进性和实用性,并给出了大量具体应用实例。全书共 6章,第 1章阐述 STC15系列单片机基础,详细介绍 STC15F2K60S2单片机性能特点、存储器结构、片内外存储器的使用、时钟与复位、并行 I/O端口工作模式,以及采用 Keil C51开发 STC15系列单片机的基本方法等。第 2章阐述 Keil C51程序设计基础,详细介绍 C51程序设计的语法、基本语句、函数、数组与指针等。第 3章阐述 Keil C51编译器对 ANSI C的扩展,介绍存储器类型与编译模式、 C51数据在内存中的存储格式、目标代码的段管理、与汇编语言程序的接口、绝对地址访问及 Keil C51库函数等。第 4章阐述 STC15单片机片内资源应用编程,介绍 C51编程的基本原则、常见问题与解决方法,给出了中断系统、定时器 /计数器、串行口、片内 A/D转换器、片内 PCA模块、SPI同步串行接口、单片机的低功耗设计等资源的具体应用实例。第 5章阐述 STC15单片机片外扩展应用编程,给出了 LED数码管、非编码矩阵键盘、点阵字符型 LCD、带字库与无字库点阵图型 LCD、D/A及 A/D转换接口,以及 I2C总线扩展等具体应用实例。第 6章阐述 STC15单片机综合应用编程实例,介绍 C51编程的若干实际应用技巧, C51与汇编语言混和编程,以及应用库文件的生成方法,给出了可调数字钟、红外
遥控系统、PWM脉宽调制系统、点阵 LED显示屏、简易电子琴、 DTMF收/发系统、带农历的电子万年历、电子密码锁、 DS18B20多点温度监测系统、 STH11数字温-湿度测量系统、单片机 SD卡读/写接口等大量综合应用实例。
为帮助读者更好地学习和掌握 STC15系列单片机的 C语言应用编程方法,本书带有 1张光盘,其中包含 Keil公司全功能 C51评估软件包与本书各章所有范例的程序源代码。
本书在出版过程中得到深圳宏晶科技有限公司的热情支持,宏晶科技有限公司总经理姚永平先生提供了 STC15单片机测试样片,电子工业出版社的孙学瑛和陈晓猛编辑提出了许多宝贵意见,彭秀华、徐阳、范林、郑玉章、李涛、杨振、肖恩凯等参加了本书的编写工作,在此一并表示衷心感谢。由于作者水平有限,书中难免会有错误和不妥之处,恳请广大读者批评指正,读者可通过电子邮件直接与作者联系。
徐爱钧 2014年 9月于长江大学