热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点

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

中国水利水电出版社
    【作 者】周国运 主编 【I S B N 】978-7-5084-6151-9 【责任编辑】李炎 【适用读者群】高职高专 【出版时间】2009-02-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版 【页 数】248 【千字数】 【印 张】 【定 价】25 【丛 书】21世纪高职高专规划教材 【备注信息】
图书详情

      本书以应用最广泛的MCS-51增强型单片机为对象,系统地讲解了单片机原理及其应用,具体内容包括:MCS-51单片机的结构与工作原理,指令系统,中断、定时器、串行口工作原理及应用,系统扩展及各种应用接口,并且还讲了单片机C语言及编程。

      本书以单片机C语言为主要编程工具,在第2章就引入C51的一些概念,第4章“单片机C语言及程序设计”之后各章节内容的讲解、所有的编程举例、程序设计,都采用C语言,并且为了便于学习汇编语言,也列出了汇编语言程序。

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

    本书主要有以下特点:讲解结构和片内外设时,以增强型单片机为对象;讲控制转移指令时,对传统讲解方法做了三个方面的改进;用一章内容讲解了单片机的C语言,并且没有涉及C语言的基础知识;注重单片机的应用,书中提供了大量的例子和习题。

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

      近几年随着MCS-51单片机和开发工具的发展,我们教师在单片机项目开发中都采用C语言编写程序,与汇编语言相比有诸多优势,因此,我们将单片机C语言部分写成小册子,补充到单片机教学中,后来就动手编写了C语言版的“单片机原理及应用”讲义,把C51的概念从开始就引入其中,并且以C语言为主要编程工具讲解、举例和编程,试用效果比用汇编语言好,学生更容易掌握用C语言编写单片机程序。

      本书结合作者多年来讲授单片机和C语言的教学心得,以及从事单片机项目开发的经验,在C语言版“单片机原理及应用”讲义及试用的基础上,经过修改编写成这本教材。本书主要有以下特点。

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

       二是讲控制转移指令时,对传统的讲解方法做了三个方面的改进。其一,在指令讲解和注释时不提及“(PC)+2→PC或(PC)+3→PC”,只讲满足条件转移,不满足条件顺序执行,这样既降低难度、又容易理解;其二,相对寻址中的“偏移量rel”的计算,简化为“rel=目标地址-PC”,使其容易理解;其三,没有讲“绝对转移指令AJMP”和“子程序绝对调用指令ACALL”,因为这两条指令较难理解,并且在使用中有可能会出错,这两条指令的优点是比“长转移指令LJMP”和“子程序长调用指令LCALL”少一个字节,在存储器容量大、价格低的今天,其唯一的优点也没有了意义,所以没有必要使用这两条指令。

      三是用一章内容讲解了单片机的C语言。原因是在实际应用中,程序设计多以C语言为主,汇编语言为辅,为了适应实际工作的需要,必须要掌握C语言编程。本书在讲解第2章的单片机结构和原理时,就把C51的概念引入了进来;在第4章的“单片机C语言及程序设计”之后,所有内容的讲解、编程举例、程序设计,都采用C语言,并且为了便于学习汇编语言,也列出了汇编语言程序。

      四是C语言一章的内容更具特点,没有涉及C语言的基础内容。如:运算符与表达式,逻辑运算和条件判断,循环控制,数组,结构体,函数,指针概念和指针的基本应用,以及位运算等。因为现在所有理工科都开设了C语言课程,因此在C语言一章主要是紧密结合单片机及其应用,讲解了变量的存储区属性、位变量的定义、特殊功能寄存器的定义、单片机中指针的定义及应用、C51的输入/输出及应用、C51函数的定义、汇编语言与C语言混合编程,以及与单片机实际结合的例题和习题等。并且介绍了Windows的C语言集成开发工具Keil C。其内容的组织与撰写有别于其他单片机书,使读者在较短的时间能够掌握单片机C语言,并且能够用C语言编写单片机程序。

      五是注重单片机的应用,书中有较多的应用例子和习题,有一些更是来自于实际应用中。

      建议在使用本教材时,第3章“MCS-51指令系统及汇编程序设计”主要讲寻址方式和指令,汇编程序设计内容留给学生自学。第4章“单片机C语言及程序设计”中的“C51与汇编语言混合编程”一节,因为混合编程涉及汇编程序内容较多,比较难,可以留给学生自学或全书讲完之后再讲,其他各节都是基本内容要讲。本建议的目的是要以C语言编程为主,要让学生尽快掌握C51编程,有了一定的C51编程基础和混合编程需求后,再讲混合编程。

      本书由周国运任主编,并且编写了第2、3、4章,赵天翔编写了第1、8章,仝选悦编写了第5、6章,鲁庆宾和陈华敏编写了第7、9章及附录。

      由于编者水平有限,时间仓促,错误和不妥之处定会不少,敬请同行和读者批评指正。

     


    前言
    第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  单片机的应用 5
    1.4  常用单片机简介 5
    1.4.1  MCS-51系列单片机 5
    1.4.2  ATMEL89系列单片机 5
    1.4.3  STC89/12系列单片机 8
    1.4.4  常见的其他系列单片机介绍 9
    1.5  单片机系统的开发方法 11
    1.5.1  单片机系统的设计要求 11
    1.5.2  单片机系统的开发特点 11
    1.5.3  单片机系统的开发工具及环境 11
    1.5.4  单片机系统设计中芯片的选择 12
    思考题与习题 12
    第2章  MCS-51单片机结构与原理 13
    2.1  MCS-51单片机内部结构及CPU 13
    2.1.1  MCS-51单片机的功能结构及特点 13
    2.1.2  MCS-51单片机的内部原理结构 14
    2.1.3  MCS-51单片机的CPU 14
    2.2  MCS-51单片机的引脚与总线结构 17
    2.2.1  MCS-51单片机的引脚信号及功能 17
    2.2.2  MCS-51单片机外部总线结构 19
    2.3  MCS-51单片机的存储器结构 20
    2.3.1  程序存储器结构 20
    2.3.2  片内数据存储器结构 22
    2.3.3  片外数据存储器结构 25
    2.4  MCS-51单片机的输入/输出端口 25
    2.4.1  P1口 26
    2.4.2  P2口 27
    2.4.3  P3口 28
    2.4.4  P0口 28
    2.4.5  端口负载能力和接口要求 30
    2.5  MCS-51单片机的时钟及CPU时序 30
    2.5.1  时钟电路及时钟信号 30
    2.5.2  CPU时序 32
    2.6  MCS-51单片机的工作方式 33
    2.6.1  复位方式 33
    2.6.2  程序执行方式 34
    2.6.3  单步执行方式 34
    2.6.4  节电工作方式 35
    2.6.5  编程和校验方式 36
    思考题与习题 37
    第3章  MCS-51指令系统及汇编程序设计 38
    3.1  汇编语言概述 38
    3.1.1  指令和机器语言 38
    3.1.2  汇编语言 38
    3.1.3  汇编语言指令格式 39
    3.2  MCS-51单片机寻址方式 40
    3.2.1  立即数寻址 40
    3.2.2  寄存器寻址 41
    3.2.3  直接寻址 41
    3.2.4  寄存器间接寻址 42
    3.2.5  变址寻址 43
    3.2.6  位寻址 43
    3.2.7  指令寻址 44
    3.2.8  寻址空间及指令中符号注释 44
    3.3  MCS-51单片机指令系统 45
    3.3.1  数据传送指令 46
    3.3.2  算术运算指令 50
    3.3.3  逻辑操作指令 52
    3.3.4  控制程序转移指令 54
    3.3.5  位操作指令 58
    3.4  MCS-51单片机伪指令 60
    3.5  汇编语言程序设计举例 62
    3.5.1  简单程序设计 62
    3.5.2  分支程序设计 63
    3.5.3  循环程序设计 64
    3.5.4  子程序设计 65
    思考题与习题 67
    第4章  单片机C语言及程序设计 70
    4.1  C51概述 70
    4.1.1  C语言编程的优势 70
    4.1.2  C51与ANSI C的区别 71
    4.1.3  C51扩展的关键字 71
    4.2  C51数据类型及存储 71
    4.2.1  C51的数据类型 71
    4.2.2  C51数据的存储 73
    4.3  C51变量的定义及数据存储区域 74
    4.3.1  C51变量的定义 74
    4.3.2  C51变量的存储类型 74
    4.3.3  C51变量的存储区 75
    4.3.4  C51变量定义举例 76
    4.3.5  C51变量的存储模式 76
    4.3.6  C51变量的绝对定位 77
    4.4  C51位变量的定义 77
    4.4.1  bit型位变量的定义 77
    4.4.2  sbit型位变量的定义 78
    4.4.3  bdata型变量的位变量定义 79
    4.5  C51特殊功能寄存器的定义 79
    4.5.1  8位特殊功能寄存器的定义 79
    4.5.2  16位特殊功能寄存器的定义 79
    4.6  C51指针的定义 80
    4.6.1  通用指针 80
    4.6.2  存储器专用指针 80
    4.6.3  指针变换 81
    4.6.4  C51指针应用 82
    4.7  C51的输入/输出 84
    4.7.1  格式输出函数printf 85
    4.7.2  格式输入函数scanf 85
    4.8  C51函数的定义 87
    4.8.1  C51函数的定义 87
    4.8.2  C51中断函数的定义 88
    4.9  C51与汇编语言混合编程 89
    4.9.1  在C51函数中嵌入汇编程序 89
    4.9.2  C51程序与汇编程序混合编程 89
    4.10  C51集成开发软件Keil C 94
    4.10.1  Keil C集成工具简介 94
    4.10.2  Keil C操作界面 95
    4.10.3  Keil C的使用 99
    4.10.4  项目的运行调试 100
    思考题与习题 103
    第5章  单片机中断系统 106
    5.1  中断概述 106
    5.1.1  微机的输入/输出方式 106
    5.1.2  中断的概念 107
    5.2  中断系统结构及控制 108
    5.2.1  MCS-51的中断结构 108
    5.2.2  MCS-51的中断源 108
    5.3  中断响应及处理过程 113
    5.3.1  中断响应 113
    5.3.2  中断处理和中断返回 116
    5.4  中断应用举例 116
    思考题与习题 121
    第6章  MCS-51单片机定时器/计数器 123
    6.1  MCS-51单片机定时器/计数器的结构及原理 123
    6.1.1  MCS-51单片机定时器/计数器结构 123
    6.1.2  MCS-51单片机定时器/计数器的工作原理 124
    6.1.3  定时器/计数器的方式和控制寄存器 125
    6.2  定时器T0与T1 126
    6.2.1  模式0 126
    6.2.2  模式1 127
    6.2.3  模式2 127
    6.2.4  模式3 128
    6.3  定时器T2 132
    6.3.1  定时器T2特殊功能寄存器 133
    6.3.2  定时器T2的工作方式 134
    6.4  定时器应用举例 138
    6.4.1  定时器的初始化 138
    6.4.2  定时器应用举例 139
    6.4.3  定时器/计数器应用中的注意事项 144
    思考题与习题 145
    第7章  MCS-51单片机串行口 147
    7.1  串行通信基础知识 147
    7.1.1  数据通信 147
    7.1.2  异步通信和同步通信 148
    7.1.3  波特率 149
    7.1.4  通信方向 149
    7.1.5  串行通信接口种类 150
    7.2  串行口结构及控制 150
    7.2.1  89C52串行口结构 150
    7.2.2  与串行口有关的特殊功能寄存器 151
    7.2.3  波特率设计 152
    7.3  串行口工作方式 155
    7.3.1  串行口方式0 155
    7.3.2  串行口方式1 156
    7.3.3  串行口方式2和方式3 158
    7.4  串行口应用举例 159
    7.4.1  同步方式应用 159
    7.4.2  异步方式应用 161
    7.5  单片机与PC机通信的接口电路 165
    7.5.1  MAX232芯片简介 165
    7.5.2  PC机与89C52串行通信的接口电路 167
    思考题与习题 167
    第8章  单片机系统扩展 169
    8.1  扩展并行三总线 169
    8.1.1  片外三总线结构 169
    8.1.2  MCS-51系统扩展的实现 170
    8.1.3  总线驱动 171
    8.2  扩展简单并行输入/输出口 171
    8.3  扩展并行数据存储器 173
    8.3.1  扩展存储器概述 173
    8.3.2  数据存储器的扩展 174
    8.4  串行扩展总线接口技术 175
    8.4.1  常用的串行总线接口简介 176
    8.4.2  I2C总线 177
    8.4.3  SPI串行外设接口总线 184
    思考题与习题 189
    第9章  单片机系统配置及接口 190
    9.1  键盘接口 190
    9.1.1  键盘基本问题 190
    9.1.2  键盘结构及处理程序 192
    9.1.3  中断扫描方式 197
    9.2  LED显示接口 197
    9.2.1  LED显示器结构原理 198
    9.2.2  LED显示器接口及显示方式 198
    9.2.3  LED显示器与89C52接口及显示子程序 199
    9.3  A/D转换接口 201
    9.3.1  多通道串行输出A/D芯片TLC2543及接口 201
    9.3.2  逐次逼近型并行输出A/D转换器及接口 209
    9.3.3  单片机内部集成的A/D转换器 212
    9.4  D/A转换接口 214
    9.4.1  8位并行D/A转换器DAC0832接口技术 214
    9.4.2  串行输入D/A转换器TLC5615接口技术 217
    9.5  开关器件接口 220
    思考题与习题 223
    附录A  ASCII码表 224
    附录B  MCS-51指令表 225
    附录C  C51库函数 229
    参考文献 237
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册