《MCS48、MCS51、MCS96常用单片机软硬件接口技术的设计与实例》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:周绥平等编写
  • 出 版 社:北京:学苑出版社
  • 出版年份:1994
  • ISBN:7507708225
  • 页数:586 页
图书介绍:

第一章 MCS-96系列介绍 1

1.0 单片机的发展变革趋势 1

1.1 MCS-96简介 1

1.2 MCS-96的应用 2

1.3 MCS-96系列开发支持工具 4

1.3.1 MCS-96软件开发程序包 4

1.3.2 ASM-96宏汇编程序 4

1.3.3 PL/M-96 4

1.3.4 硬件开发支持ISBE-96 4

1.3.5 MCS-96工作 4

1.3.6 内部库 5

1.4 MCS-96系列产品 5

第二章 结构概貌 6

2.0 简介 6

2.1 CPU操作 6

2.1.1 CPU总线 6

2.1.2 CPU寄存器阵列(RF) 6

2.1.3 RALU控制 6

2.1.4 RALU 7

2.2 基本时序 8

2.2.1 内部时序 8

2.3 存储空间 9

2.3.1 寄存器阵列(RF)空间 9

2.3.2 保留存储器空间 10

2.3.3 片内ROM 10

2.3.4 存储控制器 10

2.3.5 系统总线 11

2.3.6 就绪控制 11

2.4 RAM空间 12

2.4.1 专用寄存器(SFRS) 12

2.4.2 掉电保护存储单元 14

2.5 中断结构 15

2.5.1 中断源 15

2.5.2 中断控制 16

2.5.3 中断优先级编程 17

2.5.4 中断时序 18

2.6 定时器 18

2.6.1 定时器1 18

2.6.2 定量器2 19

2.6.3 定时器中断 19

2.6.4 定时器关联部件 19

2.7 高速输入单元(HSI) 20

2.7.1 HSI工作方式 20

2.7.2 HSI队列(HSI FIFO) 20

2.7.3 HSI中断 21

2.7.4 HSI状态 22

2.8 高速输出单元 22

2.8.1 高速输入输出共用引脚 22

2.8.2 HSO CMA阵列 22

2.8.3 HSO状态 23

2.8.4 HSO的清除 24

2.8.5 软件定时器 24

2.9 模拟输入 24

2.9.1 A/D转换精度 24

2.9.2 A/D命令 25

2.9.3 A/D结果 25

2.10 脉冲宽度调制输出(PWM) 26

2.11 串行口 26

2.11.1 串行口方式 27

2.11.2 多机通信 28

2.113 串行口控制 29

2.11.4 波特率确定 29

2.12 输入/输出口0~4 30

2.12.1 P0口 30

2.12.2 P1口 30

2.12.3 P2口 30

2.12.4 P3和P4口 30

2.13 状态和控制寄存器 31

2.13.1 I/O控制寄存器 31

2.13.2 I/O控制寄存器0(IOCO) 31

2.13.3 I/O控制寄存器1(IOCt) 31

2.13.4 I/O状态寄存器0(ISO0) 32

2.13.5 I/O状态寄存器1(ISO1) 32

2.14 监视定时器(WDT) 33

2.14.1 禁止监视定时器 33

2.15 复位 33

2.15.1 复位信号 33

2.15.2 复位状态 34

2.15.3 复位同步方式 35

1.16 引脚功能 35

2.17 引脚列表 37

第三章 MCS-96软件设计知识 38

3.0 简介 38

3.1 操作数类型 38

3.1.1 字节BYTE 38

3.1.2 字Word 38

3.1.3 短整型数short-integer 39

3.1.4 整型数Integer 39

3.1.5 位Bit 39

3.1.6 双字Dourlbe Word 39

3.1.7 长整型数Long-Integer 39

3.2 操作数寻址 39

3.2.1 寄存器直接寻址 40

3.2.2 间接寻址 40

3.2.3 自动增量间接寻址 40

3.2.4 立即寻址 40

3.2.5 短变址寻址 41

3.2.6 长变址寻址 41

3.2.7 零寄存器寻址 41

3.2.8 栈指针寄存器寻址 41

3.2.9 汇编语言寻址方式 41

3.3 程序状态字PSW 42

3.3.1 中断标志 42

