第一部分M68HC11 结构与原理 3
1MOtorola单片机 3
1.1概述 3
1.1.1 Motorola单片机发展概况 3
目 录 3
1.1.2 Motorola单片机结构特点 4
1.2 M68HC11系列单片机 5
1.2.1 M68HC11产品系列 5
1.2.2 MC68HC11E9特性 6
1.2.3 MC68HC11E9单片机引脚说明 8
1.3 Motorola 32位单片机 14
1.3.1中央处理器(CPU32) 15
1.3.4系统集成模块(SIM) 16
1.3.2定时处理器(TPU) 16
1.3.3串行队列模块(QSM) 16
1.3.5 RAM 17
2系统配置与工作方式 19
2.1 系统配置 19
2.1.1 配置寄存器CONFIG 19
2.1.2 CONFIG寄存器的编程与擦除 20
2.2工作方式选择 21
2.3 M68HC11的工作方式 23
2.3.1普通单片工作方式 23
2.3.2普通扩展工作方式 23
2.3.3特殊自举方式 27
2.3.4特殊测试方式 28
3.1 CPU寄存器 31
3中央处理器(CPU)与片上存储器 31
3.1.1 累加器A、B和双累加器D 32
3.1.2变址寄存器X、Y 32
3.1.3栈指针SP 32
3.1.4程序计数器PC 33
3.1.5条件码寄存器CCR 33
3.2片上存储器 34
3.2.1存储器分布 34
3.2.2 RAM和INIT寄存器 35
3.2.3 ROM 37
3.2.4 EEPROM 37
3.3.1 WAIT方式 39
3.3 M68HC11 CPU的低功耗方式 39
3.3.2 STOP方式 40
4复位和中断 41
4.1复位 41
4.1.1 M68HC11的系统初始化条件 41
4.1.2复位形式 43
4.2 中断 48
4.2.1 条件码寄存器CCR中的中断屏蔽位 48
4.2.2中断优先级与中断矢量 49
4.2.3非屏蔽中断 52
4.2.4实时中断 53
4.2.5中断处理过程 56
5.1.1立即寻址(IMM) 59
5 M68HC11指令系统 59
5.1 M68HC11寻址方式 59
5.1.2 扩展寻址(EXT) 60
5.1.3 直接寻址(DIR) 60
5.1.4 变址寻址(INDX、INDY) 61
5.1.5 固有寻址(INH) 62
5.1.6 相对寻址(REL) 62
5.1.7前置字节 63
5.2 M68HC11指令系统 63
5.2.1 累加器和存储器指令 63
5.2.2栈和变址寄存器指令 68
5.2.3条件码寄存器指令 69
5.2.4程序控制指令 70
6.1 概述 73
6输入与输出 73
6.2并行I/O口 74
6.2.1并行I/O寄存器 74
6.2.2应答I/O子系统 76
6.3 串行通信接口SCI 82
6.3.1基本特性 83
6.3.2数据格式 83
6.3.3 SCI硬件结构 84
6.3.4 SCI寄存器 86
6.4 串行外围接口SPI 92
6.4.1 SPI特性 92
6.4.2 SPI引脚信号 92
6.4.3 SPI结构 93
6.4.4 SPI寄存器 95
6.4.5SPI系统与外部设备进行串行数据传输 99
7定时器系统与脉冲累加器 105
7.1概述 105
7.2循环计数器 107
7.2.1时钟分频器 107
7.2.2计算机正常工作监视功能 110
7.2.3定时器标志的清除 110
7.3输入捕捉功能 111
7.3.1概述 111
7.3.2 定时器输入捕捉锁存器(TIC1、TIC2、TIC3) 112
7.3.4输入捕捉中断 113
7.3.3输入信号沿检测逻辑 113
7.4输出比较功能 114
7.4.1概述 114
7.4.2输出比较功能使用的寄存器 116
7.4.3输出比较示例 118
7.5脉冲累加器 119
7.5.1概述 119
7.5.2脉冲累加器控制和状态寄存器 121
8A/D转换系统 125
8.1 电荷重新分布技术与逐次逼近算法 125
8.1.1基本电路 125
8.1.2 A/D转换逐次逼近算法原理 130
8.2.1逐次逼近A/D转换器 131
8.2 M68HC11中A/D转换的实现方法 131
8.2.2控制寄存器 132
8.2.3系统控制逻辑 135
9单片机的内部操作 137
9.1用立即寻址方式使两数相加 137
9.2用扩展寻址方式使两数相加并存和 140
9.3用变址寻址和相对寻址方式加一个数表 142
第二部分 M68HC11 EVB性能评估板 152
10M68HC11 EVB性能评估板原理与技术特性 152
10.1 M68HC11 EVB的硬件结构 152
10.1.1 M68HC11 EVB的组成 152
10.1.2硬件配置 154
10.2 M68HC11 EVB监控程序 161
10.2.1 BUFFALO监控程序的内核 162
10.2.2中断矢量 164
10.2.3操作 165
10.2.4监控命令 169
10.2.5汇编/反汇编示例 180
10.2.6装入过程 183
10.2.7 Kermit程序 184
10.3 S-记录 186
10.3.1 S-记录内容 186
10.3.2 S-记录类型 186
10.3.3 S-记录示例 187
1.1.1 用Kermit使EVB与IBM-PC连接 189
1.1 EVB和BUFFALO监控命令练习 189
11M68HC11 EVB的应用 189
11.1.2显示和修改存储器内容 190
11.1.3观察存储器中的BUFFALO监控程序并反汇编 191
11.2输入并执行机器语言代码 192
11.2.1输入一个简单的程序 192
11.2.2显示输入的内容 192
11.2.3运行程序 192
11.2.4修改程序 193
11.2.5单步执行程序指令 193
11.3 练习使用BUFFALO行汇编程序,设置断点 194
11.3.1 用BUFFALO行汇编(ASM)输入一个用户程序 194
11.3.2使用断点 195
11.4程序的编辑、汇编与装入 197
11.4.1 编辑程序(RED) 198
11.4.2 AS11汇编程序 198
11.4.3 装入到EVB 199
第三部分 M68HC11的开发与应用 203
12基本编程练习 203
12.1累加器与寻址方式 203
12.1.1 概述 203
12.1.2固有寻址练习 205
12.1.3立即寻址练习 205
12.1.4直接寻址练习 205
12.1.5双累加器D和应用 206
12.2.1条件码寄存器CCR 207
12.2条件码寄存器,相对寻址方式和扩展寻址方式 207
12.2.2相对寻址方式 210
12.2.3转移指令 212
12.2.4扩展寻址方式 212
12.2.5多位加法 213
12.2.6多位乘法 215
12.3 BCD码、变址寻址方式、移位操作 216
12.3.1 BCD码 216
12.3.2变址寻址方式 216
12.3.3移位指令 219
12.4.1栈的概念 221
12.4.2栈在执行子程序和中断服务程序时的应用 221
12.4栈及其应用 221
1 2.4.3示例 222
13M68HC11程序设计 227
13.1快餐食品售货器原理 227
13.2有限状态机模型 228
13.3快餐食品售货器有限状态机模型 230
13.4有限状态机算法 231
14M68HC11与外部的接口与实验 238
14.1 并行I/O口实验 238
14.1.1概述 238
14.1.2观察口 B、口C的输出 238
14.1.3 口B与发光二极管LED的连接 239
14.1.4键盘接口 240
14.2.1查询与中断 244
14.2中断实验 244
14.2.2 中断处理过程 245
14.2.3中断矢量示例 247
14.2.4可屏蔽中断与非屏蔽中断实验 247
14.3 A/D转换实验 249
14.3.1概述 249
14.3.2单通道非扫描测量实验 250
14.3.3单通道扫描测量实验 252
14.4定时器系统实验 255
14.4.1 利用定时器系统的输入捕捉功能测量一个输入矩形波的周期 255
14.4.2利用定时器系统的输入捕捉功能测量输入矩形波的脉冲宽度 258
14.4.3利用定时器系统的输出比较功能产生一个方波信号 261
14.4.4 用定时器输出比较功能生成一个PWM矩形波信号 263
1 5.1.1 简介 267
15.1.2步进电机的转动方向与转速 267
15接口设计及应用 267
15.1步进电机接口设计 267
15.2全应答方式的并行I/O通信 274
15.2.1并行传输协议 274
15.2.2从一个终端向另一个终端传输数据的程序 276
附 录 279
附录1 ASCII码表 279
附录2 M68HC11A8的寄存器和控制位 280
附录3 MC68HC11E9的指令系统、寻址方式及执行时间 282
附录4 BUFFALO监控的部分子程序 290
主要参考资料 291