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

单片机接口技术(C51版)

中国水利水电出版社
    【作 者】张道德 编著 【I S B N 】978-7-5084-4302-7 【责任编辑】郭东青 【适用读者群】本科 【出版时间】2008-07-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】第1版 【页 数】304 【千字数】 【印 张】 【定 价】28 【丛 书】21世纪高等学校精品教材 【备注信息】
图书详情

    本书是针对目前最通用的单片机8051和目前最流行的程序设计语言C51,以KeilC51编译器为工具,讲解单片机接口技术的教材。

    全书共三部分,共14章。第一部分(第1~5章)是C51基础知识篇,介绍C51基本语法及程序设计基础知识;第二部分(第6~11章)为C51接口篇,介绍单片机片内资源如并口、串口、定时器、中断的C51编程应用,常用外围扩展器件如综合扩展芯片8155、实时时钟DS1302、人机接口技术如键盘接口、LED显示、LCD显示及C51编程应用,SPI和I2C两种新的串行总线技术的原理及X5045等典型应用实例;第三部分(第12~14章)为C51提高篇,介绍Keil C51编译及连接技术,重点介绍了代码优化技术、C51与汇编混合编程技术以及突破64KB寻址空间的分页技术,通过几个实例介绍RTX51的原理及使用方法,最后给出两个综合应用实例。

    本书结合了作者多年教学、科研实践所获取的经验,依据学习的认知规律来编排内容,充分体现了以人为本的指导思想。书中实例较多,各章配有习题,实用性强,既可作为高等院校、职业学校、电视大学等的教学用书,也是单片机爱好者、自学单片机的C语言的合适教材,也可作为从事单片机应用的技术人员的参考书。

    单片机有体积小、功能强、功耗低、可靠性高和性价比高的特点,在过程控制、机电一体化产品、智能仪器、家用电器以及计算机网络及通信等方面得到广泛应用。

    单片机的发展经历了四位、八位、十六位及三十二位单片机的发展阶段,世界上一些著名的半导体器件厂家都开发了单片机,如Intel、Motorola、Zilog、PHILIPS等。20世纪80年代中期,Intel公司将8051内核使用权以专利互换和出售形式转让给世界许多著名IC制造厂商,如PHILIPS、Siemens、AMD、OKI、NEC、Atmel等,这样8051就成为有众多制造商支持的、发展出上百种品种、功能更丰富、内存容量更大、运行速度更快的MCS-51大家族。8051软件工具已有C级编译器及实时多任务操作系统(RTOS),在RTOS的支持下,单片机的程序设计更简单,更可靠,实时性更强,因而8051是单片机教学的首选机型。

    C51语言是一种编译型程序设计语言,有功能丰富的库函数,运算速度快,编译效率高,有良好的可移植性,而且可以直接实现对系统硬件的控制,支持当前程序设计中广泛采用的由顶向下结构化程序设计技术,C51语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供有力的保障。用C51语言开发系统软件,可大大缩短开发周期,增加软件的可读性,便于系统改进和扩充。C51语言开发的软件在软件质量、结构严谨、程序稳定性等方面具有汇编语言无法比拟的优势。因此,用C51语言进行8051单片机程序设计是单片机开发与应用的必然趋势,使用C51语言进行程序设计已成为MCS-51单片机系统软件开发的主流。

    笔者认为,单片机教学中的程序设计也应该以C51语言为主,以汇编语言为辅。对汇编语言掌握到只要可以读懂程序,在时间要求比较严格的模块中进行程序的优化即可。采用C51语言也不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量的存储单元的分配,编程者只需专注于应用软件部分的设计,大大加快了软件的开发速度。

    本书是作者多年来从事单片机系统开发及课程教学的经验总结,编写时体现以下几个特点:

    目的明确,重在实用。本书不是C51语言手册,也不是硬件手册。C51手册厚达数百页,接口技术也涉及方方面面,本书只介绍常用的、实用的方法与技巧。只要读者理解、掌握了本书提供的应用实例,就已具备了用C51进行单片机系统开发的能力。C51有很多烦琐的语义语法如连接、定位、各种各样的库函数等,本书并未涉及,读者在掌握本书知识,对C51有了初步的整体认识后,就有足够的信心与能力在需要时去查阅相关资料。

    内容齐全,由浅入深;结构合理,条理清晰。本书的硬件内容部分涵盖了单片机系统内部资源及常用的外部资源,讲解了常用的接口技术及方法,软件内容部分涵盖了C51常用的语法规范和使用方法、技巧;全书从前至后按内容难易分三个层次,即C51基础知识篇、接口篇和提高篇;按单片机系统结构来分,先从单片机内部资源开始介绍,再介绍外部扩展资源,层次分明。

    硬件与软件结合,理论与实践结合。书中自第6章开始,所有C51源程序均对应着特定的硬件或应用,通过翔实丰富的C51源程序(配中文注释)来理解并掌握对硬件的控制,达到学以致用的目的。

    大量实例,可移植性强。书中提供的大量源程序只需稍加修改,即可在实际工作中加以应用。

    本书教学学时建议为64学时,具体安排如下:

    第一部分C51基础知识篇(共计20学时):第1章C51基本语法(4学时),第2章C51基本结构程序设计(4学时),第3章数组(4学时),第4章函数(4学时),第5章指针、结构、联合和枚举(4学时)。

    第二部分C51接口篇(共计32学时):第6章 8051内部资源编程(4学时),第7章8051外部常用扩展资源编程(4学时),第8章人机接口技术(12学时),第9章数据采集编程(4学时),第10章通信编程(4学时),第11章新型串行总线技术(4学时)。

    第三部分C51提高篇(共计12学时):第12章Keil C51编译及连接技术(4学时),第13章RTX51实时多任务操作系统(4学时),第14章单片机综合应用实例(4学时)。

    如果读者有C语言编程基础,则第一部分只需学习第1章1.2小节内容,第三部分可以根据需要选学。

    本书由张道德根据多年的单片机教学、科研经验编著完成。参加本书编写工作的还有张铮、游达章、周敬东、刘祎祺、胡新宇、顾梦霞以及奚旗文、周文嵩等。全书由杨光友主审。

    希望本书能对单片机的教学、应用推广起到一定的作用。由于本书内容覆盖面广,加上本人水平有限,难免有误漏之处,恳请广大读者批评指正,读者可通过电子邮件:hgzdd@163.com,直接与作者联系。

    读者使用本书时,所需的Keil C51软件可在周立功单片机网站http://www.zlgmcu.com或Keil的官方网站http://www.keil.com下载软件评估版。

    为方便读者学习,作者开发了与本书配套的实验开发板,支持在线编程,有需要该开发版的读者可以通过电子邮件hgzdd@126.com与作者联系。书中所有C51源代码均在Keil C51 V7.0环境下编译、调试通过,可以在中国水利水电出版社的网站(http://www.waterpub.com.cn/softdown)下载,也可在作者个人网站下载,网站为http://www.dpjjx.com。

    张道德

    2007年1月

    前言
    第一部分 C51基础知识篇
    第1章 C51基本语法 1
    1.1 C51基本数据类型 1
    1.2 常量与变量 2
    1.2.1 常量 2
    1.2.2 变量 3
    1.2.3 8051片内资源及位变量 6
    1.3 自定义变量类型typedef 8
    1.4 运算符与表达式 9
    1.4.1 赋值运算 9
    1.4.2 算术运算 9
    1.4.3 关系运算 11
    1.4.4 逻辑运算 11
    1.4.5 位运算 12
    1.4.6 自增减运算及复合运算 13
    1.4.7 条件运算符 14
    1.4.8 逗号运算符 15
    习题一 15
    第2章 C51基本结构程序设计 16
    2.1 顺序结构 16
    2.2 选择结构 17
    2.2.1 if语句 17
    2.2.2 switch-case语句 20
    2.3 循环结构 22
    2.3.1 while语句 23
    2.3.2 do-while语句 24
    2.3.3 for语句 25
    2.3.4 循环嵌套 26
    2.4 转移语句 27
    2.4.1 goto语句 27
    2.4.2 break语句 28
    2.4.3 continue语句 28
    习题二 29
    第3章 数组 30
    3.1 一维数组 30
    3.1.1 一维数组的定义 30
    3.1.2 一维数组元素的引用 31
    3.1.3 一维数组的初始化 32
    3.1.4 一维数组应用举例 32
    3.2  二维数组 33
    3.2.1 二维数组的定义 33
    3.2.2 二维数组元素的引用 34
    3.2.3 二维数组的初始化 34
    3.2.4 二维数组应用举例 35
    3.3 字符数组 35
    3.4 多维数组 37
    习题三 38
    第4章 函数 39
    4.1 函数的说明与定义 39
    4.1.1 函数说明 39
    4.1.2 函数定义 40
    4.2 函数的调用 40
    4.2.1 函数的简单调用 40
    4.2.2 函数的参数传递 41
    4.2.3 函数的递归调用 43
    4.3 函数作用范围与变量作用域 44
    习题四 45
    第5章 指针、结构、联合和枚举 46
    5.1 指针 46
    5.1.1 指针和地址 46
    5.1.2 指针和数组 50
    5.1.3 字符指针 52
    5.1.4 指针数组 53
    5.1.5 指针作为函数的形参 54
    5.2 结构体 55
    5.2.1 结构变量的定义 55
    5.2.2 结构变量的引用 57
    5.2.3 结构数组和结构指针 58
    5.3 联合体 63
    5.3.1 联合变量的定义 63
    5.3.2 结构和联合的区别 64
    5.4 枚举 65
    习题五 66
    第二部分 C51接口篇
    第6章 8051内部资源编程 68
    6.1 输入/输出(I/O)端口 68
    6.1.1 并行I/O口结构及功能 68
    6.1.2 应用实例 71
    6.2 定时器/计数器 72
    6.2.1 定时/计数器结构 72
    6.2.2 定时器/计数器工作方式 72
    6.2.3 定时/计数器的控制寄存器 75
    6.2.4 定时/计数常数的计算 77
    6.2.5 应用实例 78
    6.3 中断 79
    6.3.1 中断的基本概念 79
    6.3.2 中断系统的结构 79
    6.3.3 中断的控制 80
    6.3.4 中断响应过程及中断入口地址 81
    6.3.5 C51中断程序设计 82
    6.4 串行口 84
    6.4.1 串行口的结构与控制 84
    6.4.2 串行口的工作方式 86
    6.4.3 波特率的计算 89
    6.4.4 串行口初始化 90
    6.4.5 应用实例 90
    习题六 93
    第7章 8051外部常用扩展资源编程 94
    7.1 综合扩展芯片8155 94
    7.1.1 8155结构及工作原理 94
    7.1.2 8155应用实例 97
    7.2 实时时钟芯片DS1302 99
    7.2.1 DSl302的结构及工作原理 99
    7.2.2 DS1302与MCS-51单片机应用实例 103
    例7-2 104
    习题七 106
    第8章 人机接口技术 107
    8.1 键盘及其接口 107
    8.1.1 独立式键盘接口 108
    8.1.2 行列式键盘接口 110
    8.2 LED显示器接口 112
    8.2.1 LED显示器的结构与原理 112
    8.2.2 LED显示方式 113
    8.2.3 LED显示器接口实例 115
    8.2.4 LED显示管理芯片MAX7219 116
    8.3 LCD显示器接口 120
    8.3.1 LCD显示器的基本原理 121
    8.3.2 液晶显示控制器SED1330原理与应用实例 122
    8.4 打印机接口 135
    8.4.1 TPμP-40A的主要性能、接口要求及时序 135
    8.4.2 字符代码及打印命令 137
    8.4.3 应用实例 139
    8.5 语音芯片ISD4004 141
    8.5.1 ISD4004的工作原理 141
    8.5.2 应用实例 146
    习题八 152
    第9章 数据采集编程 154
    9.1 概述 154
    9.2 D/A转换器DAC0832 155
    9.2.1 D/A转换器的性能指标 155
    9.2.2 DAC0832引脚及内部结构 156
    9.2.3 DAC0832的应用 157
    9.2.4 DAC0832应用实例 159
    9.3 A/D转换器ADC0809 161
    9.3.1 逐次逼近型ADC基本原理 161
    9.3.2 ADC0809应用实例 162
    9.3.3 A/D接口设计要点 164
    9.4 8位A/D转换器TLC0832 165
    9.4.1 主要技术特点 165
    9.4.2 TLC0832的工作原理 165
    9.4.3 应用实例 167
    习题九 169
    第10章 通信编程 170
    10.1 MCS-51单片机与PC机通信 170
    10.1.1 MAX232简介 170
    10.1.2 PC机的串行口 171
    10.1.3 单片机与PC机通信应用实例 172
    10.2 多机通信技术 174
    10.2.1 多机通信原理 174
    10.2.2 多机通信系统设计实例 175
    习题十 184
    第11章 新型串行总线技术 185
    11.1 SPI接口技术 185
    11.1.1 SPI 总线简介 185
    11.1.2 SPI总线的工作原理 185
    11.1.3 MCS-51单片机的SPI接口虚拟实现 186
    11.1.4 SPI接口应用实例——X5045看门狗定时器 186
    11.2 I2C总线接口 196
    11.2.1 I2C总线简介 196
    11.2.2 I2C总线的工作原理 196
    习题十一 203
    第三部分 C51提高篇
    第12章 Keil C51编译及连接技术 204
    12.1 预处理器 204
    12.1.1 宏定义 204
    12.1.2 预处理指令 205
    12.1.3 文件包含 207
    12.2 C51编译库及代码优化技术 208
    12.2.1 C51编译库 208
    12.2.2 代码优化 208
    12.3 C51与ASM混合编程技术 209
    12.3.1 混合编程意义 209
    12.3.2 C51模块内的汇编接口 209
    12.3.3 C51与汇编的模块间接口 211
    12.3.4 应用实例 213
    12.4 Keil C51环境下的分页技术 214
    12.4.1 Keil C51的Bankswitch原理 214
    12.4.2 基于PSD813F2的分页硬件设计 215
    12.4.3 分页的实现过程及实例 215
    习题十二 219
    第13章 RTX51实时多任务操作系统 221
    13.1 多任务编程思想 221
    13.1.1 单任务机制工作原理 221
    13.1.2 多任务机制工作原理 222
    13.2 RTX51的特点及运行要求 223
    13.2.1 RTX51的特点 223
    13.2.2 RTX51对硬件的要求 223
    13.2.3 RTX51对软件的要求 224
    13.3 RTX51的基本概念及实例分析 224
    13.3.1 任务的状态及定义 224
    13.3.2 RTX51事件 226
    13.3.3 RTX51中断处理 228
    13.3.4 RTX51 TINY的配置 229
    13.4 RTX51 TINY的内核原理 230
    13.4.1 同步机制 230
    13.4.2 调度规则 230
    13.4.3 任务控制块 230
    13.4.4 存储器管理 231
    13.4.5 代码分析 231
    13.5 应用实例 233
    13.5.1 键盘显示系统 233
    13.5.2 交通灯控制 238
    习题十三 239
    第14章 单片机综合应用实例 240
    14.1 MCS-51单片机远程数据传输装置 240
    14.1.1 电话网远程通信原理 240
    14.1.2 系统硬件设计 240
    14.1.3 DTMF电路HT9200A 243
    14.1.4 FSK调制解调芯片MSM7512B 244
    14.1.5 数据传输的工作过程 245
    14.1.6 软件设计 245
    14.2 工业洗衣机模糊控制器的设计 253
    14.2.1 模糊控制器的设计 253
    14.2.2 模糊推理软件设计 255
    附录A Keil C51菜单调试技巧 269
    附录B 微机测控系统软件抗干扰的常用方法 286
    参考文献 290
    参考资料 291
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册