本书共分10章和3个附录。第1章介绍计算机组成的基本知识;第2~6章以嵌入式计算机为主,介绍计算机的硬件组成;第7章介绍计算机的总线;第8章介绍计算机的外部设备;第9章介绍嵌入式计算机内部的A/D、D/A及PWM电路;第10章介绍汇编语言的程序设计实例。3个附录详细介绍本教材计算机组成实验系统中实验板的硬件组成和资源、ISP程序的下载方法以及汇编程序的编写方法。3个附录实用性强,可作为配套实验参考内容,贯彻通过实验锻炼学生能力的宗旨,也为学生后续课程的学习、课程设计及课外创新研究打下基础。
本书既可作众多电子类及部分计算机类专业学习计算机组成和单片机原理课程的教材,也可供工程技术人员在学习计算机原理和汇编语言时作参考。
本书是采用嵌入式计算机平台来讲授计算机组成原理课程的教材。内容包括:绪论、计算机的运算基础、中央处理器及计算机的体系结构、存储器结构、汇编语言程序设计、输入/输出系统、总线、计算机外部设备、A/D、PWM、程序设计实例。本书将实验穿插在相关的章节中,在附录中介绍了实验系统的组成及使用方法。
本书内容充实,概念清晰,深入浅出,通俗易懂。在写作过程中注重内容的先进性、实用性,特别强调实验动手能力的训练。
本书既可作众多电子类及部分计算机类专业学习计算机组成和单片机原理课程的教材,也可供工程技术人员在学习计算机原理和汇编语言时作参考。
第1章 绪论
1.1 计算机的发展、分类及应用1
1.1.1 计算机的发展历史1
1.1.2 计算机的分类2
1.1.3 计算机的应用2
1.2 计算机的硬件组成3
1.2.1 中央处理器CPU5
1.2.2 存储器6
1.2.3 I/O接口及外部设备等8
1.3 计算机的工作过程9
实验1 计算机的“存储程序”运行9
1.4 计算机的软件组成9
1.4.1 程序设计语言10
实验2 汇编语言程序设计12
1.4.2 系统软件13
1.4.3 应用软件14
基本要求和思考题14
第2章 计算机的运算基础
2.1 数制及数制间的转换16
2.1.1 数的进制16
2.1.2 数制之间的转换17
2.2 计算机中数的表示法20
2.2.1 计算机中二进制数的表示方法与运算20
实验3 数的运算操作21
2.2.2 定点数的原码、反码和补码24
2.2.3 二进制数的逻辑运算与逻辑符号25
实验4 逻辑运算27
2.3 非数值数据的表示方法28
2.3.1 BCD码及ASCII码28
2.3.2 汉字的编码29
2.4 代码错误检测与纠错31
2.4.1 奇偶校验32
2.4.2 累加和校验32
2.4.3 循环冗余码校验33
2.4.4 海明码36
基本要求和思考题38
第3章 中央处理器及计算机的体系结构
3.1 中央处理器40
3.1.1 控制器41
3.1.2 运算器43
3.2 MCS51微处理器的组成44
实验5 双字节加、减数据运算47
3.3 时序发生器和指令周期47
3.3.1 时钟振荡器48
3.3.2 指令周期48
3.3.3 复位49
3.4 新型处理器50
3.4.1 顺序方式50
3.4.2 并行方式51
3.4.3 流水控制方式52
3.4.4 RISC技术53
3.4.5 多核处理器技术54
3.5 32位嵌入式微处理器ARM55
3.5.1 ARM的特点56
3.5.2 ARM系列56
实验6 奇偶校验57
基本要求和思考题58
第4章 存储器结构
4.1 存储系统概述59
4.1.1 存储器的作用59
4.1.2 存储系统的组成59
4.1.3 存储器的分类60
4.2 半导体存储器61
4.2.1 存储器的性能技术指标62
4.2.2 随机存储器的组成63
4.3 MCS51单片机的存储器结构64
4.3.1 程序存储器64
4.3.2 数据存储器65
4.3.3 外部存储器的访问70
4.3.4 寻址方式70
实验7 寻址方式 73
4.3.5 堆栈74
实验8 堆栈75
基本要求和思考题76
第5章 汇编语言程序设计
5.1 汇编程序77
5.1.1 汇编语言的特点及其语句格式78
5.1.2 汇编语言的伪指令79
5.1.3 汇编语言的汇编82
5.2 MCS51单片机指令系统83
5.2.1 数据传送指令(29条)83
实验9 数据交换86
5.2.2 算术运算指令(24条)88
实验10 十进制加法运算91
5.2.3 逻辑操作指令 91
5.2.4 控制转移指令93
实验11 编写延时程序95
5.2.5 布尔操作指令(17条)97
基本要求和思考题98
第6章 输入/输出系统
6.1 I/O端口99
6.1.1 MCS51单片机的I/O端口99
6.1.2 I/O端口的结构与操作100
实验12 I/O端口的应用102
6.2 MCS51单片机的串行通信口102
6.2.1 RS232串行通信简介102
6.2.2 MCS51单片机串行口结构103
6.2.3 串行口的工作方式105
6.2.4 定时/计数器108
实验13 定时/计数器的应用113
6.2.5 串行通信波特率的设置113
6.3 并行通信115
6.4 数据交换方式117
6.4.1 查询方式117
实验14 查询方式的应用118
6.4.2 中断方式119
6.4.3 MCS51单片机的中断系统120
实验15 中断的应用125
6.4.4 直接内存访问(DMA)方式125
基本要求和思考题129
第7章 总线
7.1 总线概述142
7.1.1 总线的分类142
7.1.2 数据总线、地址总线和控制总线131
7.1.3 总线的组成132
7.2 计算机常用标准总线133
7.2.1 I2C总线134
7.2.2 其他总线137
基本要求和思考题140
第8章 计算机外部设备
8.1 外部设备简介142
8.1.1 外部设备的类型与作用142
8.1.2 计算机外部设备的基本组成 143
8.2 显示器143
8.2.1 发光二极管(LED)显示器144
实验16 串行驱动LED的显示147
8.2.2 液晶显示器148
8.3 键盘设备152
8.3.1 矩阵键盘152
实验17 矩阵键盘实验155
8.3.2 智能键盘155
8.4 外部存储器156
8.4.1 硬盘存储器156
8.4.2 光盘、闪存及U盘157
8.4.3 EEPROM存储设备158
实验18 STC89C52 RC单片机内嵌EEPROM访问实验161
基本要求和思考题162
第9章 单片机的A/D与PWM
9.1 STC12C5410AD单片机简介163
9.2 单片机中A/D转换器的组成与应用165
9.2.1 A/D转换器的组成165
9.2.2 A/D转换器使用示例167
9.3 单片机中PWM/PCA的组成及应用169
9.3.1 PWM/PCA的组成169
9.3.2 PWM时间基准及输出脉冲宽度的控制173
9.3.3 PWM的应用实验174
基本要求和思考题176
第10章 程序设计实例
10.1 简单程序设计 178
10.2 分支程序设计179
10.3 循环程序设计181
10.4 LED显示驱动子程序182
10.5 自检程序设计184
10.6 时钟程序设计186
10.7 RS232串行通信程序设计189
10.8 EEPROM读/写程序191
10.9 键盘子程序194
附录A XHD2计算机组成实验系统简介
A.1 XHD2计算机组成实验系统简介198
A.2 XHD2实验板的组成199
A.3 XHD2实验板的跳线连接205
A.4 XHD2实验板的扩充208
A.5 XHD3实验板208
附录B 软件ISP下载方法
B.1 下载前的准备211
B.2 STC_ISP程序下载注意事项214
附录C MCS51单片机汇编软件编译方法
C.1 编译说明215
C.2 编译步骤216
C.3 Keil开发环境介绍218
C.4 出错信息222