3.3.2 条件标志 42

3.4 指令系统 43

3.5 软件标准和约定 49

3.5.1 寄存器应用 49

3.5.2 寻址32位操作数 49

3.5.3 子程序连接 49

3.6 中断系统的使用 50

3.6.1 总控制 50

3.6.2 中断悬挂寄存器 51

3.6.3 中断屏蔽寄存器 51

3.6.4 中断向量 51

3.6.5 应急区 53

3.7 I/O编程考虑 53

3.7.1 编程各I/O端口 54

3.7.2 读取I/O状态寄存器1 54

3.7.3 向HSO单元发送命令 55

3.7.4 高速I/O中断 55

3.7.5 访问寄存器映象I/O 56

3.8 实例1 编程串行I/O通道 56

3.9 实例2 用HSO单元生成PWM 57

3.10 实例3 用HSI单元测量脉冲宽度 58

3.11 实例4 扫描A/D通道 59

3.12 实例5 查表和插值 60

3.12 示例5 表查找和插入 61

3.13 指令系统详述 61

3.13.1 ADD(双操作数)——字相加 62

3.13.2 ADD(3操作数)——字相加 63

3.13.3 ADDB(双操作数)——字节相加 63

3.13.4 ADDB(3操作数)——字节相加 63

3.13.5 ADDC——带进位的字相加 64

3.13.6 ADDCB——带进位的字节相加 64

3.13.7 AND——(逻辑与) 64

3.13.8 AND(3操作数)——字逻辑与 65

3.13.9 ANDB(双操作数)——字节逻辑与 65

3.13.10 ANDB(3操作数)——字节逻辑与 65

3.13.11 BR(间接)——间接转移 66

3.13.12 CLR——清除字 66

3.13.13 CLRB——清除字节 66

3.13.14 CLRC——清除进位标志 66

3.13.15 CLRVT——清除溢出陷井标志 67

3.13.16 CMP——字比较 67

3.13.17 CMPB——字节比较 67

3.13.18 DEC——字减1 68

3.13.19 DECB——字节减1 68

3.13.20 DI——禁止中断 68

3.13.21 DIV——整型数除 68

3.13.22 DIVB——短整型数相除 69

3.13.23 DIVU——字型数除 69

3.13.24 DIVUB——字节型数除 70

3.13.25 DJNZ——减1非零转 70

3.13.26 EI——允许中断 70

3.13.27 EXT——整型数符号扩展为长型整数 71

3.13.28 EXTB——短整型数符号扩展为整型数 71

3.13.29 INC——字加1 71

3.13.30 INCB——字节加1 72

3.13.31 JBC——位清除跳转 72

3.13.32 JBS——位置1跳转 72

3.13.33 JC——进位标志为1跳转 73

3.13.34 JE——相等跳转 73

3.13.35 JGE——大于或等于带符号数跳转 73

3.13.36 JGT——大于带符号数跳转 74

3.13.37 JH——高于(无符号数)跳转 74

3.13.38 JLE——小于或等于带符号数跳转 75

3.13.39 JLT——小于带符号数跳转 75

3.13.40 JNC——进位标志为0跳转 75

3.13.41 JNE——不相等跳转 76

3.13.42 JNH——不高于(无符号数)跳转 76

3.13.43 JNST——粘着位为0跳转 76

3.13.44 JNV——溢出标志为0跳转 77

3.13.45 JNVT——溢出陷井标志为0跳转 77

3.13.46 JST——粘着位标志为1跳转 78

3.13.47 JV——溢出标志为1跳转 78

3.13.48 JVT——溢出陷井标志为1跳转 78

3.13.49 LCALL——长调用 79

3.13.50 LD——装载字 79

3.13.51 LDB——装载字节 79

3.13.52 LDBSE——把短整型数装入整型数 80

3.13.53 LDBZE——把字节装入字 80

3.13.54 LJMP——长跳转 80

3.13.55 MUL(双操作数)——整型数相乘 81

3.13.56 MUL(三操作数)——整型数相乘 81

3.13.57 MUL(双操作数)——短整型数相乘 81

3.13.58 MULB(3操作数)——短整型数相乘 82

3.13.59 MULB(双操作数)——字型数乘 82

3.13.60 MULU(3操作数)——字型数乘 82

