当前位置:首页 > 工业技术
基于Multisim 10的51单片机仿真实战教程——使用汇编和C语言
基于Multisim 10的51单片机仿真实战教程——使用汇编和C语言

基于Multisim 10的51单片机仿真实战教程——使用汇编和C语言PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:聂典编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121102974
  • 页数:389 页
图书介绍:本书主要讲解最新的EDA设计软件NI Multisim 10在51单片机设计中的应用,包括单片机介绍、如何使用仿真平台、具体仿真步骤及过程、汇编及C语言的要点、基本的编程方法、各种接口电路的使用等内容,并给出了大量的仿真实例。本书所有实例均采用仿真软件Multisim 10进行仿真,使读者真正做到“边理论,边实践”,在实践中逐步掌握单片机的硬件结构和开发方法。
《基于Multisim 10的51单片机仿真实战教程——使用汇编和C语言》目录

汇编语言部分 1

第1章 概述 1

1.1 NI Multisim 10简介 1

1.1.1 NI Multisim 10的主要特点简介 1

1.2 Multisim MCU的仿真环境 6

1.2.1 创建一个新的MCU工程 7

1.2.2 输入源代码及添加其他工程 7

1.2.3 放置并连接外围组件 8

1.2.4 仿真电路 9

1.2.5 调试源代码 9

1.2.6 在活动工程之间切换 11

第2章 单片机及8051单片机简介 12

2.1 单片机简介 12

2.1.1 单片机的概念 12

2.1.2 单片机的分类 12

2.1.3 单片机的应用 13

2.2 8051单片机结构 13

2.2.1 MCS-51单片机功能及结构框图 13

2.2.2 8051单片机功能综述 14

2.2.3 8051单片机内部结构 14

2.2.4 8051单片机的CPU结构 15

2.2.5 存储器结构 15

2.2.6 I/O端口结构 18

2.2.7 定时器/计数器结构 20

2.2.8 中断系统 21

2.3 8051单片机的引脚功能 22

2.3.1 8051芯片封装 22

2.3.2 8051芯片引脚及功能 22

2.3.3 8051工作方式 23

2.4 8051单片机工作时序 25

2.4.1 时钟电路 25

2.4.2 机器周期及指令周期 26

2.4.3 指令周期 27

2.4.4 指令的执行时序 27

第3章 8051单片机指令系统 28

3.1 8051单片机指令系统 28

3.1.1 指令、指令系统和汇编语言 28

3.1.2 指令格式 28

3.1.3 8051单片机指令系统的特点 29

3.1.4 指令系统的分类与助记符语言 29

3.2 寻址方式 30

3.2.1 立即寻址方式 31

3.2.2 直接寻址方式 31

3.2.3 直接寻址方式的Multisim MCU仿真 32

3.2.4 寄存器寻址方式 32

3.2.5 寄存器寻址方式的Multisim MCU仿真 33

3.2.6 寄存器间接寻址方式 33

3.2.7 寄存器间接寻址方式的Multisim MCU仿真举例 34

3.2.8 变址寻址方式 34

3.2.9 变址寻址方式的Multisim MCU仿真举例 35

3.2.10 相对寻址方式 36

3.2.11 位寻址方式 37

3.2.12 寻址方式小结 38

3.3 8051单片机指令系统分类及应用 38

3.3.1 数据传送类指令(28条) 38

3.3.2 算术操作类指令(24条) 47

3.3.3 逻辑运算及移位类指令(25条) 53

3.3.4 控制转移类指令(17条) 56

3.3.5 位操作类指令(17条) 59

3.4 MCU仿真实例 60

3.4.1 广告灯(利用取表方式) 60

3.4.2 使用8051单片机播放音乐 66

第4章 8051单片机汇编语言程序设计 72

4.1 汇编语言程序设计概述 72

4.1.1 汇编语言的特点及语句格式 72

4.1.2 汇编语言伪指令 73

4.2 汇编语言程序设计 75

4.2.1 顺序程序 75

4.2.2 分支程序 75

4.2.3 循环程序 77

