标题：单片机原理、应用与PROTEUS仿真
序言
现代计算机系统有两大分支：通用计算机系统和嵌入式计算机系统（简称嵌入式系统）。前者是人类的“智力平台”；后者是人类工具的“智力嵌入”。超大规模集成电路技术的发展推动众多企业为嵌入式系统提供了全面的芯片技术支持，如嵌入式微控制器、嵌入式微处理器、DSP、FPGA/CPLD、ASIC、SOC等。其中的“嵌入式微控制器”简称为“微控制器（MCU）”。
单片机就是“微控制器”，是嵌入式系统中重要且发展迅速的组成部分，充当主机角色。单片机接上振荡元件（如晶振）、复位电路和接口电路，载入软件后，则构成单片机应用系统。将它嵌入到形形色色的应用对象中，可成为众多产品、设备的智能化核心。单片机在国民经济各个领域中获得了愈来愈广泛的应用。单片机原理及应用的课程也成为高等学校重要的专业基础课或专业课。
本书分原理篇、应用篇和PROTEUS仿真篇，共15章。原理篇以“够用”为原则，讲练结合。应用篇以“实用”为目的，学用并举。仿真篇为单片机仿真教学实践提供了基础。
本书是作者长期从事单片机课程教学、单片机应用产品研发和创建单片机课程PROTEUS仿真教学的总结。本书为浙江省重点建设教材，其主要特点是：
1. 突出实践，突出实用，突出技能培养。书中有大量实例，它们来自单片机应用产品或产品中的相关部分。
2. 率先将先进的单片机系统设计与仿真平台PROTEUS引进教材中。书中有大量单片机系统的PROTEUS设计与仿真实例。单片机课程PROTEUS仿真教学实践证明：仿真教学是课程改革和提高教学质量的一条新路。
3. 将单片机产品开发过程的基本工具融于书中。按单片机应用产品研发过程讲解Keil软件调试仿真器、编程器、PROTEUS设计与仿真平台等开发工具。
4. 注意介绍单片机应用产品中应用广泛的技术与器件。例如：I2C总线、液晶显示、LED点阵显示、电动机控制、单片机与PC通信、开门狗、ISP在系统编程等技术；DS18B20、DS1302、ADC0831、24LC16B等器件。
5. 本书提供的程序都经过实践验证。本书以AT89C51单片机为主体来讲述单片机原理，它是性能优、应用广的与MCS-51兼容的单片机。
本书可作为普通高校本、专科和高等职业技术学院的“单片机原理与应用”课程教材；也可作为电类专业师生、单片机应用工程技术人员及单片机应用技术爱好者的参考书。目录中缀有*号的章节是高职、专科选用章节。
感谢浙江省绍兴托普信息职业技术学院、中北大学和浙江省慈溪市信息产业协会的大力支持。
感谢广州市风标电子技术有限公司（PROTEUS中国大陆总代理）匡裁华总经理、浙江省慈溪市迈思特电子科技有限公司方曙光董事长和浙江省宁波市阿拉丁电子科技有限公司徐国能总经理的大力支持。
本书第1～4、6章由张靖武编写，第5、7～15章和附录由周灵彬编写。全书由张靖武策划、统稿和定稿。
另外，王妹芳老师对本书练习进行了验算，学生应伟科制作了单片机课程教学实验板，学生吕秀兰为本书绘制了程序流程图。作者在此表示感谢。
由于作者水平有限，书中难免有错误和不妥之处，恳请读者批评指正。 