3.13.61 MULUB(双操作数)——字节相乘 83

3.13.62 MULUB(3操作数)——字节型数相乘 83

3.13.63 NEG——整型数求补 83

3.13.64 NEGB——短整型数求补 84

3.13.65 NOP——空操作 84

3.13.66 NORML——长整型数规格 84

3.13.67 NOT——字型数求反 85

3.13.68 NOTB——字节型数求反 85

3.13.69 OR——字型数逻辑或 85

3.13.70 ORB——字节型数逻辑或 85

3.13.71 POP——字退栈 86

3.13.72 POPF——标志退栈 86

3.13.73 字进栈 86

3.13.74 PVSHF——标志进栈 87

3.13.75 RET——子程序返回 87

3.13.76 RST——系统复位 87

3.13.77 SCALL——短调用 88

3.13.78 SETC——进位标志置1 88

3.13.79 SHL——字左移 88

3.13.80 SHLB——字节左移 89

3.13.81 SHLL——双字左移 89

3.13.82 SHR——字逻辑右移 90

3.13.83 SHRA——字算术右移 90

3.13.84 SHRAB——字节算术右移 91

3.13.85 SHRAL——双字算术右移 92

3.13.86 SHRB——字节逻辑右移 92

3.13.87 SHRL——双字逻辑右移 93

3.13.88 SJMP——短跳转 93

3.13.89 SKIP——双字节空操作 94

3.13.90 ST——存字 94

3.13.91 STB——存字节 94

3.13.92 SUB(双操作数)——字相减 95

3.13.93 SUB(3操作数)——字相减 95

3.13.94 SUBB(双操作数)——字节相减 95

3.13.95 SUBB(3操作数)——字节相减 95

3.13.96 SUBC——字带借位减 96

3.13.97 SUBCB——字节带借位减 96

3.13.98 TRAP——软件陷井 96

3.13.99 XOR——字逻辑异或 97

3.13.100 XORB——字节逻辑异或 97

第四章 硬件设计信息 98

4.0 硬件连接概述 98

4.1 硬件连接要求 98

4.1.1 电源 98

4.1.2 其它连接要求 98

4.1.3 振荡器 99

4.1.4 复位 100

4.1.5 同步方式 101

4.1.6 禁止监控定时器 101

4.1.7 掉电电路 103

4.2 驱动和接口电平 103

4.2.1 准双向口 103

4.2.2 准双向端口的硬件连接 104

4.2.3 模拟和数字输入端口 105

4.2.4 漏极开路端口 105

4.2.5 HSO引脚、控制输出端和总线引脚 106

4.3 摸拟接口 106

4.3.1 模拟输入量 106

4.3.2 模拟量输出建议 107

4.4 I/O时序 108

4.4.1 HSO输出 108

4.4.2 HSI采样输入 108

4.4.3 标准I/O端口引脚 108

4.5 串行口时序 108

4.5.1 方式0 109

4.5.2 方式1时序 109

4.5.3 方式2和3的时序 110

4.6 总线时序和存贮器接口 110

4.6.1 总线功能 110

4.6.2 时钟参数 110

4.6.3 READY线的使用 112

4.6.4 INS线的使用 113

4.6.5 地地译码 113

4.6.6 系统校验实例 113

4.6.7 I/O端口重构 117

4.7 噪声仿护 118

4.8 封装引脚及环境 118

第五章 MCS-96数据表 119

第六章 MCS-51结构 130

6.0 引言 130

6.1 存贮器配置 131

6.2 振荡器和时钟电路 133

6.3 CPU时序 134

6.4 端口的结构和操作 134

6.4.1 I/O构成 137

6.4.2 端口的写操作 137

6.4.3 端口的负载及接口 139

6.4.4 读——修改——写 139

6.5 外部存贮器访问 139

6.5.1 PSEN 140

6.5.2 ALE 140

6.5.3 外部程序存贮器和外部数据存贮器的地址重叠 140

6.6 定时器/计数器 141

6.6.1 定时器0和定时器1 142

6.6.2 定时器/计数器2 145

6.7 串行接口 147

6.7.1 多处理器通信 147

6.7.2 串行口控制寄存器 148

6.7.3 波特率 148

6.7.4 再谈谈模式0 150

