新書推薦:
《
恶的哲学研究(社会思想丛书)
》
售價:NT$
500.0
《
不止江湖
》
售價:NT$
449.0
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:NT$
704.0
《
双城史
》
售價:NT$
505.0
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:NT$
254.0
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:NT$
230.0
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:NT$
403.0
《
透过器物看历史(全6册)
》
售價:NT$
2234.0
|
編輯推薦: |
《单片机原理与应用及C51程序设计》自出版以来,累计重印35次,销售13万余册。《单片机原理与应用及C51程序设计(第4版)》采用了Keil C51 V9.00 软件界面,给出了大量实例,包括硬件电路设计和应用系统开发,删减了课堂教学中的部分理论和应用内容,调整了单片机应用系统设计实例讲解的写作方式,把其他接口芯片放在实例中介绍。
|
內容簡介: |
MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片微型计算机应用系统开发的一个重要系列。《单片机原理与应用及C51程序设计(第4版)》以实用为宗旨,用丰富的实例讲解MCS-51单片机原理和软硬件开发技术,并采用对比的方法,同一功能分别以单片机汇编语言程序和单片机C语言程序实现,并附有Proteus仿真,免费提供所有源代码和电路图的资源下载。 《单片机原理与应用及C51程序设计(第4版)》共分为10章,各章内容说明如下:第1章介绍计算机基础知识,第2章介绍MCS-51单片机基本原理,第3章介绍MCS-51单片机汇编程序设计,第4章介绍单片机C语言程序设计,第5章介绍Keil C51集成环境的使用;第6章介绍Proteus软件的使用;第7章到第9章,用实例介绍MCS-51单片机内部资源及编程,51单片机输入输出接口及编程,51单片机与模数、数模接口及编程;第10章介绍单片机应用系统设计及实例。附录中分别提供了MCS-51系列单片机指令表和C51库函数表,以及单片机相关的网络资源列表。 《单片机原理与应用及C51程序设计(第4版)》适合各类大专院校及培训机构作为“单片机原理与应用”或“单片机应用系统开发”类课程的教材,特别适合打算学习单片机应用系统开发的读者使用,也可供各类电子工程、自动化技术人员和计算机爱好者参考。
|
目錄:
|
目录
第1章 基础知识 1
1.1 信息在计算机中的表示 1
1.1.1 数在计算机内的表示 1
1.1.2 字符在计算机内的表示 5
1.2 单片机概述 5
1.2.1 单片机的概念 6
1.2.2 单片机的发展 7
1.2.3 单片机的特点 8
1.2.4 单片机的应用 8
1.3 51单片机及主要品种 9
1.3.1 51单片机概述 9
1.3.2 51单片机的主要品种 10
1.3.3 其他系列的8位单片机 12
习题 14
第2章 单片机基本原理 15
2.1 51系列单片机简介 15
2.2 MCS-51系列单片机的结构原理 15
2.2.1 MCS-51系列单片机的
基本组成 15
2.2.2 MCS-51系列单片机的
内部结构 16
2.2.3 51系列单片机的
中央处理器 17
2.2.4 MCS-51系列单片机的
存储器结构 19
2.2.5 MCS-51系列单片机的
输入输出接口 26
2.3 51系列单片机的外部引脚及
片外总线 29
2.3.1 外部引脚 29
2.3.2 片外总线结构 32
2.4 51系列单片机的工作方式 32
2.4.1 复位方式 32
2.4.2 程序执行方式 33
2.4.3 单步执行方式 33
2.4.4 AT89S5X单片机的空闲和
掉电方式 34
2.4.5 AT89S5X单片机的ISP
编程方式 35
2.5 51系列单片机的时序 37
2.5.1 时钟周期、机器周期和指令
周期 38
2.5.2 访问外部ROM的时序 39
2.5.3 访问外部RAM的时序 39
习题 40
第3章 单片机汇编程序设计 42
3.1 51系列单片机汇编指令格式及
标识 42
3.1.1 指令格式 42
3.1.2 指令中用到的标识符 43
3.2 51单片机指令的寻址方式 43
3.2.1 常数寻址立即寻址 43
3.2.2 寄存器数寻址寄存器寻址 44
3.2.3 存储器数寻址 44
3.2.4 位数据寻址位寻址 46
3.2.5 指令寻址 46
3.3 51单片机的指令系统 47
3.3.1 数据传送指令 47
3.3.2 算术运算指令 48
3.3.3 逻辑操作指令 50
3.3.4 控制转移指令 51
3.3.5 位操作指令 53
3.4 51单片机汇编程序常用伪指令 55
3.5 51单片机汇编程序设计 57
3.5.1 数据传送程序 57
3.5.2 运算程序 58
3.5.3 代码转换程序 60
3.5.4 多分支转移散转程序 61
3.5.5 延时程序 63
习题 64
第4章 单片机C语言程序设计 66
4.1 C51的基本知识 66
4.2 C51的数据类型 67
4.2.1 C51的基本数据类型 68
4.2.2 C51的特有数据类型 69
4.3 C51的变量与存储类型 70
4.3.1 C51的普通变量及定义 70
4.3.2 C51的特殊功能寄存器变量 73
4.3.3 C51的位变量 73
4.3.4 C51的指针变量 74
4.3.5 C51的数组 76
4.4 绝对地址的访问 76
4.4.1 使用C51运行库中预定义宏 76
4.4.2 通过指针访问 77
4.4.3 使用C51扩展
关键字_at_ 78
4.5 C51中的函数 78
4.5.1 C51函数的参数传递 79
4.5.2 C51函数的返回值 79
4.5.3 C51函数的存储模式 80
4.5.4 C51的中断函数 80
4.5.5 C51函数的寄存器组选择 81
4.5.6 C51的重入函数 82
习题 83
第5章 Keil C51集成环境的使用 84
5.1 Keil C51简介 84
5.1.1 Keil ?Vision4 IDE的安装 84
5.1.2 Keil ?Vision4 IDE的界面 84
5.2 Keil ?Vision4 IDE的使用方法 90
5.2.1 建立项目文件 90
5.2.2 给项目添加程序文件 91
5.2.3 编译、连接项目,形成目标
文件 93
5.2.4 运行调试观察结果 93
5.2.5 仿真环境的设置 95
5.3 Keil C51的调试技巧 97
5.3.1 如何设置和删除断点 97
5.3.2 如何查看和修改寄存器的
内容 97
5.3.3 如何观察和修改变量 98
5.3.4 如何观察存储器区域 98
习题 99
第6章 Proteus软件的使用 100
6.1 Proteus概述 100
6.1.1 Proteus的进入 100
6.1.2 Proteus的界面 101
6.2 Proteus的基本操作 103
6.2.1 新建电路,选择元件 103
6.2.2 放置元件,调整元件 106
6.2.3 连接导线 108
6.2.4 给单片机加载程序 110
6.2.5 运行仿真看结果 111
习题 111
第7章 51单片机的内部资源及编程 112
7.1 并行输入输出接口 112
7.2 定时计数器接口 113
7.2.1 定时计数器的主要特性 113
7.2.2 定时计数器T0、T1的
结构及工作原理 113
7.2.3 定时计数器的方式和控制
寄存器 114
7.2.4 定时计数器的工作方式 115
7.2.5 定时计数器的初始化
编程及应用 118
7.2.6 AT89S5X单片机的
看门狗WDT定时器 129
7.3 串行接口 129
7.3.1 通信的基本概念 130
7.3.2 51单片机串行口的功能与
结构 132
7.3.3 串行口的工作方式 135
7.3.4 串行口的编程及应用 137
7.4 中断系统 147
7.4.1 中断的基本概念 147
7.4.2 51单片机的中断系统结构 148
7.4.3 51单片机的中断源 149
7.4.4 两级中断允许控制 150
7.4.5 两级优先级控制 151
7.4.6 中断响应 152
7.4.7 51单片机中断系统的
应用举例 153
习题 161
第8章 51单片机输入输出接口及
应用 163
8.1 51单片机的最小系统 163
8.1.1 80518751的最小系统 163
8.1.2 8031的最小系统 164
8.2 数码管显示器与51单片机接口 164
8.2.1 数码管显示器的基本
结构与原理 164
8.2.2 数码管显示器使用的
主要问题 166
8.2.3 数码管显示器与51单片机的
接口 168
8.3 液晶显示器LCD1602与51单片机的
接口 174
8.3.1 LCD1602概述 174
8.3.2 LCD1602的内部结构 175
8.3.3 LCD1602的指令格式与
功能 177
8.3.4 LCD1602的接口与编程 179
8.4 键盘与51单片机的接口 183
8.4.1 键盘概述 183
8.4.2 独立式键盘与单片机的
接口 186
8.4.3 矩阵式键盘与单片机的
接口 188
8.5 行程开关、晶闸管、继电器与
51单片机的接口 193
8.5.1 行程开关、继电器与
51单片机的接口 193
8.5.2 晶闸管与51单片机的接口 194
8.5.3 继电器与51单片机的接口 194
8.5.4 蜂鸣器与51单片机的接口 195
习题 195
第9章 51单片机与DA、AD
转换器的接口 197
9.1 DA转换器与51单片机的接口 197
9.1.1 DA转换器概述 197
9.1.2 典型的DA转换器芯片
DAC0832 200
9.1.3 DAC0832与51单片机的
接口与应用 202
9.2 AD转换器与51单片机的接口 208
9.2.1 AD转换器概述 208
9.2.2 典型的AD转换器芯片
ADC08080809 210
9.3 串行AD、DA与51单片机的
接口 216
9.3.1 串行DA芯片MAX517与51
单片机的接口 216
9.3.2 串行AD芯片MAX1241与51
单片机的接口 221
习题 228
第10章 51单片机应用系统设计 230
10.1 单片机应用系统开发过程 230
10.1.1 单片机应用系统开发的
基本过程 230
10.1.2 单片机应用系统的硬件
系统设计 231
10.1.3 单片机应用系统的软件
设计 233
10.2 单片机电子时钟设计 235
10.2.1 单片机电子时钟的功能
要求 235
10.2.2 单片机电子时钟的总体
方案 235
10.2.3 单片机电子时钟的主要部件
介绍 236
10.2.4 单片机电子时钟的硬件
电路 241
10.2.5 单片机电子时钟的软件
程序 242
10.3 单片机多点温度测量系统设计 247
10.3.1 单片机多点温度测量系统的
功能要求 247
10.3.2 单片机多点温度测量系统的
总体方案 248
10.3.3 单片机多点温度测量系统的
主要部件介绍 248
10.3.4 单片机多点温度测量系统的
硬件电路 254
10.3.5 单片机多点温度测量系统的
软件程序 255
10.4 单片机电子密码锁设计 262
10.4.1 单片机电子密码锁的
功能要求 262
10.4.2 单片机电子密码锁的
总体方案 263
10.4.3 单片机电子密码锁的主要
部件介绍 263
10.4.4 单片机电子密码锁的硬件
电路 270
10.4.5 单片机电子密码锁的软件
程序 271
习题 279
附录A MCS-51系列单片机指令表 280
附录B C51运算符优先级和结合规则 284
附录C C51的库函数 286
附录D 单片机技术及嵌入式系统的
网络资源 295
参考文献 296
|
內容試閱:
|
前言
《单片机原理与应用及C51程序设计》一书自2006年出版后,以其全新的编写思路、鲜明的应用性特色,受到了广大教师及学生的欢迎,重印了9次,2009年修订出版的《单片机原理与应用及C51程序设计第2版》,重印了14次,2014年出版的《单片机原理与应用及C51程序设计第3版》,重印了12次,累计印数已达13万多册。为了更加适合各院校使用,编者认真听取了广大师生的意见,权衡内容与篇幅的矛盾,《单片机原理与应用及C51程序设计第4版》仍然保留了第1、2、3版的主体框架和特色,为了减小篇幅,仍然突出应用,对相应的内容做了一些修订和增减调整。
MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片微型计算机应用系统开发的一个重要系列,是嵌入式技术的入门课程。单片机实验及实践教学的目标是培养应用型人才,根据我们理论教学和实践教学的经验,发现学生要想熟练地掌握MCS-51单片机应用系统软件设计,就需要完全理解单片机汇编语言,这样才能更好地理解单片机的内部结构和工作原理,更容易掌握MCS-51程序设计。在减少学时的背景下,用汇编语言讲授单片机原理后不可能再单独开设一门MCS-51程序设计课程,因此我们在课堂上讲解单片机原理的同时也会介绍单片机C语言程序设计,以避免直到进入实验室或开发实践阶段时才讲授单片机C语言程序设计以及开发环境,从而为开设综合实验和创新实践奠定一定的基础。单片机原理与应用教材汇编语言版本较多,但在应用开发中采用汇编语言的却并不多,尤其在开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。C语言不仅学习方便,而且也与汇编语言一样能够对单片机资源进行访问,因而目前大多数院校在开设单片机课程时都引入了C语言。但引入C语言后在选教材时发现存在两个方面的问题:第一,单片机原理与应用含单片机C语言程序设计的教材很多,而兼顾汇编语言和C语言的教材不多,所以可选择的余地较小;第二,单片机C语言方面的教材一般面向开发,不讲原理,属于高级教程,不适合初学者。而我们需要一本在讲单片机基本原理的同时能兼顾汇编语言和C语言两个方面的教材,以避免学生在学习单片机原理与应用课程时还要另外参考一本单片机C语言方面的教材。
基于上面所讲的原因,我们一直按照 同一实例,汇编语言和C语言对比学习 的思路教学并编写教材及改版。在本书的实例中,相同的功能用汇编语言和C语言分别实现,通过编程对比,使学生能够有选择地掌握一种并认识另一种。对于把单片机原理与应用及MCS-51程序设计作为两门课程分别开设的学校,也可以使用同一本教材。同时,为了提高学生应用设计的能力,还介绍了目前单片机接口常用的接口芯片,列举了几个简单的单片机应用系统开发实例。
根据目前各高校课堂教学学时减少的现状,本版对内容作了调整,删减了课堂教学中的部分理论和应用内容,修改了相应的实例,单片机应用系统设计的实例讲解调整了写作方式,把其他接口芯片放在实例中介绍。
考虑内容连贯、流畅和选用教材的教师的反馈意见,本版教材的总体结构和风格与第3版基本相同。第4版与第3版对比,做了如下内容调整:
1 删除了原来的1.2节,修改成简要介绍微型计算机结构后引入单片机,增加了通用单片机和专用单片机的概念,单片机的发展、特点和应用。介绍51单片机和主要品种时,增加了ATMEL公司的AT89C5X和AT89S5X,为后续章节增加的内容做铺垫,同时简介了PIC和AVR系列。
2 第2章介绍8051单片机,增加了AT89S5X的相关内容。包含AT89S5X单片机的双数据指针和辅助寄存器、AT89S5X单片机的空闲和掉电方式、AT89S5X单片机的ISP编程方式。
3 对第3章内容做了适当调整,考虑现在学习和单片机应用开发基本用C51编程,本章的指令系统简化,汇编语言程序实例减少。
4 第4章C程序部分增加了数组的内容。
5 对第5、6章做了部分修改,增加了常用器件列表,实例修改成C51程序。
6 第7章的定时计数器部分增加了计数方式的应用和门控位测脉冲波的应用,原理部分做了对应修改。增加了AT89S5X单片机的看门狗WDT定时器;串行接口原理部分作了修改,增加了串行通信数据传送的基本过程,串口方式0的应用修改;中断原理作了修改,实例做了调整,增加了应用实例。
7 将第8章修改成51单片机输入输出接口及编程,包含输出显示设备LED数码管接口和LCD显示器接口、输入设备键盘。键盘直接采用并口线控制,删除了存储器扩展和IO口扩展。
8 对第9章DA、AD接口的内容做了部分修改。
9 将原第10章和11章合并,介绍51单片机应用系统设计及实例,把原来第10章的芯片介绍放在实例中介绍,减少驱动程序的重复内容。这一章学生可作课程设计和毕业设计的参考内容,课堂教学可以不介绍。
本书以实用为宗旨,用众多的实例讲解51单片机原理和硬、软件开发技术,针对同一功能,同时提供单片机汇编源程序和单片机C语言源程序,并在Keil C51中调试成功,通过Proteus仿真并实现,编者提供所有源代码和电路图的资源下载,读者可从清华大学出版社官网下载。从实用的角度出发,书中配备了大量的实例,详细描述了实例的具体设计步骤,并提供单片机汇编源程序和单片机C语言源程序的详细代码,且完整地阐述了单片机应用系统分析和开发的全过程,读者可以此作为进入单片机应用系统开发领域的首次尝试。
本书与传统的单片机基本原理书籍相比较,更面向实际开发,与单片机C程序设计书籍相比,兼顾了单片机原理和汇编语言的讲解,同时提供了Proteus仿真,有利于初学者迅速掌握单片机技术。
本书图文并茂,实用性强,为便于读者练习和自学,各章均配有少量习题。本书可作为大专院校单片机原理与应用类课程的教材,也可作为单片机原理与应用技术培训班的教材,特别适合打算学习单片机应用系统开发技术的读者,同时可供各类电子工程、自动化技术人员和计算机爱好者参考。
对于MCS-51单片机的初学者来说,应该从本书的第1章开始进行学习,了解MCS-51单片机技术的基本知识和MCS-51单片机的使用方法,掌握MCS-51单片机结构和相应接口芯片的具体使用方法,以及与MCS-51单片机汇编语言编程和单片机C语言编程相关的具体技术,学完第1~10章,即可满足从事单片机应用系统开发的基本要求。
对于已经具有一定MCS-51单片机技术基础,比较了解MCS-51单片机的读者来说,可以直接从第4章开始学习,重点理解和掌握使用MCS-51单片机开发应用系统的相关技术,通过对比来掌握单片机汇编语言编程和单片机C语言编程的方法,着重掌握单片机应用系统的开发过程。
建议本书的理论课安排在50学时左右,实验课安排12~16学时,如果只学习汇编程序设计或C语言程序设计,理论学习课时可适当减少。课程学习后,可安排相应的课程设计,以便对学习内容进行巩固和加深理解。
另外,本书在描述中经常把MCS-51单片机简称为51单片机,书中采用了Keil C51 V9.00 软件界面,读者在学习过程中也可以采用Keil C51的最新版本,或者自行下载其对应的软件包,以供学习和使用。
根据我们的教学和开发经验,学习单片机技术,特别是学习单片机应用系统开发技术时,关键是让学习者迅速地找到适合自己的学习方法,必须在第一时间使学习者看到自己的学习成绩,排除对硬件设计没有信心,畏惧编程的心理因素。因此有必要走依葫芦画瓢的道路,在实验中模拟开发出简单的应用系统,然后逐渐地由浅入深,逐步进入单片机应用系统开发领域。
为此本书给出了大量实例,包括硬件电路设计和应用系统开发,我们希望读者通过大量的实例来加深对相关内容的认识和理解,尽快地把理论知识转换为解决实际问题的能力。另一方面,为方便读者快速阅读本书,书中各实例中的所有源代码和电路图均提供下载,读者可以根据自己的实际情况进行选择和使用,建议读者详细阅读第5~10章,并分析电路和程序源代码,在实验室模拟一个单片机应用系统实验项目进行开发练习,以此作为真正的单片机应用系统开发的起步。
本书由西华大学谢维成和成都大学杨加国、陈斌、苏长明共同编写,谢维成和杨加国担任主编。
本书第1、2、9章和附录由杨加国编写,第3、5、6章由苏长明编写,第4、7章由陈斌编写,第8、10章由谢维成编写,最后由谢维成和杨加国统稿完成。另外王胜、郑海春、王孝平、杨帆、陈永强、李茜、宋玉忠参与了本书部分图形的绘制及仿真调试工作,在此一并表示感谢。同时感谢参考文献的作者们,本书借鉴了他们的部分成果,他们的工作给了我们很大的帮助和启发。
尽管《单片机原理与应用及C51程序设计第4版》是改版,我们全体参编人员已尽心尽力,但限于自身水平,书中难免出现遗漏和错误之处,恳请广大读者不吝指正,给我们提出意见和建议。
编 者
|
|