4.3 MCU仿真实例 78

4.3.1 实验简介 78

4.3.2 电路图、源程序及流程图 79

4.3.3 程序执行过程及结果 80

第5章 8051单片机输入/输出端口 86

5.1 P0端口 86

5.1.1 P0口的结构 86

5.1.2 控制P0口的程序说明 87

5.1.3 简单I/O接口扩展电路仿真实例分析 87

5.2 P1端口 89

5.2.1 P1口的结构 89

5.2.2 七段数码管实现十六进制循环计数器仿真实例分析 89

5.3 P2端口 91

5.3.1 P2口的结构 92

5.3.2 用独立式键盘控制灯移动仿真实例分析 92

5.4 P3端口 94

5.4.1 P3口的结构 94

5.4.2 用8位DIP开关控制LED仿真实例分析 95

5.4.3 小结 97

5.5 端口的负载能力和接口要求及仿真实例分析 97

5.5.1 端口的负载能力和接口要求 97

5.5.2 指拨开关控制输出电压仿真实例分析 97

第6章 8051单片机定时器/计数器 100

6.1 8051定时器/计数器的方式控制字 100

6.1.1 工作模式控制寄存器TMOD(89H) 100

6.1.2 定时控制寄存器TCON(88H) 101

6.2 8051定时器/计数器工作模式0 101

6.2.1 定时器/计数器工作模式0的基本概念 101

6.2.2 8051定时器/计数器工作模式0的仿真实例分析——使用定时器延时的流水灯设计 102

6.3 8051定时器/计数器工作模式1 106

6.3.1 定时器/计数器工作模式1的基本概念 106

6.3.2 8051定时器/计数器工作模式1的Multisim MCU仿真实例分析——使用外部时钟的数码管显示设计 106

6.4 8051定时器/计数器工作模式2 110

6.4.1 定时器/计数器工作模式2的基本概念 110

6.4.2 8051定时器/计数器工作模式2的仿真实例分析——使用定时器延时产生方波脉冲设计 110

6.5 8051的定时器/计数器工作模式3 114

6.5.1 8051的定时器/计数器工作模式3的基本概念 114

6.5.2 8051的定时器/计数器工作模式3的Multisim MCU仿真实例分析——使用定时器延时的开关灯设计 114

第7章 8051单片机中断系统 117

7.1 引言 117

7.1.1 中断的概念 117

7.1.2 中断源 118

7.1.3 中断系统的功能 118

7.2 中断系统 118

7.2.1 中断系统的应答 118

7.2.2 中断请求源 119

7.3 中断控制 121

7.3.1 中断的开放和屏蔽 121

7.3.2 中断优先级控制 121

7.3.3 中断向量 122

7.4 中断响应过程 122

7.4.1 中断响应条件 122

7.4.2 响应过程 123

7.4.3 外部中断触发方式 123

7.4.4 外部中断响应时间 123

7.5 中断系统应用 124

7.5.1 应用中断要做的几项工作 124

7.5.2 中断应用实例设计与分析 124

7.6 中断系统小结 134

第8章 8051单片机串行接口 135

8.1 8051单片机的串行接口结构 135

8.2 数据缓冲寄存器SBUF(99H) 136

8.3 串行口控制寄存器SCON 136

8.3.1 串行口控制寄存器功能概述 136

8.3.2 Multisim MCU仿真 137

8.4 模式0工作状态 137

8.4.1 串行口方式0的工作原理 137

8.4.2 方式0输出原理 138

8.4.3 方式0输入原理 138

8.4.4 Multisim MCU仿真实例分析 138

8.5 方式1工作状态 141

8.5.1 串口方式1的工作原理 141

8.5.2 方式1接收数据原理 141

8.5.3 方式1发送数据原理 142

8.5.4 Multisim MCU仿真实例分析 142

8.6 方式2工作状态 146

8.6.1 串口方式2工作原理 146

8.6.2 方式2输出原理 147

8.6.3 方式2输入原理 147

8.6.4 Multisim MCU仿真实例分析 147

