实验1 拆字程序 1
1.1 实验内容一 1
1.1.1 利用交换指令编写程序 1
1.1.2 利用逻辑指令编写程序 5
1.1.3 利用除法指令编写程序 6
1.1.4 利用C51编写的程序 6
1.2 实验内容二 7
实验2 子程序 11
2.1 8279初始化及熄灭符序号送显存子程序 11
2.2 显示存储器循环移动5个单元子程序 12
2.3 内部RAM 3AH~3FH(显示存储器)6单元拼合为3单元子程序 13
2.4 内部RAM 3单元拆送内部RAM 6单元子程序 14
2.5 将5位十进制数(<65536)转换成二进制数子程序 16
2.6 将2字节二进制数转换成3字节压缩BCD数(5位十进制数)子程序 17
2.7 键盘输入子程序 19
2.8 将显存(3AH~3FH)数据写入8279显示RAM子程序 20
实验3 十进制数转换为二进制数 23
实验4 二进制数转换为十进制数 30
实验5 P1口实验 37
5.1 P1口简介 37
5.2 使用的实验平台电路 37
5.3 实验内容 37
5.3.1 实验内容一 37
5.3.2 实验内容二 38
5.3.3 实验内容三 40
实验6 系统外部扩展译码实验 43
6.1 译码器和模拟转换开关简介 43
6.1.1 3-8译码器——74LS138 43
6.1.2 双向模拟转换开关——CD4066 43
6.2 实验平台中的外部扩展译码电路 43
6.3 实验内容 44
6.3.1 译码法 44
6.3.2 线选法 44
实验7 8D触发器74LS377实验 46
7.1 8D触发器74LS377介绍 46
7.2 74LS377在实验平台中的电路 46
7.3 实验连线 46
7.4 实验内容 47
7.4.1 实验内容一 47
7.4.2 实验内容二 49
实验8 外部中断和定时器实验 52
8.1 MCS 51的中断系统介绍 52
8.1.1 中断源 52
8.1.2 中断控制 53
8.2 定时器介绍 53
8.3 使用的实验平台电路 54
8.4 实验内容 54
8.4.1 实验内容一 54
8.4.2 实验内容二 56
实验9 8279实验 61
9.1 键盘/显示控制器8279介绍 61
9.1.1 8279的组成与接口信号 61
9.1.2 8279的操作命令 62
9.2 8279在实验平台中的电路 63
9.3 实验内容 63
9.3.1 该实验用到的其他电路 63
9.3.2 实验连线 63
9.3.3 实验程序 64
实验10 8255实验 71
10.1 8255介绍 71
10.1.1 8255在实验平台中的电路 71
10.1.2 方式选择控制字 72
10.1.3 按位置位/复位控制字 72
10.2 方式0实验 72
10.2.1 实验内容 72
10.2.2 该实验用到的其他电路 73
10.2.3 实验连线 73
10.2.4 实验程序 73
10.3 键盘和七段显示器实验 75
10.3.1 实验内容 75
10.3.2 该实验用到的其他电路 75
10.3.3 实验连线 75
10.3.4 实验程序 75
10.4 方式1实验 82
10.4.1 实验内容 82
10.4.2 该实验用到的其他电路 82
10.4.3 实验连线 82
10.4.4 实验程序 82
实验11 串口/并口转换实验 84
11.1 串行口工作方式0和74LS164简介 84
11.1.1 MCS 51单片机串行口工作方式0简介 84
11.1.2 串入并出8位移位寄存器——74LS164 84
11.2 使用的实验平台电路 84
11.3 实验内容 84
实验12 AD转换实验 86
12.1 ADC0809介绍 86
12.1.1 ADC0809的引线信号意义 86
12.1.2 ADC0809在实验平台中的电路 86
12.2 实验连线 87
12.3 实验内容 87
实验13 DA转换实验 91
13.1 DAC0832介绍 91
13.1.1 输入/输出信号 91
13.1.2 控制信号 91
13.2 DAC0832在实验平台中的电路 91
13.3 实验连线 91
13.4 实验内容 92
13.4.1 方波 92
13.4.2 锯齿波 92
13.4.3 三角波 93
13.4.4 正弦波 94
实验14 电子钟实验 96
实验15 直流电机和电机转速测量实验 105
15.1 直流电机 105
15.2 电机转速的测量 105
15.3 使用的实验平台电路 106
15.4 实验连线 106
15.5 实验内容 106
15.5.1 设计思路 107
15.5.2 设计程序 107
实验16 PWM实验 115
16.1 使用的实验平台电路 115
16.2 实验连线 115
16.3 实验程序 115
实验17 步进电机实验 117
17.1 步进电机简介 117
17.2 使用的实验平台电路 117
17.2.1 实验平台上的四相步进电机驱动电路 117
17.2.2 使用的实验平台中的其他电路 118
17.3 实验内容 118
17.3.1 实验连线 118
17.3.2 实验程序 118
实验18 温度测量实验 122
18.1 温度测量原理 122
18.2 热敏电阻及信号放大电路 122
18.3 使用的实验平台上的其他电路 122
18.4 实验连线 122
18.5 实验程序 122
实验19 压力测量实验 127
19.1 压力测量原理 127
19.2 测量电桥及信号放大电路 127
19.3 使用的实验平台上的其他电路 127
19.4 实验连线 127
19.5 实验程序 128
实验20 点阵式液晶显示实验 132
20.1 液晶显示器介绍 132
20.1.1 液晶点阵 132
20.1.2 点阵字型库 132
20.1.3 接口信号 133
20.1.4 命令字简介 133
20.2 液晶显示器在实验平台中的电路 133
20.3 实验连线 134
20.4 实验内容 134
实验21 串行通信实验 146
21.1 串行数据传送 146
21.2 MCS-51的串行口 146
21.2.1 串行口控制寄存器SCON 146
21.2.2 电源控制寄存器PCON 147
21.3 80x86微型计算机串行口的串行通信信号 147
21.4 电平转换电路——RS-232收发器 147
21.5 实验内容 148
21.5.1 两台MCS-51单片机间的通信 148
21.5.2 MCS-51单片机与80x86微型计算机的通信 155
附录A 超想3000仿真器使用说明 161
A.1 超想仿真器的连接和仿真软件的安装 161
A.1.1 超想仿真器的连接 161
A.1.2 仿真软件的安装 161
A.1.3 Super Image-3000 Win 98的启动 161
A.1.4 仿真器连接的实际串口的设置 162
A.1.5 仿真模式的选择 162
A.2 Super Image-3000 Win 98简介 163
A.2.1 菜单栏和工具栏中的常用命令 163
A.2.2 Super Image-3000 Win 98工作区 164
A.2.3 快捷菜单命令 164
A.3 常用窗口及其主要操作 166
A.3.1 源文件编辑窗口 166
A.3.2 调试窗口 167
A.3.3 存储器窗口 170
A.3.4 寄存器窗口 171
A.3.5 变量窗口 171
附录B MCS-51单片机C语言程序设计 173
B.1 C51的程序结构 173
B.2 变量 174
B.2.1 常量和变量 174
B.2.2 数组变量 175
B.2.3 指针变量 176
B.3 C51的运算符 176
B.3.1 赋值运算符 176
B.3.2 最基本的算术运算符 176
B.3.3 关系运算符 176
B.3.4 逻辑运算符 177
B.3.5 位操作运算符 177
B.3.6 逻辑移位运算符 177
B.3.7 自增/减运算符 177
B.3.8 复合赋值运算符 177
B.3.9 取地址运算符 178
B.3.10 间址运算符 178
B.4 C51对存储器和特殊功能寄存器的访问 178
B.4.1 C51对特殊功能寄存器及其可寻址位的访问 178
B.4.2 对存储器和外部扩展I/O的绝对地址访问 178
B.5 函数 179
B.5.1 函数的分类 179
B.5.2 函数的定义 179
B.5.3 函数的调用 180
B.5.4 中断函数 180
B.6 C51的程序控制语句 180
B.6.1 if语句 180
B.6.2 while语句 181
B.6.3 do{语句;}while(表达式) 181
B.6.4 for语句 181
附录C Visual C++使用简介 182
C.1 建立工程文件 182
C.2 添加编辑框 182
C.3 利用C1assWizard为发送/接收编辑框映射int型(整型)变量 183
C.4 添加嵌套汇编发送函数 183
C.5 添加嵌套汇编接收函数 183
C.6 为“发送”按钮添加函数 184
C.7 添加全局变量 185
C.8 为“发送”按钮添加函数 185
C.9 编译链接使用 185
附录D MCS 51指令表 187