6.7.5 再谈谈模式1 152

6.7.6 再讨论一下模式2和3 154

6.8 中断 157

6.8.1 中断优先级结构 158

6.8.2 中断的处理 159

6.8.3 外部中断 160

6.8.4 中断响应时间 160

6.9 单步操作 161

6.10 复位 161

6.11 低功耗操作模式 162

6.11.1 HMOS掉电操作模式 163

6.11.2 CHMOS低功耗模式 163

6.12 8751H 164

6.12.1 EPROM的编程 164

6.12.2 程序的验证 165

6.12.3 程序存贮器的加密 165

6.12.4 擦除特性 165

6.13 再讨论片内振荡器 166

6.13.1 HMOS 166

6.13.2 CHMOS 168

6.14 MCS-51的引脚描述 169

第七章 MCS-51存贮器配置寻址方式和布尔处理器 171

7.0 引言 171

7.1 存贮器配置 171

7.2 寻址方式 173

7.3 布尔处理器 175

第八章 MCS-51指令系统 177

8.0 引言 177

8.1 功能分类 177

8.1.1 数据传送类指令 177

8.1.2 算术操作类指令 178

8.1.3 逻辑操作类指令 179

8.1.4 控制转移指令: 179

8.2 指令说明 180

第九章 MCS—51应用举例 218

9.0 8051编程技术 218

9.0.1 计数进制转换程序 218

9.0.2 多精度算术运算 219

9.0.3 查表程序 220

9.0.4 中断处理时CPU状态的保留 221

9.0.5 通过堆栈传递参数 222

9.0.6 N个分支的转移程序 223

9.0.7 在程序运行过程中计算分支的目的地址 225

9.0.8 通过联机代码来传递参数 226

9.1 外围接口技术 227

9.1.1 I/O端口重新配置(第一种方法) 227

9.1.2 I/O端口配置(第二种方法) 228

9.1.3 8243接口 229

9.1.4 软件延迟定时 230

9.1.5 串行口与定时器配置 230

9.1.6 简单串行I/O驱初程序 231

9.1.7 发送串行端口字符串 232

9.1.8 特殊情况的识别和处理 233

9.1.9 定时器溢出的同步 233

9.1.10 定时器/计数器的实时读 234

9.2 外围接口举例 234

第十章 不降低速度的CMOS微型控制器 241

第十一章 MCS51数据 247

31AH/8051AH片脚说明 248

8032AH/8052AH单片的8位微型计算机 260

8751H 273

第十二章 使用CHMOS的设计注意事项 289

12.0 什么是CHMOS 289

12.1 噪音干扰 290

12.2 锁存 290

12.3 电源的考虑 291

12.4 最小功耗 292

12.5 CHMOS输入/输出口的结构 293

12.5.1 作为一个输出引脚 294

12.5.2 作为一个输入引脚 294

12.5.3 CHMOS和其它逻辑系列之间的接口 295

大规模集成电路(LSI)的发展 296

使用CMOS系统设计的主要优点是低功耗 296

功耗的重要性 297

CMOS基本操作 297

CMOS工艺 300

防止锁死 300

逻辑门结构 301

静态结构工艺 301

CMOS展望 302

一种CMOS单片机:Inte180C51 303

看一下CMOS动态存储器 304

存储器设备结构 304

功耗 305

高速应用 306

可用速度 306

高可靠性 307

第十三章 MCS-48系列单片机 309

13.0 简介 309

13.1 体系结构 309

13.1.1 运算部分 309

13.1.2 程序存贮器 311

13.1.3 数据内存 312

13.1.4 输入/输出 313

13.1.5 测试和INT输入端 314

13.1.6 程序计数器和堆栈 315

13.1.7 程序状态字 316

13.1.8 条件转移逻辑 316

13.1.9 中断 317

13.1.10 计时器/计数器 317

13.1.11 时钟和计时电路 320

13.1.12 复位 321

13.1.13 单步 323

13.1.14 掉电工作方式(8048AH,8049AH,8050AH,8039AHL,8035AHL,8040AHL) 325

13.1.15 外部访问方式 325

13.1.16 同步方式 326

13.1.17 闲置方式 326

13.2 引脚说明 326

13.3 EPROM的编程,验证和擦除 327