8.7 方式3工作状态 148

8.7.1 串口方式3工作原理 148

8.7.2 Multisim MCU仿真实例分析 148

8.8 多机通信工作原理 152

第9章 8051单片机的系统扩展与应用 153

9.1 数据存储器扩展 153

9.1.1 外部程序存储器的操作时序 153

9.1.2 外扩2KB的RAM及Multisim MCU仿真实例分析 154

9.2 数据程序存储器扩展 158

9.2.1 外扩4 KB的EPROM及Multisim MCU仿真实例 159

9.2.2 外扩16 KB的EPROM及Multisim MCU仿真实例分析 159

9.3 I/O口的扩展及Multisim MCU仿真实例分析 160

第10章 MCS-51单片机应用及Multisim MCU仿真实例集锦 163

10.1 LED灯(单灯)闪烁的仿真实例 163

10.1.1 实验任务 163

10.1.2 电路设计 163

10.1.3 实验程序 163

10.1.4 功能说明 164

10.1.5 实验小结 164

10.2 LED灯(排灯)闪烁的仿真实例 164

10.2.1 实验任务 164

10.2.2 电路设计 164

10.2.3 实验程序 165

10.2.4 实验小结 165

10.3 单片机I/O口的输入仿真实例 165

10.3.1 实验任务 165

10.3.2 电路设计 166

10.3.3 实验程序 166

10.3.4 实验小结 166

10.4 LED亮灭时间不同的仿真实例 166

10.4.1 实验任务 166

10.4.2 电路设计 167

10.4.3 实验程序 167

10.4.4 实验小结 168

10.5 单片机计数器 168

10.5.1 实验任务 168

10.5.2 电路设计 168

10.5.3 流程框图 168

10.5.4 实验程序 169

10.5.5 实验小结 169

10.6 从右到左循环点亮LED灯 170

10.6.1 实验任务 170

10.6.2 电路设计 170

10.6.3 流程框图 170

10.6.4 实验程序 171

10.6.5 实验小结 171

10.7 广告灯左移右移 171

10.7.1 实验任务 171

10.7.2 电路设计 171

10.7.3 流程框图 172

10.7.4 实验程序 172

10.7.5 实验小结 173

10.8 定时与中断1 173

10.8.1 实验任务 173

10.8.2 电路设计 173

10.8.3 实验程序 173

10.8.4 实验小结 174

10.9 定时与中断2 174

10.9.1 实验任务 174

10.9.2 电路设计 174

10.9.3 实验程序 174

10.9.4 实验小结 175

10.10 定时与中断3 175

10.10.1 实验任务 175

10.10.2 电路设计 175

10.10.3 实验程序 175

10.10.4 实验小结 176

10.11 三角波发生器 177

10.11.1 实验任务 177

10.11.2 电路设计 177

10.11.3 实验程序 177

10.11.4 实验小结 178

10.12 外中断实例 178

10.12.1 实验任务 178

10.12.2 电路设计 178

10.12.3 实验程序 179

10.12.4 实验小结 179

10.13 按键识别方法 179

10.13.1 实验任务 179

10.13.2 电路设计 180

10.13.3 程序框图 180

10.13.4 实验程序 180

10.13.5 实验小结 181

10.14 一键多功能按键识别技术 181

10.14.1 实验任务 181

10.14.2 电路设计 181

10.14.3 程序框图 182

10.14.4 实验程序 182

10.14.5 实验小结 183

10.15 00~99计数器 183

10.15.1 实验任务 183

10.15.2 电路设计 183

10.15.3 程序框图 183

10.15.4 实验程序 184

10.15.5 实验小结 185

10.16 可预置4位二进制可逆计数器 185

10.16.1 实验任务 185

10.16.2 电路设计 185

10.16.3 流程框图 185

10.16.4 实验程序 187

10.16.5 实验小结 188

10.17 4×4矩阵式键盘识别技术 188

10.17.1 实验任务 188

10.17.2 电路设计 188

10.17.3 程序框图 188

10.17.4 实验程序 189

10.17.5 实验小结 193

