图书简介:
目 录
第1部分 单片机及其基本组成 (1)
第1章 单片机概述 (1)
1.1 单片机 (1)
1.2 单片机系统 (3)
习题1 (4)
第2章 MCS-51单片机的基本组成 (5)
2.1 概述 (5)
2.1.1 MCS-51单片机的内部结构框图 (5)
2.1.2 MCS-51单片机的引脚及片外总线结构 (6)
2.2 中央处理器CPU (8)
2.3 振荡器和时钟电路 (8)
2.3.1 电路组成 (8)
2.3.2 时序与时序定时单位 (9)
2.4 MCS-51单片机的内部存储器 (10)
2.4.1 MCS-51单片机系统的存储器结构及地址空间 (10)
2.4.2 MCS-51单片机的内部数据存储器 (12)
2.4.3 特殊功能寄存器 (14)
2.4.4 堆栈及其存储特性 (16)
2.4.5 内部程序存储器 (18)
2.5 MCS-51单片机的复位 (18)
2.6 单片机的几种工作方式 (19)
习题2 (21)
第2部分 MCS-51单片机的指令系统及程序设计 (22)
第3章 MCS-51单片机的汇编语言指令系统 (22)
3.1 指令格式及常用符号 (22)
3.1.1 指令的汇编语言格式 (22)
3.1.2 指令编码的格式 (23)
3.1.3 指令中常用的符号 (24)
3.1.4 指令执行的基本过程 (25)
3.2 指令中的寻址方式 (26)
3.3 数据传送指令 (29)
3.3.1 在单片机片内RAM中传送数据的指令 (29)
3.3.2 读写外部RAM的指令 (33)
3.3.3 读程序存储器的指令 (34)
3.4 算术运算类指令 (35)
3.4.1 加法指令 (35)
3.4.2 减法指令 (37)
3.4.3 乘法指令 (39)
3.4.4 除法指令 (39)
3.5 逻辑运算与移位类指令 (39)
3.6 控制转移类指令 (41)
3.6.1 无条件转移指令 (42)
3.6.2 条件转移指令 (44)
3.6.3 调用与返回指令 (46)
3.6.4 空操作指令 (48)
3.7 位操作类指令 (48)
3.8 MCS-51汇编语言的伪指令 (50)
习题3 (53)
软件实训1 (55)
第4章 单片机C语言基础 (59)
4.1 单片机C语言概述 (59)
4.1.1 C语言的特点 (59)
4.1.2 单片机C语言—C51 (60)
4.2 单片机C51语言基本语法 (60)
4.2.1 C51的运算量 (60)
4.2.2 C51的数据类型 (62)
4.2.3 C51的存储种类和存储器类型 (69)
4.2.4 C51的运算符和表达式 (72)
习题4 (81)
第5章 MCS-51单片机程序设计 (83)
5.1 程序设计的基本方法 (83)
5.1.1 程序设计的步骤 (83)
5.1.2 源程序的编辑、编译和汇编 (85)
5.2 程序的基本形式与设计举例 (88)
5.2.1 汇编语言程序的基本结构与设计举例 (88)
5.2.2 C51程序的基本结构与设计举例 (97)
习题5 (119)
第6章 C51的构造类型数据 (121)
6.1 数组 (121)
6.1.1 数组的引入 (121)
6.1.2 一维数组 (122)
6.1.3 二维数组 (125)
6.1.4 字符数组 (127)
6.1.5 数组的存储空间 (128)
6.2 指针 (129)
6.2.1 指针的基本概念 (129)
6.2.2 指针的定义 (130)
6.2.3 指针变量的引用 (131)
6.2.4 指针变量的运算 (133)
6.2.5 指针变量作为函数的参数 (134)
6.2.6 数组的指针 (134)
6.2.7 函数型指针 (135)
6.2.8 指针数组 (137)
6.3 结构体 (137)
6.3.1 结构的定义 (137)
6.3.2 结构类型变量的引用和初始化 (139)
6.3.3 结构类型数组 (140)
6.3.4 结构类型指针 (141)
6.4 联合体 (142)
6.5 枚举 (143)
6.6 typedef语句 (145)
6.7 预处理 (146)
6.7.1 宏定义 (146)
6.7.2 文件包含 (148)
6.7.3 条件编译 (148)
习题6 (149)
软件实训2 (150)
第3部分 MCS-51单片机的基本功能单元 (157)
第7章 MCS-51单片机的并行输入/输出端口 (157)
7.1 端口功能概述 (157)
7.2 端口的内部结构与运作 (158)
7.2.1 P0口 (158)
7.2.2 P1口 (160)
7.2.3 P2口 (160)
7.2.4 P3口 (162)
7.3 应用举例 (163)
习题7 (165)
第8章 MCS-51单片机的中断系统 (166)
8.1 中断的基本概念 (166)
8.2 中断机构及操作 (167)
8.2.1 中断源 (167)
8.2.2 中断请求标志 (168)
8.2.3 中断的控制 (169)
8.3 中断处理过程 (170)
8.4 中断程序的编写 (173)
8.4.1 汇编语言编写中断程序 (173)
8.4.2 C51编写中断程序 (176)
习题8 (178)
第9章 MCS-51单片机的定时/计数器 (179)
9.1 定时/计数器的结构和工作原理 (179)
9.2 定时/计数器的控制 (181)
9.3 定时/计数器的工作方式 (182)
9.3.1 工作方式0 (182)
9.3.2 工作方式1 (184)
9.3.3 工作方式2 (187)
9.3.4 工作方式3 (188)
习题9 (189)
第10章 MCS-51单片机的串行口 (191)
10.1 数据通信基础知识 (191)
10.1.1 数据通信的概念 (191)
10.1.2 通信协议 (191)
10.1.3 数据传输模式 (193)
10.1.4 双工通信方式 (194)
10.1.5 串行通信接口电路 (194)
10.1.6 串行通信总线标准 (195)
10.2 MCS-51单片机的串行口结构与工作原理 (198)
10.2.1 串行口结构 (198)
10.2.2 串行口的工作原理 (200)
10.3 串行口的控制寄存器 (200)
10.3.1 串行口控制寄存器SCON (200)
10.3.2 电源控制寄存器PCON (202)
10.3.3 中断允许控制寄存器IE (202)
10.4 串行口的工作方式 (202)
10.4.1 工作方式0 (202)
10.4.2 工作方式1 (206)
10.4.3 工作方式2 (208)
10.4.4 工作方式3 (210)
10.4.5 串行通信编程的程序流程 (212)
10.5 单片机与PC的通信 (216)
习题10 (218)
硬件实训1 (218)
第4部分 单片机的扩展技术 (224)
第11章 MCS-51单片机的并行扩展技术 (224)
11.1 单片机并行扩展的总线结构及编址技术 (224)
11.1.1 并行扩展系统结构 (224)
11.1.2 并行扩展总线的构造 (225)
11.1.3 编址技术 (226)
11.2 存储器的并行扩展 (228)
11.2.1 片外存储器的访问过程 (228)
11.2.2 存储器并行扩展实例 (229)
11.3 单片机应用系统中并行I/O端口的扩展 (234)
11.3.1 并行输入/输出口的简单扩展 (235)
11.3.2 单片机应用系统的可编程并行I/O芯片的扩展 (238)
11.4 并行A/D和D/A转换器及其与单片机的接口 (252)
11.4.1 A/D转换器及其与单片机的接口 (253)
11.4.2 D/A转换器及其与单片机的接口 (257)
11.5 单片机与LED显示器及键盘接口 (262)
11.5.1 单片机与LED显示器的接口 (262)
11.5.2 单片机与键盘的接口 (269)
11.5.3 8279键盘/显示器接口芯片 (275)
11.6 单片机与液晶显示器LCD接口 (285)
11.6.1 ICM7211的结构与引脚 (286)
11.6.2 ICM7211应用举例 (288)
11.7 单片机与打印机接口 (289)
11.7.1 微型打印机简介 (289)
11.7.2 打印机与单片机接口 (290)
习题11 (292)
第12章 MCS-51单片机的串行扩展技术 (293)
12.1 I2C总线接口技术 (293)
12.1.1 I2C总线接口 (293)
12.1.2 I2C总线的软件模拟 (297)
12.2 SPI串行外设接口 (303)
12.2.1 SPI总线的组成 (303)
12.2.2 SPI总线的软件模拟 (304)
12.2.3 SPI总线接口应用实例 (305)
12.3 MCS-51单片机串行口工作方式0串行扩展接口 (311)
12.3.1 单片机串行口工作方式0串行扩展接口组成 (311)
12.3.2 串行工作方式0串行扩展接口实例 (311)
习题12 (312)
硬件实训2 (313)
参考文献 (328)
展开
第4版前言
本书自2003年出版以来,被许多高职院校教师选为教材,连续进行了多次印刷。至今10年其间,在2006年通过修订出了第2版,并被评为普通高等教育“十一五”国家级规划教材。2009年再次修订并增加了C51语言的内容,升级成双语教材。随着教学过程中经验的积累和反馈,此次修订在前二次修订的基础上,进一步修正了个别文字上的错、漏,删除了一些不必要的内容,并对部分章节和程序作了修改,特别是对软件实训和硬件实训的内容作了较大的更新。从而使本教材具有更好的实用性。
随着社会的发展,单片机C语言在单片机开发中的应用越来越广泛。单片机C语言在编程中的一些优点,慢慢地引发学习者对汇编语言的偏废。其实,单片机的C语言与汇编语言在处理问题上本质是相同的,只是在处理方法上不同而已,汇编语言条条指令面向单片机硬件,对单片机硬件需人工干预,处理问题灵活性、主动性强一些;而C语言只是将这些事大部分都交给C编译器去做罢了,所以显得C语言的编程更简捷方便一些,可移植性、维护性也比汇编语言强。编者认为,要掌握好单片机技术,对单片机的硬件系统是必须熟知的,汇编语言是面向机器的语言,如果有扎实的汇编语言的基础,要想更好地理解、掌握和应用单片机的C语言就不是一件难事;另外,在单片机应用实践中,也经常需要采用混合编程的方法来更好地解决实际问题,所以,如果想更好地掌握单片机技术,并在单片机应用实践中能对单片机技术运用自如,有所作为,对单片机汇编语言的学习还是不能偏废的。
由于在第3版的编写中已对两种编程语言的叙述做了较准确的选择,所以在此次修订中,在单片机C语言和汇编语言的内容方面不予调整,而是在例题和实训内容上加强了两种语言编制程序的对比,让读者有较好的案例可以比较,从中得到启发和灵感,更快更好地掌握用两种语言编制程序的技术。
此次第4版的修订由杭州职业技术学院曹天汉主编,统编并审、改了全稿,钱卫星、张雪娟为副主编,分别参加了第二部分、第三部分和第四部分的编写。在修订过程中宁凡、李凡、彭斐、张铮等教师也参予了部分内容的编写,并得到杭州富铭环境科技有限公司开发部经理杨斌工程师的许多宝贵的编写建议及部分内容编写,在此一并致以谢意。
科学技术的发展与时俱进,由于作者水平有限,修订后的教材难免还会存在很多不尽人意的地方,也还可能存在一些缺点和错误,敬请读者批评指正。
编 者
2014年2月3日于杭州
展开