热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

单片机原理及应用教程(C语言版)

中国水利水电出版社
    【作 者】主编 周国运 【I S B N 】978-7-5170-1490-4 【责任编辑】李炎 【适用读者群】本专通用 【出版时间】2014-01-11 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】256 【千字数】402 【印 张】16 【定 价】29 【丛 书】21世纪高等院校规划教材 【备注信息】
图书详情

    本书以应用最广泛的MCS-51增强型单片机为对象,系统地讲解了单片机原理、编程方法、接口技术及应用。内容包括:MCS-51单片机结构原理,指令系统,单片机C语言及编程,中断、定时器、串行口,系统扩展接口、系统设备接口,以及单片机各个部分的应用,并且介绍了单片机的软硬件开发工具Keil C和Proteus。

    本书从教学和初学的角度讲解单片机的基本内容和应用,概念清晰准确;以C为主要编程语言,讲解、举例编程均用C语言,并且有汇编语言对照;以程序开发软件Keil C、电路设计模拟运行调试软件Proteus为教学、学习和训练工具,理论与实践紧密结合。

    本书适用于具有C语言基础的计算机、电子、通信、自动化、电气、测控技术与仪器等专业的本、专科学生作为教材,也可以作为各种培训机构和自学教材,以及工程技术人员的参考书。

    作者开发有试题库,为教师免费提供试题,可Email作者联系索要。

    • 以增强型单片机89C52为对象讲解,以C语言作为主要编程语言

    • 精选内容,结合单片机的实际讲解C语言,注重编程能力的培养

    • 接口概念明确,重视接口时序分析和接口应用能力的培养

    • 提出“变量存储区(域)”和“设备变量”等新概念,方便讲解和理解相关内容

    • 注重开发工具(程序开发软件Keil C和单片机电路设计、系统模拟运行软件Proteus)应用、实践能力的培养

    MCS-51单片机虽然走过了30多年的历史,但以其独特的系统结构、不断增加的片内设备,以及强大的指令系统,不仅没有被淘汰,而且依然是单片机中的主流。随着技术的发展和应用的需求,MCS-51单片机片内设备越来越丰富,应用也越来越多。所以MCS-51单片机仍然是单片机教学的主要对象。

    本书在内容组织和讲解上以初学者为对象,结合作者多年来讲授单片机、微机原理与接口技术和C语言等课程的教学体会,以及从事单片机、计算机应用项目开发的经验,在《单片机原理及应用(C语言版)》教材的基础上,经过修改编写而成(本书从内容上可看作《单片机原理及应用(C语言版)》的第二版)。本书主要有以下特点:

    (1)以增强型单片机89C52为对象讲解。当今在实际中使用的单片机多数是增强型,而现在又多用C语言编程,程序的长度很容易超过4KB,另外增强型单片机的价格比89C51多出得很少,并且有更多的片内设备。书中讲解了增强型片内高128字节的存储器,定时器/计数器2的多种用途,片内的A/D转换器等。

    (2)以C语言作为主要编程语言,注重编程能力的培养,用一章内容讲解了单片机的C语言。在实际应用中,程序设计多以C语言为主、汇编语言为辅,为了适应实际工作的需要,必须要掌握C语言编程。本书在第2章讲解单片机结构原理时,就把C51的概念引入了进来,强调存储区域概念;在第4章“单片机C语言及程序设计”之后,内容讲解、编程举例、程序设计,都采用C语言;在第5、6、7章这些讲解单片机基本内容的章节,为了便于学习汇编语言,也列出了汇编语言程序。

    (3)C语言一章更具特色,不仅精选了内容,而且结合单片机的实际讲解C语言。一是只讲了与单片机结构密切相关的、与普通C语言不同的内容:变量的定义、特殊功能寄存器的定义、位变量的定义、指针的定义、C51的输入/输出、C51函数的定义、汇编语言与C语言混合编程等,没有涉及C语言的基础内容,因为现在理工科都开设有C语言课程。二是内容讲解透彻,定义格式明确、属性阐述准确,并且在每一种定义中都写有“使用说明”或“注意”,这些都是作者的应用经验总结。三是书中设置的例子、思考题与习题(30个)都是结合对内容的理解和实际应用编写的,学完该章内容后,应该对C语言在单片机中的应用没有任何障碍。

    (4)注重开发工具应用、实践能力培养。一是在第1章就专门介绍了程序开发软件Keil C和单片机电路设计、系统模拟运行软件Proteus的使用方法,教师稍加引导学生就可以完成一些简单的I/O口实验。二是书中的例题尽可能地使用Proteus绘制单片机应用电路,其程序在电路中模拟运行。三是书中的部分习题要求用Keil C编程,用Proteus绘制电路并模拟运行程序。

    (5)注意接口能力的培养。一是接口概念明确,使读者真正理解接口含义,8255A是典型的接口芯片,通过该芯片的介绍,能够使读者较全面地理解接口的相关概念和接口的相关功能(从简单和实用的角度考虑,只讲了8255A的工作方式0)。二是重视接口时序的分析和应用,几乎在每个接口中都有体现,使读者能够正确使用各种接口芯片。

    (6)提出了多个新概念,以方便讲解和理解相关内容。在第4章提出了“变量存储区(域)”和“设备变量”的概念。“变量存储区(域)”的概念在《单片机原理及应用(C语言版)》中首次提出,该概念符合单片机变量保存位置区域的特征,并且与ANSI C变量属性(存储类型)不冲突。“设备变量”的概念为本书首次提出,虽然该概念不是必需的,但“设备变量”本身访问过程的复杂性和它的特指性,对于初学者理解、掌握这类访问过程复杂的变量会有帮助,对于教师则方便讲解。第5章提出了“中断通道”的概念,该概念符合串行口、定时器T2中断结构的特征,使中断结构的相关概念更清晰,更容易理解中断系统结构,方便教师讲解(见表5-1)。

    本书由周国运任主编,组织内容及统稿,并且编写了第4章、与仝选悦共同编写了第2章、详细指导了第5、6章,李云强编写了第1章和附录,仝选悦还编写了第3章,赵天翔编写了第5、6、8章,鲁庆宾编写了第7、9章。

    由于编者水平有限,书中难免存在错误和不妥之处,敬请同行和读者批评指正。作者邮箱:zhouguoyun@sina.com。

    编 者

    2013年10月


    前言

    第1章 单片机及其开发工具 1
    1.1 单片机的基本概念 1
    1.2 单片机的发展概况 1
    1.2.1 单片机的发展历史 1
    1.2.2 单片机技术的发展 3
    1.3 单片机的特点及应用 4
    1.3.1 单片机的特点 4
    1.3.2 单片机的应用 4
    1.4 常用单片机简介 5
    1.4.1 MCS-51系列单片机 5
    1.4.2 ATMEL89系列单片机 5
    1.4.3 STC系列单片机 7
    1.4.4 常见的其他系列单片机介绍 8
    1.5 单片机程序开发软件Keil C简介 9
    1.5.1 Keil C操作简介 9
    1.5.2 Keil C程序开发方法 11
    1.5.3 Keil C调试运行方法 14
    1.6 单片机系统模拟软件Proteus简介 17
    1.6.1 Proteus ISIS操作简介 18
    1.6.2 Proteus ISIS原理图设计方法 22
    1.6.3 Proteus ISIS原理图设计举例 24
    1.6.4 Proteus ISIS模拟方法 26
    思考题与习题 26
    第2章 MCS-51单片机的结构与原理 28
    2.1 MCS-51单片机的内部结构及CPU 28
    2.1.1 MCS-51单片机的结构及特点 28
    2.1.2 MCS-51单片机的内部原理结构 29
    2.1.3 MCS-51单片机的CPU 29
    2.2 MCS-51单片机的引脚与总线结构 32
    2.2.1 MCS-51单片机的引脚信号 32
    2.2.2 MCS-51单片机的外部总线结构 35
    2.3 MCS-51单片机的存储器结构 35
    2.3.1 程序存储器结构 36
    2.3.2 片内数据存储器结构 37
    2.3.3 片外数据存储器结构 40
    2.4 MCS-51单片机的时钟及CPU时序 41
    2.4.1 时钟电路及时钟信号 41
    2.4.2 CPU时序 42
    2.5 MCS-51单片机的复位 43
    2.5.1 复位状态 43
    2.5.2 复位电路 44
    2.6 MCS-51单片机的低功耗工作方式 45
    2.6.1 低功耗工作结构及控制 45
    2.6.2 空闲工作方式 46
    2.6.3 掉电工作方式 46
    2.7 MCS-51单片机的输入/输出端口 47
    2.7.1 P1口 47
    2.7.2 P2口 48
    2.7.3 P3口 49
    2.7.4 P0口 50
    2.7.5 端口负载能力和接口要求 51
    思考题与习题 51
    第3章 MCS-51指令系统及汇编程序设计 53
    3.1 汇编语言概述 53
    3.1.1 指令和机器语言 53
    3.1.2 汇编语言 53
    3.1.3 汇编语言格式 54
    3.2 MCS-51单片机寻址方式 55
    3.2.1 立即数寻址 55
    3.2.2 寄存器寻址 56
    3.2.3 直接寻址 56
    3.2.4 寄存器间接寻址 57
    3.2.5 变址寻址 58
    3.2.6 位寻址 58
    3.2.7 指令寻址 59
    3.2.8 寻址空间及指令中符号注释 59
    3.3 MCS-51单片机指令系统 60
    3.3.1 数据传送指令 61
    3.3.2 算术运算指令 65
    3.3.3 逻辑操作指令 67
    3.3.4 控制程序转移指令 69
    3.3.5 位操作指令 72
    3.4 MCS-51单片机伪指令 74
    3.5 汇编语言程序设计 76
    3.5.1 简单程序设计 76
    3.5.2 分支程序设计 77
    3.5.3 循环程序设计 78
    3.5.4 子程序设计 79
    思考题与习题 81
    第4章 单片机C语言及程序设计 84
    4.1 C51概述 84
    4.1.1 C语言编程的优势 84
    4.1.2 C51与ANSI C的区别 85
    4.1.3 C51扩充的关键字 86
    4.2 C51数据类型及存储 86
    4.2.1 C51的数据类型 86
    4.2.2 C51的数据存储 87
    4.3 C51一般变量的定义 88
    4.3.1 C51变量的定义 88
    4.3.2 C51变量的存储类型 89
    4.3.3 C51变量的存储区 89
    4.3.4 C51变量定义举例 90
    4.3.5 C51变量的存储模式 91
    4.3.6 C51变量的绝对定位 91
    4.3.7 C51设备变量的概念 92
    4.4 C51特殊功能寄存器的定义 92
    4.4.1 8位特殊功能寄存器的定义 92
    4.4.2 16位特殊功能寄存器的定义 93
    4.5 C51位变量的定义 93
    4.5.1 bit型位变量的定义 93
    4.5.2 sbit型位变量的定义 94
    4.6 C51指针与结构体的定义 95
    4.6.1 通用指针 95
    4.6.2 存储器专用指针 95
    4.6.3 指针变换 96
    4.6.4 C51指针应用 97
    4.6.5 C51结构体定义 100
    4.7 C51的输入/输出 100
    4.7.1 基本输入/输出函数 101
    4.7.2 格式输出函数printf 101
    4.7.3 格式输入函数scanf 102
    4.8 C51函数的定义 104
    4.8.1 C51函数定义的一般格式 104
    4.8.2 C51中断函数的定义 105
    4.9 C51与汇编语言混合编程 106
    4.9.1 在C51函数中嵌入汇编程序 106
    4.9.2 C51程序与汇编程序混合编程 107
    思考题与习题 112
    第5章 MCS-51单片机的中断系统 114
    5.1 中断系统概述 114
    5.1.1 中断的基本概念 114
    5.1.2 中断的功能 114
    5.2 中断系统结构、原理及控制 115
    5.2.1 中断系统结构与原理 115
    5.2.2 中断通道和中断源 116
    5.2.3 外中断触发方式 116
    5.2.4 中断请求标志 117
    5.2.5 中断允许控制 118
    5.2.6 中断优先级控制 119
    5.3 中断响应及处理过程 121
    5.3.1 中断响应 121
    5.3.2 中断处理和中断返回 122
    5.4 外部中断应用举例 123
    5.4.1 中断应用程序结构 123
    5.4.2 外部中断应用举例 126
    思考题与习题 129
    第6章 MCS-51单片机的定时器/计数器 131
    6.1 MCS-51单片机定时器/计数器的
    结构及原理 131
    6.1.1 MCS-51单片机定时器/计数器的结构 131
    6.1.2 MCS-51单片机定时器/计数器的
    工作原理 132
    6.2 定时器/计数器T0、T1 132
    6.2.1 T0、T1的特殊功能寄存器 132
    6.2.2 T0、T1的工作模式 134
    6.2.3 T0、T1的使用方法 136
    6.3 定时器/计数器T2 140
    6.3.1 T2的特殊功能寄存器 140
    6.3.2 T2的工作方式 142
    6.4 定时器/计数器应用举例 145
    思考题与习题 153
    第7章 MCS-51单片机的串行口 154
    7.1 串行通信基础知识 154
    7.1.1 数据通信 154
    7.1.2 异步通信和同步通信 155
    7.1.3 波特率 156
    7.1.4 通信方向 156
    7.1.5 串行通信接口种类 157
    7.2 串行口结构及控制 157
    7.2.1 MCS-51单片机串行口结构 157
    7.2.2 串行口特殊功能寄存器 158
    7.2.3 波特率设计 159
    7.3 串行口工作方式 162
    7.3.1 串行口方式0 162
    7.3.2 串行口方式1 163
    7.3.3 串行口方式2和方式3 165
    7.4 串行口应用举例 166
    7.4.1 串行口方式0应用 166
    7.4.2 串行口方式1、方式3应用 169
    7.5 单片机与PC机通信接口电路 173
    7.5.1 接口芯片MAX232简介 173
    7.5.2 单片机与PC机串行通信
    接口电路 174
    思考题与习题 175
    第8章 单片机系统扩展接口技术 176
    8.1 接口的基本概念 176
    8.1.1 单片机应用系统构成 176
    8.1.2 接口的概念 177
    8.1.3 接口的基本功能 177
    8.1.4 接口的结构 177
    8.1.5 端口及编址 178
    8.2 用并行方式扩展数据存储器 179
    8.2.1 MCS-51单片机三总线结构 179
    8.2.2 常用的数据存储器 180
    8.2.3 单片机访问片外RAM的
    操作时序 181
    8.2.4 扩展数据存储器 182
    8.3 用简单芯片扩展并行I/O口 182
    8.3.1 扩展I/O口常用的门电路芯片 182
    8.3.2 简单扩展I/O口举例 183
    8.4 用可编程芯片扩展并行I/O口 184
    8.4.1 8255A的结构 184
    8.4.2 8255A的引脚定义 185
    8.4.3 8255A的控制字 186
    8.4.4 8255A的工作方式 187
    8.4.5 8255A的应用举例 187
    8.5 用串行方式扩展数据存储器 189
    8.5.1 I2C总线及操作 189
    8.5.2 I2C总线扩展存储器 193
    思考题与习题 195
    第9章 单片机应用系统接口技术 197
    9.1 键盘接口技术 197
    9.1.1 键盘基本问题 197
    9.1.2 独立式键盘结构及处理程序 198
    9.1.3 行列式键盘结构及处理程序 199
    9.2 LED显示器及接口技术 202
    9.2.1 LED显示器结构及原理 202
    9.2.2 LED显示器的显示方式 203
    9.2.3 LED显示器与单片机的接口 204
    9.3 LCD显示器及接口技术 205
    9.3.1 LM016L的引脚信号 205
    9.3.2 操作指令 206
    9.3.3 数据存储器 207
    9.3.4 基本操作函数 207
    9.4 D/A转换器及接口技术 210
    9.4.1 并行接口D/A转换器DAC0832及
    接口技术 210
    9.4.2 串行接口D/A转换器TLC5615及
    接口技术 213
    9.5 A/D转换器及接口技术 215
    9.5.1 并行接口A/D转换器ADC0809及
    接口技术 216
    9.5.2 串行接口A/D转换器TLC2543及
    接口技术 219
    9.5.3 单片机片内A/D转换器及应用 224
    9.6 开关量输出接口技术 225
    9.6.1 继电器接口技术 226
    9.6.2 光电耦合器件接口技术 227
    9.6.3 直流电机控制接口技术 228
    9.6.4 步进电机控制接口技术 229
    思考题与习题 230
    附录A ASCII码表 232
    附录B MCS-51指令表 233
    附录C C51库函数 237
    附录D LCD1602字符表 245
    参考文献 246
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册