目录
第1章 概论1.1 嵌入式系统、单片机、AT89C51单片机
1.1.1 嵌入式系统、单片机
1.1.2 单片机发展概况
1.1.3 应用广泛的AT89系列单片机
1.2 单片机应用系统及其应用领域
1.2.1 单片机应用系统
1.2.2 单片机应用领域
1.3 单片机应用研发工具和教学实验装置
1.3.1 单片机软件调试仿真器
1.3.2 单片机仿真器
1.3.3 编程器和ISP在系统编程
1.3.4 单片机系统的PROTEUS设计与仿真平台
1.3.5 单片机课程教学实验装置
1.4 实训1：单片机研发工具、应用产品
1.4.1 单片机产品、常用安装工具
1.4.2 单片机应用产品
1.4.3 AT89C51单片机研发工具操作演示
练习与思考1
第2章 AT89C51单片机内部结构基础2.1 内部结构和引脚功能
2.1.1 内部结构框图和主要部件
2.1.2 引脚功能
2.2 时钟电路与复位电路
2.2.1 时钟电路
2.2.2 复位电路
2.3 存储器结构
2.3.1 存储器组成
2.3.2 程序存储器ROM
2.3.3 数据存储器RAM
2.4 实训2：单片机复位、晶振、ALE信号的观测
2.4.1 电路安装
2.4.2 信号观测
练习与思考2
第3章 AT89C51指令系统3.1 基本概念
3.1.1 指令、指令系统、机器代码
3.1.2 程序、程序设计、机器语言
3.1.3 汇编语言、汇编语言指令格式、常用符号
3.1.4 汇编（编译）和编程（固化）
3.2 指令寻址方式
3.2.1 寻址、寻址方式、寻址存储器范围
3.2.2 直接寻址
3.2.3 立即寻址
3.2.4 寄存器寻址
3.2.5 寄存器间接寻址
3.2.6 变址寻址
3.2.7 相对寻址
3.2.8 位寻址“bit”
3.3 汇编语言的指令系统
3.3.1 数据传送指令
3.3.2 算术运算类指令
3.3.3 逻辑运算指令
3.3.4 控制转移指令
3.3.5 位操作指令
3.4 实训3：软件调试仿真器Keil ?Vision及其应用（1）
3.4.1 Keil ?Vision快速入门
3.4.2 Keil的初步应用
习题与思考3第4章 AT89C51汇编语言程序设计4.1 伪指令、程序设计
4.1.1 伪指令
4.1.2 程序设计
4.1.3 程序结构
4.2 汇编语言程序设计举例
4.2.1 延时程序
4.2.2 查表程序
4.2.3 码制转换程序
4.2.4 数据排序程序
4.2.5 算术计算程序
4.3 实训4：软件调试仿真器Keil?Vision应用（2）
4.3.1 用Keil设计延时子程序并进行仿真调试和延时测量
4.3.2 用Keil设计分支结构程序并仿真调试
4.3.3 用Keil设计查表程序并仿真调试
习题与思考4第5章 AT89C51输入/输出口及其简单应用5.1 I/O口结构与工作原理
5.1.1 P1口
5.1.2 P3口
5.1.3 P2口
5.1.4 P0口
5.2 I/O口的负载能力
5.3 I/O口的简单应用
5.3.1 单片机控制的跑马灯
5.3.2 单片机控制数码管静态显示实验
5.3.3 单片机用开关控制LED显示实验
5.3.4 单片机用开关控制数码管显示实验
5.4 PROTEUS仿真
5.5 实训5：编程器使用和I/O口的简单应用
5.5.1 编程器使用初步
5.5.2 单片机I/O口简单应用实训
习题与思考5第6章 AT89C51中断系统与定时器/计数器6.1 中断系统
6.1.1 中断基本概念
6.1.2 中断系统结构
6.1.3 与中断控制有关的寄存器
6.1.4 中断过程
6.2 中断应用
6.2.1 中断初始化和中断服务程序
6.2.2 中断应用举例
6.3 定时器/计数器
6.3.1 定时器/计数器概述
6.3.2 定时器/计数器的控制
6.3.3 定时器/计数器的工作方式
6.3.4 定时器/计数器的计数容量及初值
6.4 定时器/计数器应用
6.4.1 定时器/计数器应用的基本步骤
6.4.2 定时器/计数器的应用举例
6.5 PROTEUS仿真
6.6 实训6：中断系统和定时器/计数器的综合应用
6.6.1 基于AT89C51的60s倒计时装置
*6.6.2 基于AT89C51的按键发声装置
习题与思考6
应 用 篇第7章 AT89C51单片机的存储器扩展技术7.1 用EPROM扩展单片机程序存储器
7.1.1 基础知识
7.1.2 扩展ROM电路设计
7.1.3 扩展ROM程序设计
7.1.4 运行与思考
7.1.5 片外ROM的操作时序
7.2 用SRAM扩展单片机数据存储器
7.2.1 基础知识
7.2.2 扩展RAM电路设计
7.2.3 扩展RAM程序设计
7.2.4 运行与思考
*7.2.5 片外RAM的操作时序
7.3 用E2PROM扩展单片机ROM、RAM
7.3.1 基础知识
7.3.2 E2PROM扩展ROM、RAM电路设计
7.3.3 E2PROM扩展ROM、RAM程序设计
7.3.4 运行与思考
*7.4 用串行E2PROM扩展单片机存储器
7.4.1 基础知识
7.4.2 串行E2PROM扩展存储器电路设计
7.4.3 串行E2PROM扩展存储器程序设计
7.4.4 运行与思考
7.4.5 串行E2PROM扩展存储器操作时序
7.5 PROTEUS 仿真
7.6 实训7：用SRAM 6264扩展单片机RAM实验
7.6.1 实训目的
7.6.2 实训内容第8章 AT89C51人机交互通道的接口技术8.1 单片机与LED数码管动态显示的接口技术
8.1.1 基础知识
8.1.2 接口电路设计
8.1.3 接口程序设计
8.1.4 运行与思考
*8.2 单片机与字符型LCD显示器的接口技术
8.2.1 基础知识
8.2.2 接口电路设计
8.2.3 接口程序设计
8.2.4 运行与思考
8.3 单片机与矩阵式键盘的接口技术
8.3.1 基础知识
8.3.2 接口电路设计
8.3.3 接口程序设计
8.3.4 运行与思考
8.4 单片机与BCD拨码盘的接口技术
8.4.1 基础知识
8.4.2 接口电路设计
8.4.3 接口程序设计
8.4.4 运行与思考
8.5 PROTEUS 仿真
8.6 实训8：单片机与矩阵式键盘的接口技术实验
8.6.1 实训目的
8.6.2 实训内容第9章 AT89C51单片机前向通道接口技术9.1 单片机与ADC0809（0808）的接口技术
9.1.1 基础知识
9.1.2 接口电路设计
9.1.3 接口程序设计
9.1.4 运行与思考
*9.2 单片机控制的水位检测的接口技术
9.2.1 基础知识
9.2.2 接口电路设计
9.2.3 接口程序设计
9.2.4 运行与思考
9.3 PROTEUS 仿真
9.4 实训9：单片机与ADC0809（0808）接口技术实验
9.4.1 实训目的
9.4.2 实训内容第10章 AT89C51后向通道接口技术10.1 单片机与DAC0832的接口技术
10.1.1 基础知识
10.1.2 接口电路设计
10.1.3 接口程序设计
10.1.4 运行与思考
10.2 单片机控制步进电动机的接口技术
10.2.1 基础知识
10.2.2 接口电路设计
10.2.3 接口程序设计
10.2.4 运行与思考
*10.3 单片机控制直流电动机的接口技术
10.3.1 基础知识
10.3.2 接口电路设计
10.3.3 接口程序设计
10.3.4 运行与思考
10.4 PROTEUS 仿真
10.5 实训10：单片机与DAC0832的接口技术实验
10.5.1 实训目的
10.5.2 实训内容第11章 AT89C51串行通信通道接口技术11.1 单片机之间的串行通信接口技术
11.1.1 基础知识
11.1.2 接口电路设计
11.1.3 接口程序设计
11.1.4 运行与思考
*11.2 单片机与PC间的通信接口技术
11.2.1 基础知识
11.2.2 接口电路设计
11.2.3 接口程序设计
11.2.4 运行与思考
11.3 PROTEUS 仿真
11.4 实训11：单片机之间通信的接口技术实验
11.4.1 实训目的
11.4.2 实训内容第12章 单片机的实际应用12.1 基于单片机和DS1302的电子时钟
12.1.1 功能与操作
12.1.2 应用电路设计
12.1.3 应用程序设计
12.1.4 技术要点
12.2 基于单片机的带存储播放功能的简易电子琴
12.2.1 功能与操作
12.2.2 应用电路设计
12.2.3 应用程序设计
12.2.4 技术要点
*12.3 基于单片机和DS18B20的数字温度计
12.3.1 功能与操作
12.3.2 电路设计
12.3.3 应用程序设计
12.3.4 技术要点
12.4 基于单片机控制的LED点阵显示屏
12.4.1 功能与操作
12.4.2 应用电路设计
12.4.3 应用程序设计
12.4.4 技术要点
*12.5 基于单片机的纯水机控制电路板设计
12.5.1 功能与操作
12.5.2 应用电路设计
12.5.3 应用程序设计
12.5.4 技术要点
12.6 PROTEUS 仿真
12.7 实训12: 制作基于单片机和DS1302的电子时钟
12.7.1 实训目的
12.7.2 实训内容
PROTEUS仿真篇第13章 单片机系统PROTEUS 设计与仿真基础13.1 PROTEUS ISIS窗口与基本操作
13.1.1 ISIS窗口
13.1.2 PROTEUS基本操作
13.2 单片机系统PROTEUS设计与仿真初步
13.2.1 PROTEUS电路设计
13.2.2 源程序设计和生成目标代码文件
13.2.3 仿真
13.2.4 调试窗口、带调试窗口的仿真调试
13.2.5 断点设置、带断点的仿真调试
13.2.6 用PROTEUS虚拟示波器观测信号
13.2.7 用PROTEUS高级图表仿真（ASF）观测信号第14章 原理篇实例的PROTEUS 设计与仿真14.1 单片机控制数码管静态显示的设计与仿真
14.2 单片机用开关控制LED显示实验的设计与仿真
14.3 单片机用开关控制数码管显示实验的设计与仿真
14.4 单片机外中断实验的设计与仿真
14.5 单片机中断优先级实验的设计与仿真
14.6 单片机中断优先权实验的设计与仿真
14.7 基于AT89C51的60秒倒计时装置的设计与仿真
*14.8 基于AT89C51的按键发声装置的设计与仿真第15章 应用篇实例的PROTEUS 设计与仿真*15.1 EPROM 27C64扩展单片机ROM的设计与仿真
15.2 SRAM 6264扩展单片机RAM的设计与仿真
*15.3 串行E2PROM 24LC16B扩展单片机存储器的 设计与仿真
15.4 单片机与LED数码管动态显示接口的设计与仿真
*15.5 单片机与字符型LCD显示器接口的设计与仿真
15.6 单片机与矩阵式键盘接口的设计与仿真
*15.7 单片机与BCD拨码盘的接口的设计与仿真
15.8 单片机与ADC0809（0808）接口的设计与仿真
15.9 单片机与DAC0832接口的设计与仿真
*15.10 单片机与直流电动机接口的设计与仿真
15.11 单片机控制步进电动机接口的设计与仿真
15.12 单片机之间的串行通信接口设计与仿真
*15.13 单片机与PC间的通信接口设计与仿真
15.14 基于单片机、DS1302的电子时钟的设计与仿真
15.15 带存储播放功能的简易电子琴的设计与仿真
*15.16 基于单片机、DS18B20的数字温度计的设计与仿真
15.17 基于单片机的LED点阵显示屏的设计与仿真
*15.18 基于单片机的纯水机控制板的设计与仿真附录附录A AT89S51相对AT89C51 增加的功能
附录A.1 AT89S51单片机内部结构、引脚图和特殊功能寄存器
附录A.2 增加功能的应用
附录B BCD码和ASCII码
附录B.1 8421 BCD码
附录B.2 BCD码运算
附录B.3 ASCII码
附录C AT89C系列单片机指令表参考文献……