本书是在单片机及其多种新技术的基础上,结合项目开发的实际经验而编写的,主要介绍了单片机高级语言C51及其相应开发工具mVision3 IDE软件的使用、单片机系统的Proteus设计与仿真、单片机软件和硬件基础知识、单片机内部资源应用与外部资源的扩展方法等。本书的定位是“教材+设计范例”,许多范例稍加修改即可用于实际项目设计。
本书特色
●全书的程序设计清单均配有与此程序相对应的Proteus格式的电路原理图,打开原理图文件, 点击“运行”按钮可以看到范例程序的仿真运行情况。
●Keil mVision3 IDE调试配合Proteus单片机仿真电路,为单片机产品研发提供了一个快速、灵活、经济的设计方法。对初学者来说,这使得单片机系统的开发为“零”成本。
●书中的范例多采用C语言作为编程教学语言,实用性较强。
本书提供电子教案及各章Proteus单片机仿真电路、相应源程序和工程文件,请登录机工新阅读网站(www.cmpreading.com)下载。
无
单片机系统的开发是硬件、软件相结合的过程。要完成单片机系统的开发,不仅需要掌握编程技术,还需要针对实际应用选择合理的单片机芯片和外围器件,在此基础上设计硬件电路。除此之外,还需要掌握相应的软件和硬件开发工具。本书针对上述知识点精心组织编排,从基础入手,深入浅出,循序渐进,便于读者理解和掌握相应内容。
本书共有7章,第1章概括介绍单片机的组成、分类、特点和应用,使读者对单片机有初步的认识。
第2章介绍单片机应用系统的设计与开发环境,通过示例说明单片机软件开发环境μVision3 IDE和单片机硬件仿真环境Proteus VSM的具体使用方法。 Proteus VSM和μVision3 IDE联调可以显著地提高单片机开发效率,对初学者来说,实现单片机系统的开发“零”成本。掌握本章内容后,读者就可以在Proteus VSM环境下设计简单的单片机系统,编写简单的单片机I/O口控制程序(如LED、继电器),进行单片机系统的仿真实验。与其他教材相比,这是本书的一个显著特点。
第3章讲解80C51单片机硬件基础知识,包括芯片的外部引脚、内部组织和单片机最小系统构成。
第4章讲解80C51单片机软件基础知识,包括寻址方式、指令系统、汇编语言程序设计和C语言程序设计等。
第5章通过大量的应用示例阐述80C51单片机内部资源的组成及应用,包括中断系统、定时器/计数器和串行口的组成及应用。
第6章讲述单片机外部扩展资源和扩展编址技术,通过大量的应用示例展示外部RAM/ROM、键盘、显示器、A/D转换器、I/O扩展、中断扩展、串行通信和总线驱动等一些最基本的模块,这些都是大多数单片机应用系统必不可少的关键部件。
第7章介绍将单片机用于可编程控制器的设计方法,贯穿了前面的知识点。
本书是在单片机及其多种新技术的基础上,结合项目开发的实际经验而编写的,编写目标是“教材+设计范例”。读者可以方便地参考设计范例,许多范例稍加修改即可用于实际项目设计。
全书的程序均配有与之对应的Proteus格式的电路原理图,打开原理图文件,单击“运行”按钮可以看到该示例程序的仿真运行情况。Keil μVision3 IDE调试配合Proteus单片机仿真电路,解决了以往单片机课堂教学无法现场演示的问题,将单片机实验室放到读者的电脑里。
为了方便教师备课和读者学习,本书提供电子教案及各章Proteus单片机仿真电路、相应源程序和工程文件,请登录华章网站(wwwhzbookcom)下载。
由于编者水平有限,时间仓促,书中难免会有许多不足,甚至错误,请各位专家多多批评指正。感谢编写本书中共享软件的作者和各位参考文献的作者。由于有的资料来源于网上,使用的时间太长,无法查证作者,如果编者引用了您的观点,请联系,编者将尽快更正参考文献目录并表示感谢。
编者
2008年6月于广州
本书是在单片机及其多种新技术的基础上,结合项目开发的实际经验而编写的,主要介绍了单片机高级语言C51及其相应开发工具mVision3 IDE软件的使用、单片机系统的Proteus设计与仿真、单片机软件和硬件基础知识、单片机内部资源应用与外部资源的扩展方法等。本书的定位是“教材+设计范例”,许多范例稍加修改即可用于实际项目设计。
本书特色
●全书的程序设计清单均配有与此程序相对应的Proteus格式的电路原理图,打开原理图文件, 点击“运行”按钮可以看到范例程序的仿真运行情况。
●Keil mVision3 IDE调试配合Proteus单片机仿真电路,为单片机产品研发提供了一个快速、灵活、经济的设计方法。对初学者来说,这使得单片机系统的开发为“零”成本。
●书中的范例多采用C语言作为编程教学语言,实用性较强。
本书提供电子教案及各章Proteus单片机仿真电路、相应源程序和工程文件,请登录华章网站(www.hzbook.com)下载。
目录
前言
第1章单片机系统概述1
11微处理器、微型计算机与单片机1
12单片机的结构与组成2
13单片机的分类和指标3
14单片机的发展趋势4
15常用的单片机系列5
16单片机的特点7
17单片机应用系统7
18单片机的应用领域8
本章小结9
习题19
第2章单片机应用系统的设计与开发
环境10
21单片机应用系统的设计步骤和方法10
211总体设计10
212硬件系统11
213软件系统12
22单片机应用系统开发的软硬件环境14
221单片机应用系统开发的软硬件
环境的构成14
222单片机应用系统开发工具选择
原则15
223使用JTAG界面单片机仿真开发
环境15
224单片机的在线编程16
23Keil C51高级语言集成开发环境
μVision3 IDE16
231μVision3 IDE主要特性16
232μVision3 IDE集成开发环境17
233μVision3 IDE的使用21
24基于Proteus的单片机系统仿真33
241Proteus 7 Professional界面介绍33
242绘制电路原理图35
243ProteusVSM与μVision3 IDE的
联调41
本章小结45
习题246
第3章80C51 单片机硬件基础知识47
31MCS51系列及80C51系列单片机
简介47
311MCS51系列和80C51系列
单片机47
31280C51系列单片机的命名规则48
31380C51系列单片机的选择特性51
3280C51系列单片机外引脚功能52
3380C51单片机内部结构55
331中央处理器CPU56
332存储器组织58
333并行输入/输出端口结构64
334时钟电路70
335复位电路72
34低功耗运行方式74
341电源控制寄存器PCON74
342待机方式75
343掉电方式75
3580C51单片机最小系统76
本章小结77
习题378
第4章80C51单片机软件基础知识79
4180C51单片机指令系统概述79
411指令的概念79
412指令系统说明80
41380C51指令系统助记符80
414指令系统中的特殊符号82
4280C51单片机寻址方式82
421寄存器寻址方式82
422直接寻址方式83
423寄存器间接寻址方式83
424立即寻址方式84
425变址间接寻址方式85
426相对寻址方式85
427位寻址方式85
4380C51单片机指令系统87
431数据传送类指令87
432算术运算类指令91
433逻辑运算类指令93
434控制转移类指令96
435位操作指令99
4480C51汇编语言程序设计102
441伪指令103
442汇编语言程序设计举例104
4580C51单片机C51程序设计语言105
451C51语言的标识符和关键字106
452C51编译器能识别的数据类型108
453变量的存储种类和存储器类型112
454绝对地址的访问115
455中断服务程序118
46C51语言的运算符和表达式119
461赋值运算符119
462算术运算符119
463关系运算符120
464逻辑运算符120
465位运算符120
466复合赋值运算符121
467指针和地址运算符121
47C51语言的库函数122
471本征库函数和非本征库函数122
472几类重要的库函数122
48C51语言的应用技巧126
本章小结129
习题4131
第5章80C51单片机内部资源及应用133
51中断系统和外部中断133
511中断技术概述133
51280C51单片机中断系统135
513C51语言中断服务函数140
514外部中断的应用示例142
52定时器/计数器143
521定时器/计数器0、1的结构及
工作原理144
522定时器/计数器0、1的四种工作
方式146
523定时器/计数器对输入信号的
要求151
524定时器/计数器0、1的编程和
应用示例152
525定时器/计数器2156
53串行通信159
531串行通信基础知识159
53280C51串行接口161
533应用示例169
本章小结174
习题5175
第6章单片机外部扩展资源及应用177
61单片机外部扩展资源和扩展编址技术
概述177
611单片机外部扩展资源分类177
612单片机系统扩展结构与编址
技术178
613单片机系统存储器扩展方法180
62并行I/O口扩展180
6218255可编程并行I/O接口
芯片180
622用74HC系列芯片扩展I/O
接口186
63大容量闪速存储器Flash的扩展188
631SuperFlash28SF040A简介188
63289C52单片机和28SF040A接口
方法190
64单片机系统中的键盘接口技术192
641键盘工作原理及消抖193
642独立式键盘工作原理193
643行列式键盘工作原理195
644键盘扫描的控制程序196
65单片机系统中的LED数码显示器199
651LED数码显示器的结构与
原理199
652静态显示200
653动态扫描显示201
66单片机系统中的LCD液晶显示器203
661字符型液晶显示模块的组成和
基本特点203
662LCD1602模块接口引脚功能204
663LCD1602模块的操作命令204
664LCD1602与89C52单片机接口与
编程208
67日历时钟接口芯片及应用211
671并行接口日历时钟芯片
DS12887211
672串行接口日历时钟芯片
DS1302216
68单片机数据采集系统222
681并行A/D转换器ADC0809222
682通用串行输出8位A/D转换器
TLC549225
69I2C总线接口电路EEPROM及
应用229
691串行EEPROM电路CAT24WCXX
概述230
692串行EEPROM芯片的操作231
693串行EEPROM芯片与89C52的
接口编程233
610RS-232C和RS-485/422通信
接口242
本章小结244
习题6245
第7章单片机系统设计示例247
71可编程控制器的硬件组成247
72可编程控制器的软件系统253
73可编程控制器PC机集成开发环境254
74可编程控制器监控程序C51语言部分
源程序清单256
本章小结264
附录A单片机选型指南265
附录B单片机及部分常用外围器件268
附录C指令速查表271
参考文献276