本书基于Proteus8.9中文版,以微型计算机原理、单片机内部资源及常用I/O口资源为内容导向,从设计、仿真到实践,介绍了单片机应用系统的开发过程,包括微型计算机基础、STC单片机应用的开发工具、C51程序设计与I/O操作、单片机应用系统的设计、STC15W4K32S4单片机的片内资源(增强型8051内核、指令系统与汇编语言程序设计、存储器与应用编程、定时/计数器、中断系统、串行通信、A/D转换模块、比较器、PCA模块、SPI接口与增强型PWM模块),以及对STC8系列单片机的简要介绍。
适读人群 :本书可作为普通高校计算机类、电子信息类、电气自动化与机电一体化等专业的教学用书,基础较好的高职高专也可选用本书。
STC和风标电子官方联合推荐。
内容精炼、实用
前 言
在广大单片机教育工作者的呼吁下,广州风标电子技术有限公司和江苏国芯科技有限公司通力合作,经过数月的协作与开发,发布了包含STC15W4K32S4单片机模型的Proteus8.9中文版,从而可以真正地仿真STC单片机了。
STC单片机传承自Intel 8051单片机,其在Intel
8051单片机框架基础上注入了新鲜血液。深圳市宏晶科技有限公司(以下简称宏晶科技)对8051单片机进行了较为全面的技术升级与创新:采用了Flash技术(可反复编程10万次以上)和ISP/IAP(在系统可编程/在应用可编程)技术;针对抗干扰性能和加密进行了专门设计;并为STC单片机的新产品增加了高性能I/O接口模块。
宏晶科技从2006年创立起,已经推出了STC89系列、STC90系列、STC10系列、STC11系列、STC12系列、STC15系列产品,累计发布了上百种产品。2014年4月,宏晶科技重磅推出了STC15W4K32S4单片机,这种单片机能在较宽的电源电压范围内(2.4~5.5V)工作,可直接与计算机的USB接口相连(不需要转换芯片);集成了更多的数据存储器、定时/计数器及串行通信端口;集成了更多的高性能部件(如比较器、增强型PWM模块)。宏晶科技为STC15W4K32S4单片机开发了功能强大的STC-ISP在线编程软件,该软件除具有在线编程功能外,还具有在线仿真器制作、脱机编程工具制作、加密传输、项目发布、各系列单片机头文件的生成、串行通信端口波特率的计算、定时器定时程序的设计、软件延时程序的设计等功能,为学习者或单片机设计开发人员带来了极大的便利。
丁向荣,男,广东轻工职业技术学院教授,长期从事单片机方面的科研、教学工作,对STC系列单片机产品的理解非常深入,其编写的多本单片机教材出版后获得广大用户的认可。
目 录
第1章 微型计算机基础 (1)
1.1 数制与编码 (1)
1.1.1 数制及转换方法 (1)
1.1.2 微型计算机中数的表示方法 (3)
1.1.3 微型计算机中常用编码 (5)
1.2 微型计算机原理 (6)
1.2.1 微型计算机的基本组成 (7)
1.2.2 指令、程序与编程语言 (8)
1.2.3 微型计算机的工作过程 (9)
1.2.4 微型计算机的应用形态 (10)
本章小结 (11)
习题1 (11)
第2章 STC15W4K32S4单片机增强型8051内核 (12)
2.1 单片机概述 (12)
2.1.1 单片机的概念 (12)
2.1.2 常见单片机 (12)
2.1.3 STC单片机 (13)
2.2 STC15W4K32S4单片机的引脚功能 (16)
2.3 STC15W4K32S4单片机的内部结构 (20)
2.3.1 内部结构框图 (20)
2.3.2 CPU结构 (21)
2.4 STC15W4K32S4单片机的存储结构 (22)
2.5 STC15W4K32S4单片机的并行I/O口 (26)
2.5.1 I/O口的功能与工作模式 (26)
2.5.2 并行I/O口的结构与工作原理 (27)
2.5.3 并行I/O口的使用注意事项 (29)
2.6 STC15W4K32S4单片机的时钟与复位 (30)
2.6.1 时钟 (30)
2.6.2 复位 (32)
本章小结 (34)
习题2 (35)
第3章 STC单片机应用的开发工具 (38)
3.1 Keil μVision4集成开发环境 (38)
3.1.1 概述 (38)
3.1.2 应用Keil μVision4集成开发环境编辑、编译用户程序,并生成机器代码 (39)
3.1.3 应用Keil μVision4集成开发环境调试用户程序 (45)
3.2 基于Proteus实现流水灯系统的仿真 (50)
3.2.1 流水灯系统电路与程序功能 (50)
3.2.2 Proteus的启动 (51)
3.2.3 新建工程 (51)
3.2.4 用Proteus绘制电路原理图 (55)
3.2.5 用Proteus实施流水灯系统(单片机)仿真 (59)
3.3 基于STC15单片机学习板的在线编程与在线调试 (61)
3.3.1 STC单片机在线可编程(ISP)电路 (61)
3.3.2 单片机应用程序的下载与运行 (63)
3.3.3 STC-ISP在线编程软件的其他功能 (65)
3.4 基于Keil C集成开发环境与STC15单片机学习板流水灯系统的在线仿真* (66)
3.5 STC15单片机官方开发板简介 (69)
本章小结 (69)
习题3 (70)
第4章 STC15W4K32S4单片机的指令系统与汇编语言程序设计 (73)
4.1 STC15W4K32S4单片机的指令系统 (73)
4.1.1 概述 (73)
4.1.2 数据传送类指令 (79)
4.1.3 算术运算类指令 (85)
4.1.4 逻辑运算与循环移位类指令 (90)
4.1.5 控制转移类指令 (94)
4.1.6 位操作类指令 (100)
4.2 汇编语言程序设计 (104)
4.2.1 汇编语言程序设计基础 (104)
4.2.2 基本程序结构与程序设计举例 (109)
4.3 基于Proteus仿真与STC实操I/O的逻辑控制 (118)
本章小结 (121)
习题4 (122)
第5章 C51程序设计与I/O操作 (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程序设计举例 (141)
5.3 基于Proteus仿真与STC实操LED数码管的显示 (142)
本章小结 (146)
习题5 (146)
第6章 STC15W4K32S4单片机的存储器与应用编程 (149)
6.1 程序存储器 (149)
6.2 基本RAM (151)
6.3 扩展RAM (152)
6.4 EEPROM (156)
6.5 基于Proteus仿真与STC实操EEPROM的测试 (161)
本章小结 (165)
习题6 (165)
第7章 STC15W4K32S4单片机的定时/计数器 (168)
7.1 定时/计数器(T0、T1)的结构和工作原理 (168)
7.2 定时/计数器(T0、T1)的控制 (169)
7.3 定时/计数器(T0、T1)的工作方式 (171)
7.4 定时/计数器(T0、T1)的应用举例 (175)
7.4.1 定时应用 (175)
7.4.2 计数应用 (177)
7.5 基于Proteus仿真与STC实操秒表的设计 (178)
7.6 定时/计数器T2 (180)
7.6.1 T2的电路结构 (180)
7.6.2 T2的控制寄存器 (181)
7.7 定时/计数器T3、T4* (182)
7.7.1 T3、T4的电路结构 (182)
7.7.2 T3、T4的控制寄存器 (182)
7.8 可编程时钟输出功能 (183)
7.8.1 T0~T4的可编程时钟输出 (184)
7.8.2 可编程时钟的应用举例 (185)
7.9 基于Proteus仿真与STC实操频率计的设计 (186)
本章小结 (190)
习题7 (191)
第8章 STC15W4K32S4单片机中断系统 (194)
8.1 中断系统概述 (194)
8.1.1 中断系统的几个概念 (194)
8.1.2 中断的技术优势 (195)
8.1.3 中断系统需要解决的问题 (195)
8.2 STC15W4K32S4单片机中断系统的简介 (196)
8.2.1 中断请求 (196)
8.2.2 中断响应、中断服务与中断返回 (203)
8.2.3 STC15W4K32S4单片机中断系统的中断应用举例 (206)
8.3 STC15W4K32S4单片机外部中断源的扩展 (211)
8.4 基于Proteus仿真与STC实操外部中断的应用 (214)
本章小结 (217)
习题8 (218)
第9章 STC15W4K32S4单片机的串行通信 (221)
9.1 串行通信基础 (221)
9.2 STC15W4K32S4单片机的串行通信端口1 (224)
9.2.1 串行通信端口1的控制寄存器 (224)
9.2.2 串行通信端口1的工作方式 (226)
9.2.3 串行通信端口1的波特率 (230)
9.2.4 串行通信端口1的应用举例 (231)
9.3 STC15W4K32S4单片机与计算机的通信 (245)
9.3.1 STC15W4K32S4单片机与计算机RS-232串行通信端口设计 (245)
9.3.2 STC15W4K32S4单片机与计算机USB总线通信端口设计 (248)
9.3.3 STC15W4K32S4单片机与计算机的串行通信程序设计 (248)
9.4 STC15W4K32S4单片机串行通信端口1的中继广播方式* (251)
9.5 STC15W4K32S4单片机串行通信端口2、串行通信端口3及串行通信端口4* (252)
9.5.1 串行通信端口2 (252)
9.5.2 串行通信端口3* (253)
9.5.3 串行通信端口4* (255)
9.6 基于Proteus仿真与STC实操双机通信的应用 (257)
9.7 基于Proteus仿真与STC实操单片机与计算机的通信 (260)
本章小结 (265)
习题9 (265)
第10章 STC15W4K32S4单片机的A/D转换模块 (269)
10.1 A/D转换模块的结构 (269)
10.2 A/D转换模块的控制 (270)
10.3 A/D转换模块的应用 (273)
10.4 基于Proteus仿真与STC实操A/D转换模块的应用(简易电压表) (279)
本章小结 (282)
习题10 (282)
第11章 STC15W4K32S4单片机比较器 (284)
11.1 比较器的内部结构与控制 (284)
11.2 比较器的应用 (286)
11.3 基于Proteus仿真与STC实操BGV信号的测试 (289)
本章小结 (293)
习题11 (293)
第12章 STC15W4K32S4单片机的PCA模块 (295)
12.1 PCA模块的结构与控制 (295)
12.2 PCA模块的工作模式与应用编程 (299)
12.2.1 捕获模式与应用编程 (299)
12.2.2 16位软件定时器模式与应用编程 (302)
12.2.3 高速脉冲输出模式与应用编程 (304)
12.2.4 PWM模式与应用编程 (305)
12.3 基于Proteus仿真与STC实操PCA秒表 (309)
12.4 基于Proteus仿真与STC实操PWM驱动LED (313)
本章小结 (316)
习题12 (316)
第13章 单片机应用系统的设计 (318)
13.1 单片机应用系统的设计和开发 (318)
13.1.1 单片机应用系统的设计原则 (318)
13.1.2 单片机应用系统的开发流程 (319)
13.1.3 单片机应用系统工程报告的编制 (322)
13.2 人机对话接口应用设计 (324)
13.2.1 键盘接口与应用编程 (324)
13.2.2 LED数码管显示与应用编程 (333)
13.2.3 LCD接口与应用编程 (341)
13.2.4 基于Proteus仿真与STC实操电子时钟的设计 (358)
13.3 串行总线接口技术与应用编程 (364)
13.3.1 I2C总线接口技术与应用编程 (365)
13.3.2 单总线接口技术与应用编程 (381)
13.4 基于Proteus仿真的数字温度计 (389)
13.5 STC15W4K32S4单片机的低功耗设计与可靠性设计 (401)
13.5.1 低功耗设计 (401)
13.5.2 可靠性设计 (405)
本章小结 (408)
习题13 (408)
第14章 STC15W4K32S4单片机的SPI接口与增强型PWM模块 (415)
14.1 SPI接口 (415)
14.1.1 SPI接口的结构与控制 (415)
14.1.2 SPI接口的数据通信 (418)
14.1.3 SPI接口的应用编程 (422)
14.2 增强型PWM模块 (427)
14.2.1 增强型PWM模块的结构与控制 (427)
14.2.2 增强型PWM模块的应用编程 (432)
本章小结 (437)
习题 (438)
第15章 STC8系列单片机简介 (440)
15.1 STC8A8K××S4A12系列单片机 (440)
15.1.1 特性 (440)
15.1.2 STC8A8K××S4A12系列单片机机型一览表 (442)
15.2 STC8F8K××S4A12系列单片机 (442)
15.2.1 特性 (442)
15.2.2 STC8F8K××S4A12系列单片机机型一览表 (444)
15.3 STC8F2K××S4系列单片机 (444)
15.3.1 特性 (444)
15.3.2 STC8F2K××S4系列单片机机型一览表 (446)
本章小结 (446)
附录A ASCII码表 (447)
附录B STC15W4K32S4单片机指令系统表 (448)
附录C C51常用头文件与库函数 (452)
附录D STC-ISP在线编程软件实用程序简介 (459)
附录E STC15系列单片机学习板各模块电路 (462)
附录F STC15系列单片机头文件与LED数码管驱动函数 (469)
附录G U8脱机编程器的操作使用 (481)
附录H STC15W4K32S4单片机特殊功能寄存器一览表 (483)
附录 I C语言编译常见错误信息一览表 (487)
附录 J C51的模块化编程与C51库函数的制作 (492)
一、C51的模块化编程 (492)
二、C51库函数的制作 (494)
三、C51库函数的调用 (495)
参考文献 (496)