第1章 单片机概要 1
1.1 单片机发展概况 1
1.2 松下AM单片机简介 2
1.3 松下AM1系列单片机 4
1.3.1 特点 4
1.3.2 内部框图 5
1.3.3 Flash单片机 5
1.3.4 开发工具 6
1.3.5 应用举例 7
习题 9
第2章 CPU结构与指令系统 10
2.1 CPU概述 10
2.2 CPU寄存器 12
2.3 存储空间 13
2.4 存储体功能 17
2.5 总线接口 18
2.6 运行方式 20
2.7 时钟切换 23
2.8 ROM校正 23
2.9 复位 27
2.10 指令系统 28
2.10.1 寻址方式 28
2.10.2 指令系统 29
习题 36
3.1 概述 37
3.2 程序的元素 37
第3章 汇编语言 37
3.2.1 语句 38
3.2.2 常数 38
3.2.3 表达式 38
3.3 汇编指令 39
3.3.1 段和地址定位指令 40
3.3.2 数据定义指令 42
3.3.3 汇编清单指令 44
3.3.4 其他指令 45
3.4 汇编控制指令 46
3.4.1 包含语句 46
3.4.2 定义语句 46
3.4.3 条件汇编 47
3.5.1 宏定义和宏调用 48
3.5 宏汇编指令 48
3.5.2 局部符号定义 49
3.5.3 重复扩展 50
3.6 汇编程序例 52
习题 53
第4章 中断 54
4.1 概述 54
4.1.1 中断操作 56
4.1.2 中断标志设置 59
4.2 中断控制寄存器 60
4.3 外部中断 64
4.3.1 外部中断接口框图 64
4.3.2 外部中断控制寄存器 65
4.3.3 外部中断编程示例 69
4.3.4 噪声滤波与过零检测中断 70
习题 72
第5章 I/O端口 73
5.1 概述 73
5.2 端口0 77
5.3 端口1 80
5.4 端口2 82
5.5 端口3 83
5.6 端口4 86
5.7 端口5 86
5.8 端口6和端口7 88
5.9 端口8 91
5.11 端口C 92
5.10 端口A 92
5.12 端口D 93
5.13 实时输出控制(端口1) 95
习题 96
第6章 定时器 97
6.1 预分频器 97
6.1.1 概述 97
6.1.2 预分频器控制寄存器 99
6.1.3 预分频器设置举例 100
6.2 8位定时器 100
6.2.1 8位控制寄存器 101
6.2.2 8位定时器操作 106
6.2.3 8位事件计数 108
6.2.4 8位定时器脉冲输出 110
6.2.5 8位PWM输出 111
6.2.6 8位定时器同步输出 113
6.2.7 串行接口传送时钟的输出 114
6.2.8 定时器级联 115
6.2.9 遥控载波输出 117
6.3 16位定时器 118
6.3.1 16位定时器控制寄存器 120
6.3.2 16位定时器计数 122
6.3.3 16位事件计数 123
6.3.4 16位定时器脉冲输出 125
6.3.5 16位标准PWM输出 126
6.3.6 16位高精度PWM输出 128
6.3.7 16位定时器同步输出 129
6.3.8 16位定时器输入俘获 130
6.4 时基定时器/8位自由运行定时器 132
6.4.1 8位自由运行定时器 134
6.4.2 时基定时器 135
6.5 监视定时器 136
6.6 蜂鸣器 139
习题 141
第7章 串行接口 142
7.1 串行接口0 142
7.1.1 串行接口0控制寄存器 143
7.1.2 时钟同步串行接口 145
7.1.3 串行通信引脚设置 150
7.1.4 时钟同步串行通信设定示例 152
7.1.5 通用异步收发接口UART 154
7.1.6 UART通信引脚设置 158
7.1.7 UART串行通信设定示例 159
7.2 串行接口1 161
7.2.1 串行接口1控制寄存器 162
7.2.2 时钟同步串行接口 165
7.2.3 串行通信引脚设置 166
7.2.4 时钟同步串行通信设定示例 167
7.2.5 通用异步收发接口UART 169
7.2.6 UART通信引脚设置 171
7.2.7 UART串行通信发送设定示例 173
7.2.8 UART串行通信接收设定示例 174
7.2.9 IC卡通信 175
7.2.10 IC卡通信引脚设置 178
7.2.11 IC卡通信设置示例 180
7.3 串行接口2 183
7.3.1 串行接口2控制寄存器 183
7.3.2 时钟同步串行接口2操作 183
7.3.3 串行通信引脚设置 186
7.3.4 时钟同步串行通信设定示例 188
7.4 串行接口3 190
7.4.1 串行接口3控制寄存器 190
7.4.2 时钟同步串行接口3操作 192
7.4.3 串行通信引脚设置 194
7.4.4 时钟同步串行通信设定示例 196
7.4.5 单主机IIC接口 198
7.4.6 IIC通信引脚设置 201
7.4.7 IIC串行通信设置示例 203
习题 204
第8章 自动传送控制器 206
8.1 ATC1的基本功能和框图 206
8.2 数据自动传送控制寄存器 209
8.3 数据自动传送基本操作和设置 210
8.3.1 数据自动传送基本操作和时序 210
8.3.2 存储地址设置 211
8.3.3 数据传送计数设置 212
8.3.4 数据传送方式设置 212
8.4 传送方式 213
8.4.1 传送方式0和传送方式1 213
8.4.2 传送方式2和传送方式3 213
8.4.3 传送方式4和传送方式5 214
8.4.5 传送方式8和传送方式9 215
8.4.4 传送方式6和传送方式7 215
8.4.6 传送方式A和传送方式B 216
8.4.7 传送方式C和传送方式D 217
8.4.8 传送方式E和传送方式F 217
8.5 数据自动传送设置示例 218
习题 219
第9章 模数与数模转换器 220
9.1 AD转换与其控制寄存器 220
9.2 AD转换器的使用 222
9.2.1 设置 223
9.2.2 AD转换设置示例 225
9.2.3 注意事项 227
9.3 DA转换与其控制寄存器 227
9.4 DA转换操作 229
习题 230
第10章 嵌入式单片机应用系统设计与实践 231
10.1 概述 231
10.2 硬件系统设计 232
10.2.1 硬件设计分析 232
10.2.2 硬件电路设计 234
10.3 软件系统设计 239
10.3.1 软件设计分析 239
10.3.2 软件模块设计 240
10.4 系统调试 247
习题 250
11.1 嵌入式实时操作系统μC/OS-Ⅱ概述 251
第11章 嵌入式实时操作系统的移植 251
11.2 实时操作系统的一些基本概念 253
11.3 移植μC/OS-Ⅱ 255
11.3.1 移植前的准备 257
11.3.2 重新定义内核大小和功能 257
11.3.3 编写与硬件相关的代码 261
11.3.4 计算μC/OS-Ⅱ占用的RAM资源 266
11.4 μC/OS-Ⅱ在MN101C上的移植 266
11.4.1 编写硬件相关的代码 266
11.4.2 重新定义内核大小 274
11.4.3 编写用户任务 276
习题 278
12.1.1 特点 279
12.1.2 额定参数 279
12.1 概要 279
第12章 AM Starter Kit 279
12.1.3 系统框图 280
12.1.4 产品说明 280
12.2 STOP WATCH 281
12.2.1 STOP WATCH说明 281
12.2.2 STOP WATCH分析 282
12.2.3 程序框图及程序 284
12.3 对时 285
12.3.1 对时程序说明 285
12.3.2 对时程序分析 286
12.3.3 程序框图及程序 287
12.4 轮盘游戏 289
12.4.1 轮盘游戏说明 289
12.4.2 轮盘游戏分析 290
12.4.3 程序框图及程序 291
12.5 老虎棋游戏 292
12.5.1 老虎棋游戏说明 292
12.5.2 老虎棋游戏分析 293
12.5.3 程序框图及程序 294
12.6 串行通信样例1 295
12.6.1 串行通信样例1说明 295
12.6.2 串行通信样例1分析 296
12.6.3 程序框图及程序 300
12.7 串行通信样例2 301
12.7.1 串行通信样例2说明 301
12.7.2 串行通信样例2分析 302
12.7.3 程序框图及程序 304
附录A MN101引脚说明 306