10.18 LCD显示 193

10.18.1 实验任务 193

10.18.2 电路设计 193

10.18.3 实验程序 193

10.18.4 实验小结 196

10.19 中断程序的典型应用 196

10.19.1 实验任务 196

10.19.2 电路设计 197

10.19.3 实验程序 197

10.19.4 实验小结 198

C语言部分 199

第1章 C语言程序设计概述 199

第2章 基于Multisim 10的单片机C语言开发环境 200

2.1 Multisim 10的单片机集成开发环境 200

2.2 Multisim 10的单片机集成开发步骤 200

2.2.1 单片机仿真界面的进入 200

2.2.2 程序调试 202

第3章 C语言程序的基本结构 204

3.1 C语言程序组成结构 204

3.2 C语言程序设计的Multisim MCU仿真实例分析 204

第4章 C语言的标识符和关键字 208

4.1 C语言关键字解释 208

4.1.1 数据类型关键字 208

4.1.2 流程控制关键字 209

4.1.3 根据单片机扩展的关键字 209

4.2 C语言标识符 210

4.3 C语言的数据类型 212

第5章 常量 218

5.1 常量的数据类型 218

5.2 常量Multisim MCU仿真分析 219

第6章 变量及存储类型 221

6.1 变量及存储类型概述 221

6.1.1 SMALL模式 221

6.1.2 COMPACT模式 222

6.1.3 LARGE模式 222

6.2 变量及存储类型仿真设计与分析 224

第7章 编译预处理 229

7.1 无参宏 229

7.2 带参宏 231

7.3 文件包含 233

7.4 条件编译 234

7.4.1 第一种形式 234

7.4.2 第二种形式 235

7.4.3 第三种形式 237

第8章 运算符与表达式 239

8.1 运算符 239

8.1.1 赋值运算符 239

8.1.2 算术运算 240

8.1.3 关系运算符 241

8.1.4 自增自减运算符 242

8.1.5 逻辑运算符 243

8.1.6 复合赋值运算符 244

8.1.7 条件运算符 245

8.1.8 if语句 245

8.1.9 逗号运算符 248

8.1.10 位运算符 248

8.1.11 强制类型转换运算符 250

8.1.12 sizeof运算符 251

8.2 一元运算符、二元运算符与多元运算符 251

8.3 运算符的优先级 251

第9章 开关语句和循环语句 254

9.1 开关语句 254

9.2 循环语句 257

9.2.1 while语句 257

9.2.2 do-while语句 258

9.2.3 for语句 259

9.2.4 goto语句 261

9.2.5 break与continue语句 261

第10章 函数的定义 264

10.1 函数的说明与定义 264

10.1.1 函数的说明 264

10.1.2 函数定义 265

10.2 函数的参数及函数的返回值 265

10.2.1 无参数函数 267

10.2.2 有参数函数 267

10.2.3 空函数 267

10.3 函数的调用 267

10.3.1 函数语句 268

10.3.2 函数表达式 268

10.3.3 函数参数 268

10.3.4 函数调用Multisim MCU仿真实例分析 269

第11章 单片机的中断系统及定时器 274

11.1 中断系统概述 274

11.1.1 中断的概念 274

11.1.2 中断的嵌套与优先级处理 274

11.1.3 中断的响应过程 274

11.1.4 中断系统的结构 275

11.1.5 中断系统的控制寄存器 275

11.1.6 Multisim 10的中断函数 276

11.2 定时器/计数器 279

11.2.1 定时器/计数器的结构 279

11.2.2 定时计数器的原理 279

11.2.3 定时器/计数器方式寄存器TMOD 280

11.2.4 定时器/计数器控制寄存器TCON 281

11.2.5 定时器/计数器的初始化 284

11.2.6 定时器/计数器的四种工作方式 284

11.2.7 8051系统的串行接口 292

第12章 数组 297

12.1 数值数组 297

12.2 数组元素的表示方法 298

12.3 二维数组 302

12.4 二维数组元素的表示方法 302

12.5 二维数组的初始化 302

