第1章 绪论 1
1.1 学习单片机理论知识和开发技术的现实意义 1
1.2 单片机究竟是什么 5
1.3 单片机有哪些应用 7
1.4 单片机有哪些特点 8
1.5 单片机的发展状况 9
1.6 本教程的写作思路和目标 12
1.7 常用专业术语 13
1.7.1 硬件方面 14
1.7.2 软件方面 17
1.8 EM78P447S单片机的性能特点 18
思考与练习题 19
第2章 EM78P447S硬件系统概况 21
2.1 EM78P447S的引脚功能 21
2.2 EM78P447S内部结构 22
2.2.1 核心区域的单元电路及其功能 24
2.2.2 功能部件及其功能 25
2.2.3 外设模块及其功能 26
2.3 程序存储器ROM和硬件堆栈 26
2.4 数据存储器RAM 27
2.4.1 通用寄存器 29
2.4.2 专用寄存器 29
2.5 输入/输出端口模块 30
2.5.1 与输入/输出端口基本功能相关的寄存器 31
2.5.2 输入/输出端口的内部结构和工作原理 31
思考与练习题 34
第3章 指令系统 36
3.1 EM78P447S指令的执行时序 36
3.2 EM78P447S指令概述 37
3.2.1 指令结构 37
3.2.2 指令描述方法 37
3.3 EM78P447S指令说明 38
3.4 EM78P447S指令中操作数的寻址方式 50
3.4.1 立即寻址 50
3.4.2 直接寻址 51
3.4.3 间接寻址 51
3.4.4 隐含寻址 53
3.4.5 比特寻址(或位寻址) 53
3.5 以累加器A为中枢的数据传递方式 53
3.6 “CPU内核-专用寄存器-模块或部件”三者相互关系 54
思考与练习题 56
第4章 汇编器MASM78和汇编程序设计基础 58
4.1 汇编语言的语句格式 59
4.2 常用伪指令 60
4.3 程序书写格式 62
4.4 程序流程图 63
4.5 顺序程序结构 64
4.6 分支程序结构 65
4.7 循环程序结构 66
4.8 子程序结构 67
4.9 延时程序的设计方法 69
4.10 查表程序的设计方法 71
4.11 工作寄存器体选寻址的处理方法 75
4.12 程序跨页跳转和跨页调用的处理方法 76
4.13 汇编器MASM78的应用 78
思考与练习题 80
第5章 软硬件模拟器SIM447及其应用 82
5.1 软硬件模拟器简介 82
5.1.1 硬件仿真器 82
5.1.2 软件模拟器 83
5.1.3 软硬件模拟器SIM447 83
5.2 SIM447的安装与启用 84
5.2.1 安装条件 84
5.2.2 安装方法 84
5.2.3 首次启用 85
5.2.4 画面介绍 86
5.3 初次体验程序的运行 86
5.4 SIM447系统命令 91
5.5 虚拟电路组件及其应用 105
5.5.1 电路组件及其与单片机的连接关系 105
5.5.2 开发应用和编程方法 112
思考与练习题 142
第6章 视窗版集成模拟环境软件包 144
6.1 Simulator功能简介 144
6.2 Simulator如何下载 144
6.3 Simulator如何安装 149
6.4 Simulator如何启动和退出 152
6.4.1 Simulator的启动 152
6.4.2 Simulator工作环境简介 154
6.4.3 Simulator工作窗口布局方法 154
6.4.4 Simulator的退出 156
6.5 Simulator如何应用 156
6.5.1 如何创建一个新项目 157
6.5.2 如何在项目中添加、创建或删除文件 158
6.5.3 如何建立目标文件 161
6.5.4 如何调试程序 164
6.6 Simulator系统命令汇总归纳 176
6.6.1 工具栏(Tool bar) 176
6.6.2 系统命令归纳 176
思考与练习题 190
第7章 在线实时仿真器和集成开发环境 192
7.1 E8-ICE仿真设备简介 192
7.2 EM78447ICE-WR开发设备简介 196
7.3 集成开发环境软件包WICE 201
7.4 如何获取WICE 212
7.5 如何安装和拆除WICE 217
7.6 仿真器与WICE如何配合使用 220
7.6.1 仿真器的安装和设置 220
7.6.2 WICE的启动 221
7.6.3 WICE的退出 224
7.7 如何应用仿真器和WICE统调目标程序和电路 224
7.7.1 项目开发流程 225
7.7.2 程序调试举例 226
思考与练习题 233
第8章 定时器/计数器TCC 234
8.1 定时器/计数器模块的基本用途 234
8.2 EM78系列单片机中定时器/计数器TCC模块的特性 234
8.3 定时器/计数器TCC相关的寄存器 235
8.4 定时器/计数器TCC模块的电路结构和工作原理 237
8.4.1 分频器 239
8.4.2 TCC累加计数寄存器 240
8.5 定时器/计数器TCC模块的应用举例 241
8.5.1 TCC用做硬件定时器 241
8.5.2 TCC用做硬件计数器 248
思考与练习题 258
第9章 中断功能 259
9.1 中断的基本概念 259
9.2 EM78P447S的中断源和中断逻辑 261
9.3 中断相关的寄存器 263
9.4 中断的处理 264
9.4.1 中断的延时处理问题 265
9.4.2 中断的现场保护问题 265
9.4.3 需要注意的一些问题 268
9.5 中断功能的应用举例 269
9.5.1 TCC溢出中断 269
9.5.2 INT外部中断 276
9.6 外部中断的扩充方法 285
9.6.1 用TCC外部时钟源扩展法 285
9.6.2 用P6端口扩展法 286
思考与练习题 288
第10章 系统配置方法和可靠运行措施 290
10.1 系统配置字单元 290
10.1.1 系统配置位 290
10.1.2 用户识别码ID位 291
10.2 时钟系统 292
10.2.1 外接晶体振荡器/陶瓷谐振器(HXT和LXT) 292
10.2.2 外接阻容器件(ERC) 293
10.2.3 引入外来时钟源(HXT和LXT) 295
10.3 复位系统 296
10.3.1 几种不同的复位方式 296
10.3.2 单片机内部复位的操作处理 296
10.3.3 复位系统硬件逻辑 300
10.3.4 内部上电延时复位功能 301
10.3.5 外部上电延时复位电路 302
10.3.6 外部人工复位开关电路 303
10.3.7 外接电压检测复位电路举例 304
10.4 监视定时器WDT 307
10.4.1 程序失控的回复 308
10.4.2 WDT的电路结构 310
10.4.3 WDT的工作原理 311
10.4.4 WDT相关寄存器 311
10.4.5 使用WDT的注意事项 313
10.4.6 WDT的应用举例 314
思考与练习题 319
附录A 英文指令一览表 320
附录B ASCII码表 322
附录C 典型算术例程7款 324
附录D 电压检测器HT70XX系列专用芯片 332
附录E 带延时复位功能的电源监控器IMP809/810 338
附录F 带延时和人工复位的电源监控器IMP811/812 343
附录G 带延时、人工复位及电源故障检测的电压监测器MAX707/708 348
参考文献 353