13.3.1 编程/验证 328

第十四章 MCS.48系统的扩展 333

14.0 简介 333

14.1 程序存贮器的扩展 333

14.1.1 取指令周期(外部) 333

14.1.2 扩展程序存贮器的寻址(2K以上) 334

14.1.3 恢复I/O端口的信息 335

14.1.4 扩展举例 335

14.2 数据存贮器的扩展 336

14.2.1 读/写周期 336

14.2.2 寻址外部数据存贮器 336

14.2.3 数据存贮器扩展举例 337

14.3 输入/输出的扩展 337

14.3.1 I/O扩展器件 338

14.3.2 用标准外围设备进行I/O扩展 339

14.3.3 组合存贮器及I/O扩展器 340

14.4 多片MCS-48系统 341

14.5 存贮器体选择 342

14.6 控制信号小结 343

14.7 端口特性 344

14.7.1 总线端口操作 344

14.7.2 端口2操作 344

第十五章 MCS-48指令系统 346

15.0 引言 346

15.0.1 数据传送 346

15.0.2 累加器操作 347

15.0.3 寄存器操作 347

15.0.4 标志 347

15.0.5 分支指令 348

15.0.6 子程序 348

15.0.7 定时器指令 349

15.0.8 控制指令 349

15.0.9 输入/输出指令 349

15.1 指令系统说明 350

第十六章 MCS.48数据表 376

8243 MCS-48输入/输出扩展器 376

8048AH/8748AH/8035AHL/8049AH 382

8749H/8039AHL/8050AH/8040AHL HMOS单片8位微处理器 382

单片八位微型计算机 396

80C49-7/80C39-7 CHMOS单片八位微型计算机 400

第十七章 RUPI-44系列:芯片通信控制器的单片微机 410

17.0 简介 410

17.1 结构 410

17.2 HDLC/SDLC规约 412

17.2.1 HDLC/SDLC优于异步通信规约 412

17.2.2 HDLC/SDLC网络 412

17.2.3 帧 413

17.2.4 零位插入和删除 414

17.2.5 非旧零取反(NRII)技术 414

17.2.6 参考文献 414

17.3 RUPI-44设计支持 414

17.3.1 设计工具支持 415

17.3.2 8051讨论会 416

第十八章 8044的体系结构 417

18.0 概述 417

18.1 存贮器组织简介 417

18.1.1 专用寄存器 419

18.1.2 中断控制寄存器 420

18.2 存贮器组织详细说明 421

18.2.1 操作数寻址 424

18.2.2 寄存器寻址 424

18.2.3 直接寻址 427

18.3 复位 427

18.4 RUP1-44系列引脚说明 428

第十九章 8044串行接口部件 431

19.0 串行接口 431

19.1 数据链路结构 431

19.2 同步方式 431

19.3 数据率 435

19.4 运行方式 435

19.4.1 自动应答模式 436

19.4.2 灵活方式 436

19.5 8044的帧格式 438

19.5.1 标准SDLC格式 439

19.5.2 无控制域帧(非缓冲模式) 439

19.5.3 无控制域和地址域帧 439

19.5.4 无FCS域 439

19.6 HDLC 439

19.7 SIU特殊功能寄存器 440

19.7.1 控制与状态寄存器 440

19.7.2 参数寄存器 442

19.7.3 ICE支持寄存器 443

19.8 操作 444

19.8.1 初始化 444

19.8.2 自动方式 445

19.8.3 非自动方式 458

19.8.4 8044数据链路摘要 462

19.8.5 定时问题 462

19.9 SIU硬件更详细的内答 462

19.9.1 位处理机 463

19.9.2 字节处理机 465

19.10 诊断 465

第二十章 8044应用实例 469

20.0 8044应用实例 469

20.1 8044与微处理机接口 469

附录B 软件模块清单 479

20.2 使用8044的高性能网络 502

20.2.1 引言 502

20.2.2 硬件 502

20.2.3 SDLC基本命令表 504

20.2.4 采用自动方式的从站驱动程序 505

20.2.5 应用模块;与SDLC协议转换器保持异步 515

20.2.6 主站 520

附录A 8044软件流程图 524

第二十一章 RUPI数据表 545

第二十二章 AR-307具有片内高性能通讯接口的微型控制器 578