12.6 字符数组 304

第13章 指针 306

13.1 指针的概念 306

13.2 指针变量的定义 306

13.3 数组指针与指向数组的指针变量 308

13.4 指向多维数组的指针及指针变量 308

13.5 指针变量的运算 310

13.6 函数指针与指针函数 312

第14章 结构体、共用体及枚举类型 314

14.1 结构体 314

14.1.1 结构体类型的定义 314

14.1.2 结构体变量的定义与引用 315

14.1.3 结构体数组 317

14.1.4 结构体指针 318

14.2 共用体 320

14.2.1 共用体类型的定义 321

14.2.2 共用体变量的定义与引用 321

14.3 枚举类型 323

14.3.1 枚举类型的定义 324

14.3.2 枚举类型变量的赋值和使用 324

第15章 8051单片机应用及Multisim MCU仿真实例集锦 326

15.1 LED闪烁灯 326

15.1.1 实验任务 326

15.1.2 电路原理图 326

15.1.3 程序框图 326

15.1.4 源程序 326

15.2 模拟开关灯 327

15.2.1 实验任务 327

15.2.2 电路原理图 327

15.2.3 程序框图 328

15.2.4 源程序 328

15.3 多路开关状态指示 328

15.3.1 实验任务 328

15.3.2 电路原理图 328

15.3.3 程序框图 328

15.3.4 源程序 329

15.4 广告灯的左移右移 329

15.4.1 实验任务 329

15.4.2 电路原理图 329

15.4.3 程序框图 329

15.4.4 源程序 330

15.5 广告灯(利用取表方式) 331

15.5.1 实验任务 331

15.5.2 电路原理图 331

15.5.3 程序框图 331

15.5.4 源程序 331

15.6 报警产生器 332

15.6.1 实验任务 332

15.6.2 电路原理图 333

15.6.3 程序框图 333

15.6.4 源程序 333

15.6.5 输出波形 334

15.7 I/O并行口直接驱动LED显示 334

15.7.1 实验任务 334

15.7.2 电路原理图 335

15.7.3 程序框图 335

15.7.4 源程序 335

15.8 按键识别方法之一 336

15.8.1 实验任务 336

15.8.2 电路原理图 336

15.8.3 程序框图 336

15.8.4 源程序 336

15.9 一键多功能按键识别技术 337

15.9.1 实验任务 337

15.9.2 电路原理图 338

15.9.3 程序框图 338

15.9.4 源程序 339

15.10 0~99计数器 340

15.10.1 实验任务 340

15.10.2 电路原理图 340

15.10.3 程序框图 340

15.10.4 源程序 341

15.11 00~59秒计时器(利用软件延时) 342

15.11.1 实验任务 342

15.11.2 电路原理图 343

15.11.3 程序框图 343

15.11.4 源程序 343

15.12 预置可逆4位计数器 344

15.12.1 实验任务 344

15.12.2 电路原理图 345

15.12.3 程序框图 345

15.12.4 源程序 346

15.13 4×4矩阵式键盘识别技术 347

15.13.1 实验任务 347

15.13.2 硬件电路原理图 347

15.13.3 程序框图 348

15.13.4 源程序 349

15.14 定时器/计数器T0的定时应用技术(一) 353

15.14.1 实验任务 353

15.14.2 电路原理图 353

15.14.3 流程框图 353

15.14.4 源程序 354

15.15 定时器/计数器T0的定时应用技术(一)——中断法 356

15.16 定时器/计数器T0的定时应用技术(二) 357

15.16.1 实验任务 357

15.16.2 电路原理图 357

15.16.3 流程框图 357

15.16.4 源程序 358

15.17 99秒马表设计 359

15.17.1 实验任务 359

15.17.2 电路原理图 359

15.17.3 源程序 360

15.18 定时中断研究 362

15.18.1 实验任务 362

15.18.2 电路图 362

15.18.3 源程序 362

附录A MCS-51单片机指令表 363

附录B C语言库函数 367

参考文献 387

相关图书
作者其它书籍
返回顶部