第1章 概论 1
1.1嵌入式系统、单片机、AT89C51单片机 1
1.1.1嵌入式系统、单片机 1
1.1.2单片机发展概况 2
1.1.3应用广泛的AT89系列单片机 3
1.2单片机应用系统及其应用领域 4
1.2.1单片机最小系统和单片机应用系统 4
1.2.2单片机应用领域 5
1.2.3单片机应用系统中单片机类型的选择 6
1.3单片机应用研发工具和教学实验装置 9
1.3.1单片机软件调试仿真器 9
1.3.2单片机仿真器 9
1.3.3编程器和ISP在系统编程 9
1.3.4 PROTEUS EDA(电子设计自动化) 10
1.3.5单片机课程教学实验装置 10
1.4 PROTEUS ISIS电路设计基础(1) 11
1.4.1 PROTEUS ISIS窗口 11
1.4.2 PROTEUS可视化助手 13
1.4.3 PROTEUS设计文件操作 14
1.4.4 PROTEUS元件操作 15
实训1:PROTEUS ISIS的文件操作与元件操作 17
练习与思考1 18
第2章 AT89C51内部结构基础 19
2.1内部结构和引脚功能 19
2.1.1内部结构框图和主要部件 19
2.1.2引脚功能 20
2.2时钟电路与复位电路 21
2.2.1时钟电路 21
2.2.2复位电路 23
2.3存储器结构 25
2.3.1存储器组成 25
2.3.2程序存储器ROM 25
2.3.3数据存储器RAM 26
2.3.4两种省电工作方式 31
2.4 I/O(输入/输出)口结构、功能及负载能力 31
2.4.1 I/O口结构 31
2.4.2 I/O口功能 33
2.4.3 I/O口的负载能力 35
2.5 PROTEUS ISIS电路设计基础(2) 36
2.5.1 PROTEUS电气连线操作 36
2.5.2 PROTEUS总线、标签操作 37
2.5.3终端操作 38
2.5.4对象属性设置(Edit Properties) 39
实训2: AT89C51最小系统的PROTEUS设计与制作 40
练习与思考2 41
第3章 AT89C51指令系统 43
3.1基本概念 43
3.1.1指令、机器代码、程序、机器语言 43
3.1.2汇编语言、汇编语言指令格式、常用符号 43
3.1.3汇编(编译)和编程(固化) 48
3.2指令寻址方式 49
3.2.1寻址、寻址方式、寻址存储器范围 49
3.2.2直接寻址 49
3.2.3立即寻址 50
3.2.4寄存器寻址 50
3.2.5寄存器间接寻址 50
3.2.6变址寻址 51
3.2.7相对寻址 52
3.2.8位寻址“bit” 52
3.3汇编语言的指令系统 53
3.3.1数据传送指令 53
3.3.2算术运算指令 58
3.3.3逻辑运算指令 64
3.3.4控制转移指令 67
3.3.5位操作指令 73
3.4 PROTEUS源程序设计、仿真和仿真调试基础 73
3.4.1PROTEUS汇编语言程序设计、汇编、仿真 73
3.4.2 PROTEUS调试窗口、调试按钮和仿真调试 77
3.4.3汇编语言指令功能的PROTEUS仿真调试、查看和验证 82
实训3:“键控LED显示装置”的PROTEUS设计、仿真与制作 82
习题与思考3 84
第4章 AT89C51汇编语言程序设计 87
4.1程序设计流程图及程序结构 87
4.1.1程序设计流程图 87
4.1.2程序结构 89
4.2汇编语言程序设计举例及其仿真调试 95
4.2.1延时程序 95
4.2.2查表程序 96
4.2.3码制转换程序 97
4.2.4数据排序程序 99
4.2.5算术计算程序 100
4.3单片机应用系统PROTEUS设计与仿真举例 103
4.3.1跑马灯的PROTEUS设计与仿真 103
4.3.2简易LED数字显示装置的PROTEUS设计与仿真 105
实训4:“显示0.9的数显装置”的PROTEUS设计、仿真与制作 108
习题与思考4 109
第5章 AT89C51中断系统 111
5.1中断系统 111
5.1.1中断基本概念 111
5.1.2中断系统结构 111
5.1.3与中断控制有关的寄存器 113
5.1.4中断过程 116
5.1.5有中断的单片机应用程序的编程要点 118
5.2中断应用实例及其PROTEUS设计与仿真 119
5.2.1外中断(INTO)实验装置 119
5.2.2中断优先级实验装置 123
实训5:“扩展中断源装置”的PROTEUS设计、仿真与制作 126
习题与思考5 128
第6章 定时器/计数器 130
6.1定时器/计数器基础 130
6.1.1定时器/计数器概述 130
6.1.2定时器/计数器的控制 131
6.1.3定时器/计数器的工作方式 132
6.1.4定时器/计数器的计数容量及初值 134
6.2定时器/计数器应用 135
6.2.1定时器/计数器应用的基本步骤 135
6.2.2定时器/计数器应用举例 135
6.3定时器/计数器应用实例及其PROTEUS设计、仿真 141
6.3.1基于AT89 C51的60s倒计时装置 141
6.3.2基于AT89 C51的按键发声装置 144
实训6:“简易跑表”的PROTEUS设计、仿真与制作 147
习题与思考6 150
第7章 AT89C51人机交互通道接口技术 151
7.1项目1:单片机与数码管动态显示的接口技术 151
7.1.1基础知识 151
7.1.2“数码管动态显示装置”电路设计和程序设计 152
7.1.3“数码管动态显示装置”PROTEUS设计、仿真、调试 153
7.1.4“数码管动态显示装置”实际制作、运行、思考 154
7.2项目2:单片机与LCD液晶显示器的接口技术 155
7.2.1基础知识 155
7.2.2“字符型液晶显示装置”电路设计和程序设计 158
7.2.3“字符型液晶显示装置”PROTEUS设计、仿真、调试 160
7.2.4“字符型液晶显示装置”实际制作、运行、思考 161
7.3项目3:单片机与矩阵式键盘的接口技术 161
7.3.1基础知识 162
7.3.2“矩阵式键盘接口装置”电路设计和程序设计 163
7.3.3“矩阵式键盘接口装置”PROTEUS设计、仿真、调试 165
7.3.4“矩阵式键盘接口装置”实际制作、运行、思考 166
第8章 AT89C51后向通道接口技术 167
8.1项目4:“简易信号发生器”的接口技术 167
8.1.1基础知识 167
8.1.2“简易信号发生器”电路设计和程序设计 172
8.1.3“简易信号发生器”PROTEUS设计、仿真、调试 173
8.1.4“简易信号发生器”实际制作、运行、思考 174
8.2项目5: AT89C51控制步进电动机的接口技术 175
8.2.1基础知识 175
8.2.2“控制步进电动机装置”电路设计和程序设计 177
8.2.3“控制步进电动机装置”PROTEUS设计、仿真、调试 179
8.2.4“控制步进电动机装置”实际制作、运行、思考 179
第9章 AT89 C51前向通道接口技术 181
9.1项目6:“简易数字电压表”的设计与制作 181
9.1.1基础知识 181
9.1.2“简易数字电压表”电路设计和程序设计 183
9.1.3“简易数字电压表”PROTEUS设计、仿真、调试 184
9.1.4“简易数字电压表”实际制作、运行、思考 185
9.2项目7: AT89C51控制直流电动机的接口技术 186
9.2.1基础知识 186
9.2.2“控制直流电动机装置”电路设计和程序设计 187
9.2.3“控制直流电动机装置”PROTEUS设计、仿真、调试 190
9.2.4“控制直流电动机装置”实际制作、运行、思考 190
第10章 AT89 C51串行通信通道接口技术 192
10.1项目8:AT89C51间串行通信的接口技术 192
10.1.1基础知识 192
10.1.2 “AT89C51间通信接口装置”电路设计与程序设计 195
10.1.3 “AT89C51间通信接口装置”PROTEUS设计、仿真、调试 199
10.1.4 “AT89C51间通信接口装置”实际制作、运行、思考 200
10.2项目9:AT89C51与PC间通信的接口技术 200
10.2.1基础知识 201
10.2.2 “AT89C51与PC间通信接口”电路设计和程序设计 203
10.2.3 “AT89C51与PC间通信接口”PROTEUS设计、仿真、调试 205
10.2.4 “AT89C51与PC间通信接口”实际制作、运行、思考 206
第11章 AT89 C51单片机的实际应用 208
11.1项目10:基于单片机的简易电子琴 208
11.1.1功能与操作 208
11.1.2电路设计和程序设计 208
11.1.3技术要点 210
11.1.4 PROTEUS设计、仿真、调试 210
11.1.5实际制作 211
11.2项目11:基于单片机和DS1302的电子时钟 211
11.2.1功能与操作 211
11.2.2电路设计和程序设计 212
11.2.3技术要点 219
11.2.4 PROTEUS设计、仿真、调试 220
11.2.5实际制作 220
11.3项目12:单片机控制LED点阵显示屏 221
11.3.1功能与操作 221
11.3.2电路设计和程序设计 221
11.3.3技术要点 223
11.3.4 PROTEUS设计、仿真、调试 224
11.3.5实际制作 225
附录A AT89S51相对AT89C51增加的功能 226
A.1 AT89S51单片机内部结构、引脚图和特殊功能寄存器 226
A.2增加功能的应用 228
附录B BCD码和ASCII码 233
B.1 8421 BCD码 233
B.2 BCD码运算 233
B.3 ASCII码 234
附录C AT89C系列单片机指令表 236
附录D 编程器使用初步 240
参考文献 243