第一章 引言 1
1.1 特征 1
1.2 一般描述 1
1.3 编程者的模式 2
1.4 M68HC11系列概述 3
第二章 信号描述与工作方式 5
2.1 信号引脚描述 5
2.1.1 电源输入端(VDD)和地线(VSS) 5
2.1.2 复位(RESET)端 5
2.1.3 晶体驱动和外部时钟输入端(XTAL,EXTAL) 5
2.1.4 E进钟输出端(E) 5
2.1.5 中断请求端(IRQ) 6
2.1.6 非屏蔽中断请求端(XIRQ) 6
2.1.7 方式A/装入指令寄存器(MODA/LIR)和方式B/备用电源MODB/VsiBV 6
2.1.8 A/D转换器的参考电压(VRL,VRH) 7
2.1.9 选通B和读/写端(STRB/R/W) 7
2.1.10 选通A和地址选通信号(STRA/AS) 7
2.1.11 口引脚 7
2.1.11.1 A口 8
2.1.11.2 B口 8
2.1.11.3 C口 8
2.1.11.4 D口 8
2.1.11.5 E口 8
2.2 工作方式 9
2.2.1 单片工作方式 10
2.2.2 扩展工作方式 10
2.2.3 特殊自引导工作方式 10
2.2.4 另外的自引导装入程序方式 11
2.2.5 特殊测试工作方式 12
第三章 片内存储器 13
3.1 存储器映射 13
3.2 RAM和I/O映像寄存器(INIT) 16
3.3 ROM 17
3.4 RAM 17
3.5 EEPROM 17
3.5.1 EEPROM编程控制寄存器(PPROG) 18
3.5.2 编程/擦除内部的EEPROM 19
3.5.2.1 读 19
3.5.2.2 编程 19
3.5.2.3 块擦除 19
3.5.2.4 行擦除 20
3.5.2.5 字节擦除 20
3.5.3 系统设置寄存器(CONFIG) 20
3.5.3.1 CONFIG寄存器的编程和擦除 21
3.5.3.2 设置机构的操作 22
第四章 并行I/O 23
4.1 通用I/O口(PC口和PD口) 23
4.2 固定方向I/O口(PA口,PB口和PE口) 23
4.3 简单选通I/O口 23
4.3.1 选通输入口C 23
4.3.2 选通输出PB口 24
4.4 全应答I/O 24
4.4.1 输入应答协议 24
4.4.2 输出应答协议 25
4.5 并行I/O控制寄存器(PIOC) 25
第五章 串行通信接口(SCI) 28
5.1 综述和特征 28
5.2 数据格式 28
5.3 唤醒特征 29
5.4 接收数据(RxD) 29
5.5 起始位检测 30
5.6 发送数据(TxD) 31
5.7 功能描述 32
5.8 SCI寄存器 33
5.8.1 串行通信数据寄存器(SCDR) 33
5.8.2 串行通信控制寄存器1(SCCR1) 34
5.8.3 串行通信控制寄存器2(SCCR2) 34
5.8.4 串行通信状态寄存器(SCSR) 35
5.8.5 波特率寄存器(BAUD) 36
第六章 串行外围接口(SPI) 39
6.1 概述与特征 39
6.2 SPI信号描述 39
6.2.1 主机输入从机输出(MISO)方式 39
6.2.2 主机输出从机输入(MOSI)方式 39
6.2.3 串行时钟(SCK) 40
6.2.4 从机选择(SS) 40
6.3 功能描述 41
6.4 SPI寄存器 42
6.4.1 串行外围控制寄存器(SPCR) 42
6.4.2 串行外围状态寄存器(SPSR) 43
6.4.3 串行外围数据I/O寄存器(SPDR) 44
第七章 模拟/数字转换器 45
7.1 转换过程 45
7.2 通道分配 45
7.3 单通道操作 45
7.4 多通道转换操作 46
7.5 在STOP和WAIT方式下的转换操作 47
7.6 A/D控制/状态寄存器(ADCTL) 47
7.7 A/D结果寄存器1,2,3,和4(ADR1,ADR2,ADR3,ADR4) 48
7.8 A/D上电和时钟选择 49
第八章 可程控定时器、定时中断和脉冲累加器 50
8.1 可程控定时器 50
8.1.1 计数器 50
8.1.2 输入捕捉 50
8.1.3 输出比较 51
8.1.4 输出比较1 I/O引脚控制 51
8.1.5 定时器比较强制寄存器(CFORC) 51
8.1.6 输出比较1屏蔽寄存器(OCIM) 52
8.1.7 输出比较1数据寄存器(OC1D) 52
8.1.8 定时器控制寄存器1(TCTL1) 52
8.1.9 定时器控制寄存器2(TCTL2) 53
8.1.10 定时器中断屏蔽寄存器1(TMSK1) 53
8.1.11 定时器中断标志寄存器1(TFLG1) 53
8.1.12 定时器中断屏蔽寄存器2(TMSK2) 54
8.1.13 定时器中断标志寄存器2(TFLG2) 55
8.2 实时中断 55
8.3 脉冲累加器 56
8.4 脉冲累加器控制寄存器(PACTL)。 56
第九章 复位、中断和低功耗方式 58
9.1 复位 58
9.1.1 外部RESET脚 58
9.1.2 上电复位 58
9.1.2.1 CPU 59
9.1.2.2 存储器映像 59
9.1.2.3 并行I/O 59
9.1.2.4 定时器 60
9.1.2.5 实时中断 61
9.1.2.6 脉冲累加器 61
9.1.2.7 COP 61
9.1.2.8 SCI串行I/O 61
9.1.2.9 SPI串行I/O 61
9.1.2.10 A/D转换器 61
9.1.2.11 系统 61
9.1.3 计算机工作正常(COP)复位 61
9.1.4 时钟监视器复位 62
9.1.5 设置选择寄存器(OPTION) 63
9.2 中断 64
9.2.1 软件中断(SWI) 64
9.2.2 非法操作码陷井 66
9.2.3 在条件码寄存器里的中断屏蔽位 66
9.2.4 优先级结构 66
9.2.5 最高优先级I中断寄存器(HPRIO) 67
9.3 低功耗方式 72
9.3.1 WAIT指令 72
9.3.2 STOP指令 73
第十章 CPU寻址方式及指令系统 75
10.1 CPU寄存器 75
10.1.1 累加器A和B 75
10.1.2 变址寄存器X(IX) 76
10.1.3 变址寄存器Y(IY) 76
10.1.4 堆栈指针(SP) 76
10.1.5 程序计数器(PC) 76
10.1.6 条件码寄存器(CCR) 76
10.1.6.1 进位/借位(C) 76
10.1.6.2 溢出(V) 76
10.1.6.3 零(Z) 76
10.1.6.4 负(N) 76
10.1.6.5 中断屏蔽(I) 76
10.1.6.6 半进位(H) 76
10.1.6.7 X中断屏蔽(X) 77
10.1.6.8 禁止STOP(S) 77
10.2 寻址方式 77
10.2.1 立即寻址(IMM) 77
10.2.2 直接寻址(DIR) 77
10.2.3 扩展寻址(EXT) 77
10.2.4 变址寻址(IND,X;IND,Y) 77
10.2.5 隐含寻址(INH) 78
10.2.6 相对寻址(REL) 78
10.2.7 前置字节 78
10.3 指令系统 78
10.3.1 简介 78
10.3.2 专用符 78
ABA 累加器B与累加器A相加 81
ABX 累加器B与变址寄存器X相加 82
ABY 累加器B与变址寄存器Y相加 82
ADC 带进位加 83
ADD 不带进位加 83
ADDD 双累加器加 84
AND 逻辑与 85
ASL 算术左移(同LSL指令) 86
ASLD 双累加器的算术左移(同LSLD指令) 86
ASR 算术右移 87
BCC 进位位为0时转移(同BHS指令) 88
BCLR 清零存储器中的一位或多位 89
BCS 进位位为1时转移(同BLO) 89
BEQ 如果相等则转移 90
BGE 如果大于或等于0,则转移 91
BGT 如果大于0则转移 92
BHI 如果高于,则转移 93
BHS 如果高于或相同则转移(同BCC指令) 94
BIT 位测试 95
BLE 如果小于或等于0,则转移 96
BLO 如果低于,则转移(同BCS指令) 97
BLS 如果低于或相同,则转移 97
BLT 如果小于0就转移 98
BMI 如果是负数就转移 99
BNE 如果不等于0,就转移 100
BPL 如果是正数,就发生转移 101
BRA 无条件转移 102
BRCLR 如果位清零就转移 103
BRN 不转移 103
BRSET 如果位置位,则转移 104
BSET 对存储单元中的位置位 105
BSR 转移到子程序 105
BVC 如果溢出位清零则转移 106
BVS 如果溢出位置位则转移 107
CBA 两个累加器比较 108
CLC 进位位清零 109
CLI 清零中断屏蔽位 109
CLR 清零 109
CLV 清零二进制补码溢出位 110
CMP 比较 110
COM 取反 111
CPD 比较双累加器和16位存储器 112
CPX 比较变址寄存器X和16位存储器 112
CPY 比较变址寄存器Y和16位存储器。 113
DAA ACCA的十进制调整 114
DEC 减1 115
DES 堆栈指针减1 116
DEX 变址寄存器X减1 116
DEY 变址寄存器Y减1 117
EOR 异或 117
FDIV 小数除法 118
IDIV 整数除法 119
INC 加1 119
INS 堆栈指针加1 120
INX 变址寄存器X加1 120
INY 变址寄存器Y加1 121
JMP 跳转 121
JSR 转移到子程序 122
LDA 累加器送值 122
LDD 双累加器送值 123
LDX 变址寄存器X送值 124
LDY 变址寄存器Y送值 125
LSL 逻辑左移(与ASL相同) 125
LSLD 双累加器逻辑左移(与ASLD相同) 126
LSR 逻辑右移 127
LSRD 双累加器逻辑右移 128
MUL 无符号数相乘 128
NEG 取补 129
NOP 空操作 130
ORA 求“或” 130
PSH 把数据压入堆栈 131
PSHX 把变址寄存器X压入堆栈 131
PSHY 把变址寄存器Y压入堆栈 132
PUL 从堆栈中弹出数据 133
PULX 把变址寄存器X从堆栈中弹出 133
PULY 把变址寄存器Y从堆栈中弹出 134
ROL 循环左移 134
ROR 循环右移 135
RTI 中断返回 136
RTS 子程序返回 137
SBA 累加器相减 138
SBC 带进位位减 138
SEC 置位进位位 139
SEI 置位中断屏蔽位 139
SEV 置位二进制补码溢出位 140
STA 存累加器 140
STD 存双累加器 141
STOP 停止操作 142
STS 存堆栈指针 142
STX 存变址寄存器X 143
STY 存变址寄存器Y 144
SUB 累加器减去存储器 144
SUBD 双累加器减去存储器 145
SWI 软件中断 146
TAB 累加器A向累加器B传送 147
TAP 累加器A向条件码寄存器传送 147
TBA 累加器B向累加器A传送 148
TEST 测试操作(仅用于测试方式) 149
TPA 条件码寄存器向累加器A发送 149
TST 测试 150
TSX 堆栈指针向变址寄存器X传送 151
TSY 堆栈指针向变址寄存器Y传送 151
TXS 从变址寄存器X向堆栈指针发送 152
TYS 从变址寄存器Y向堆栈指针发送 152
WAI 等待中断 153
XGDX 交换双累加器和变址寄存器X 154
XGDY 交换双累加器和变址寄存器Y 154
10.3.3 指令分类 155
附寻A 典型电路 162
附录B 电气特性 165
附录C 引脚图 182
主要参考文献 184