
MCS-51单片机应用实验指导书东南大学仪器科学与工程学院2007年1
1 MCS-51 单片机应用 实 验 指 导 书 东南大学仪器科学与工程学院 2007 年

前言“XYZ22型综合实验仪”适用于测控类及弱电类专业大学本科生以下课程的实验和实践教学:《MCS-51单片机原理、接口及应用》、《检测(测控)技术及系统设计》、《智能仪器原理与设计技术》等;也适用于测控类及弱电类专业硕土研究生以下课程的实验和实践教学:《智能仪器设计》、《智能测控系统设计》等;也可以被相关专业的大专生选用。本实验装置采用模块化设计,将有相互联系的各专业课程的实验组合起来,包含这些专业课程要求的若干单个实验,最后形成“从传感器→前置调理、接口电路→A/D转换电路→计算机(单片机)→后置接口电路→测控对象”接近实际应用系统的软硬件设计调试综合实验。训练和提高学生在检测(测控)技术及智能技术应用系统方面的设计调试能力。同时,帮助学生将各专业课程内容综合起来,融会贯通,形成系统的概念,迅速迈过从理论到实际的门槛。大多数实验的实验内容都设置了基本要求和高级要求,能够满足不同层次学生的需要。MCS-51系列单片微型计算机现在被广泛应用的主要有四个产品:8051(80C51)、8031(80C31)、8751(87C51)和8951(89C51)。它们之间的主要差别在于:8051片内有4K(8位)ROM的程序存储器;8751片内有4K(8位)EPROM的程序存储器;8951片内有4K(8位)EEPROM的程序存储器;8031片内无程序存储器,必须外接程序存储器。8051单片机有三个八位准双向口P1、P2、P3口,一个双向总线PO口。P2口和PO口一般作为系统扩展的地址线和数据线。P1口作为I/O口。P3口为多功能口,既可作为I/O口,又可作为特殊的第二功能口。8051单片机有二个十六位的可编程定时器/计数器T0和T1,有4种操作方式。可用于定时、外部计数及串行口波特率发生器。8051单片机有一全双工串行口,也有4种工作方式。8051单片机有五个中断源。中断入口地址为:0003H外中断O(/INTO)中断000BH定时器/计数器0(TO)中断0013H外中断1(/INT1)中断001BH定时器/计数器1(T1)中断0023H串行口(SIO)接收、发送中断8051单片机有128个字节的内部RAM存储器。另有21个特殊功能寄存器,供CPU使用。8051单片机有111条指令,有7种寻址方式。8051单片机允许的晶振频率为1.2M~12MHZ,通常使用6MHZ和12MHZ。8051单片机可扩展外部数据存储器和外部程序存储器,扩展输入和输出接口,外接键盘、显示器、打印机及其它外部设备,广泛应用在中、小型测控系统和智能仪器、仪表中。祝学云2
2 前 言 “XYZ22 型综合实验仪”适用于测控类及弱电类专业大学本科生以下课程 的实验和实践教学:《MCS-51 单片机原理、接口及应用》、《检测(测控)技术 及系统设计》、《智能仪器原理与设计技术》等;也适用于测控类及弱电类专业硕 士研究生以下课程的实验和实践教学:《智能仪器设计》、《智能测控系统设计》 等;也可以被相关专业的大专生选用。 本实验装置采用模块化设计,将有相互联系的各专业课程的实验组合起来, 包含这些专业课程要求的若干单个实验,最后形成“从传感器→前置调理、接口 电路→A/D 转换电路→计算机(单片机)→后置接口电路→测控对象”接近实际 应用系统的软硬件设计调试综合实验。训练和提高学生在检测(测控)技术及智 能技术应用系统方面的设计调试能力。同时,帮助学生将各专业课程内容综合起 来,融会贯通,形成系统的概念,迅速迈过从理论到实际的门槛。 大多数实验的实验内容都设置了基本要求和高级要求,能够满足不同层次学 生的需要。 MCS-51 系列单片微型计算机现在被广泛应用的主要有四个产品:8051 (80C51)、8031(80C31)、8751(87C51)和 8951(89C51)。它们之间的主要 差别在于: 8051 片内有 4K(8 位)ROM 的程序存储器; 8751 片内有 4K(8 位)EPROM 的程序存储器; 8951 片内有 4K(8 位)EEPROM 的程序存储器; 8031 片内无程序存储器,必须外接程序存储器。 8051 单片机有三个八位准双向口 P1、P2、P3 口,一个双向总线 P0 口。P2 口和 P0 口一般作为系统扩展的地址线和数据线。P1 口作为 I/O 口。P3 口为多功 能口,既可作为 I/O 口,又可作为特殊的第二功能口。 8051 单片机有二个十六位的可编程定时器/计数器 T0 和 T1,有 4 种操作方 式。可用于定时、外部计数及串行口波特率发生器。 8051 单片机有一全双工串行口,也有 4 种工作方式。 8051 单片机有五个中断源。中断入口地址为: 0003H 外中断 0(/INT0)中断 000BH 定时器/计数器 0(T0)中断 0013H 外中断 1(/INT1)中断 001BH 定时器/计数器 1(T1)中断 0023H 串行口(SIO)接收、发送中断 8051 单片机有 128 个字节的内部 RAM 存储器。另有 21 个特殊功能寄存器, 供 CPU 使用。 8051 单片机有 111 条指令,有 7 种寻址方式。 8051 单片机允许的晶振频率为 1.2M~12MHZ,通常使用 6MHZ 和 12MHZ。 8051 单片机可扩展外部数据存储器和外部程序存储器,扩展输入和输出接 口,外接键盘、显示器、打印机及其它外部设备,广泛应用在中、小型测控系统 和智能仪器、仪表中。 祝学云

目录第一章实验设备介绍1一.实验设备的联接二:伟福(WAVE)G6W型单片机仿真开发器介绍三.XYZ22型综合实验仪介绍第二章程序设计实验11实验一11数据传送实验.实验二多字节十进制加法实验1214第三章I/0口(8255)扩展及外部中断实验.14实验三8255输入输出实验实验四外部中断实验1618第四章LED显示器及行列式键盘扩展实验实验五18动态LED显示实验.实验六22键盘显示器扩展实验.第五章计数器定时器实验26实验七计数器实验..26实验八定时器(时钟)实验29第六章串行通信实验3333实验九串行通信实验39第七章D/A及A/D实验39实验十D/A转换实验(DAC0832)实验十一:A/D转换实验(ICL7135)413
3 目 录 第一章 实验设备介绍 1 一.实验设备的联接.1 二.伟福(WAVE)G6W 型单片机仿真开发器介绍 .1 三.XYZ22 型综合实验仪介绍 .2 第二章 程序设计实验 11 实验一 数据传送实验.11 实验二 多字节十进制加法实验.12 第三章 I/O 口(8255)扩展及外部中断实验 14 实验三 8255 输入输出实验 .14 实验四 外部中断实验.16 第四章 LED 显示器及行列式键盘扩展实验 18 实验五 动态 LED 显示实验.18 实验六 键盘显示器扩展实验.22 第五章 计数器定时器实验 26 实验七 计数器实验.26 实验八 定时器(时钟)实验.29 第六章 串行通信实验 33 实验九 串行通信实验.33 第七章 D/A 及 A/D 实验 39 实验十 D/A 转换实验(DAC0832) .39 实验十一 A/D 转换实验(ICL7135) .41

第一章 实验设备介绍,实验设备的联接XYZ22型单片机仿测量控制PC机综合实验真开发器对象仪图1设备联接二:伟福(WAVE)G6W型单片机仿真开发器介绍G6W型单片机仿真开发器含有WINDOWS、DOS版本双平台:可选择不同配置的仿真头(仿真不同的CPU);仿真头上有一个晶振跳线器(选用内、外晶振),出厂设置选用内晶振;打开电源时,先接通仿真器电源,再接通外部用户板(实验仪)的电源。防止CMOS型的CPU芯片过流,造成芯片温度过高。1.安装及基本参数设置1)安装进入C:I盘符下,建立子目录C:151,将编译器安装到C:151目录下即可。2)基本参数设置选择伟福汇编器:选择G6W及POD-51型仿真头、8031CPU选择程序空间在仿真器上、数据空间在用户板上:选择仿真器与PC机连接的串行端口。2.编辑、编译、执行及修改文件1)编辑及修改新建一个文件或打开一个文件,对此文件进行编辑及修改,最后将其保存。汇编文件的文件名后缀为ASM。3)编译对当前窗口文件进行编译、校验,如果程序文件有错,信息窗口将提示出错信息,以便用户修改。4)执行与退出包括全速、跟踪、单步、执行到光标处等几种程序执行方式。4
4 第一章 实验设备介绍 一.实验设备的联接 图 1 设备联接 二.伟福(WAVE)G6W 型单片机仿真开发器介绍 G6W 型单片机仿真开发器含有 WINDOWS、DOS 版本双平台; 可选择不同配置的仿真头(仿真不同的 CPU); 仿真头上有一个晶振跳线器(选用内、外晶振),出厂设置选用内晶振; 打开电源时,先接通仿真器电源,再接通外部用户板(实验仪)的电源。防 止 CMOS 型的 CPU 芯片过流,造成芯片温度过高。 1. 安装及基本参数设置 1) 安装 进入 C:\ 盘符下,建立子目录 C:\51,将编译器安装到 C:\51 目录下即可。 2) 基本参数设置 选择伟福汇编器; 选择 G6W 及 POD-51 型仿真头、8031 CPU; 选择程序空间在仿真器上、数据空间在用户板上; 选择仿真器与 PC 机连接的串行端口。 2. 编辑、编译、执行及修改文件 1)编辑及修改 新建一个文件或打开一个文件,对此文件进行编辑及修改,最后将其保存。 汇编文件的文件名后缀为 .ASM。 3) 编译 对当前窗口文件进行编译、校验,如果程序文件有错,信息窗口将提示出 错信息,以便用户修改。 4) 执行与退出 包括全速、跟踪、单步、执行到光标处等几种程序执行方式。 PC机 单 片 机 仿 真 开 发 器 XYZ22型 综 合 实 验 仪 测 量 控 制 对 象

3.在窗口中检查RAM及特殊功能寄存器的内容全速运行程序后,要先“暂停”再检查存储器内容。CPU窗口包含源程序的反汇编代码、特殊功能寄存器状态等。数据窗口包含内部RAM和外部RAM的状态等。三.XYZ22型综合实验仪介绍一)面板功能块分布图D双蓝CMS0/ : (2) S578()I5hen路LH96()-002V单73048(0201000赔申 辣x(-/+)"OL路20电LLNI/*OLNI/ONON*SOI :(1)LA/~ENN管器申(/+)丫鲜丑屏uo)81~11zzts101(-/+)(-/+)LnO招申召SS781608"NID"SUa路'O电器"SAS大on用8S丫QM政星路输输AS-"AZI-"A0'AZI+AS+"AS'2+电源关0/用#/TmOAR00妞香器开XHZu子电入8纽压3入输输丽电输输图2面板功能块分布图5
5 3. 在窗口中检查 RAM 及特殊功能寄存器的内容 全速运行程序后,要先“暂停”再检查存储器内容。 CPU 窗口包含源程序的反汇编代码、特殊功能寄存器状态等。 数据窗口包含内部 RAM 和外部 RAM 的状态等。 三.XYZ22 型综合实验仪介绍 一)面板功能块分布图 图 2 面板功能块分布图

二)功能块分类1.电源部分外接+5V,+12V,-12V电源。实验板上有以下电源插孔:+2.5V.+5V.+12V.-5V.-12V及0V(GND)。实验板上每一功能块电源独立控制,由短路块连通。测量电桥2.电源+2.5V。Rx为热敏电阻Pt100(调试时接电阻箱)。输出Vout1l、Vout12。WR3为调零电位器。*Vout*Vout12图3测量电桥测量放大器3.电源+12V,-12V。输入Vin41、Vin42,输出Vout4。WR4为增益调整电位器,WR5为调零电位器。6
6 二)功能块分类 1. 电源部分 外接+5V,+12V,-12V 电源。 实验板上有以下电源插孔:+2.5V, +5V, +12V, -5V, -12V 及 0V(GND)。 实验板上每一功能块电源独立控制,由短路块连通。 2. 测量电桥 电源+2.5V。 Rx 为热敏电阻 Pt100(调试时接电阻箱)。 输出 Vout11、Vout12。 WR3 为调零电位器。 图 3 测量电桥 3. 测量放大器 电源+12V,-12V。 输入 Vin41、Vin42, 输出 Vout4。 WR4 为增益调整电位器,WR5 为调零电位器。 Rx PT100 R2 1K R1 910 R3 100 +2.5V WR3 300 *Vout12 *Vout11

E1120F12154+12V图4测量放大器4.电压衰减器电源+12V,-12V。输入Vin2,输出Vout2。衰减倍数:1/6(J01通)(J02通)1/31/2(J03通)OP-07图 5 电压衰减器
7 图 4 测量放大器 4.电压衰减器 电源+12V,-12V。 输入 Vin2, 输出 Vout2。 衰减倍数: 1/6 (J01 通) 1/3 (J02 通) 1/2 (J03 通) 图 5 电压衰减器 3 2 6 7 1 8 4 U 3 OP-07 3 2 6 7 1 8 4 U 4 R5 OP-07 4K R6 10K R7 20K R4 20K +12V -12V +12V -12V Vin2 END Vout2 J01 J02 J03

5.四位半A/D转换电路(ICL7135)电源+2.5V.5V.-5V。输入Vin5。使用单端输入INH1,INHO(负端输入)已接地。输入范围为0-1.999V,对应的输出数据为00000-19999。转换状态信号BUSY(A/D转换时为高电平,转换结束时为低电平)。可供查询或中断申请用。时钟CLKIN接1/8ALE,单片机晶振频率为12MHZ,则1/8ALE为250KHZ,转换频率约为6次/秒。转换控制端R/H已接高电平,表示ICL7135将连续自动转换。当输入信号超过1.999V时,过量程标志OVER输出高电平。当输入信号小于量程的9%(0.1800V)时,欠量程标志UNDER输出高电平。但在单端输入时,输入信号在0V-0.1800V时并不影响A/D转换器的正常工作。位状态输出D5、D4、D3、D2、D1,分别表示现时输出的数据为万、千、百、十、个位。BCD码数据输出为B8、B4、B2、B1。WR6调整ICL7135第2脚(标准电压端VREF)电压为1.000V。U12ICL7135BUSYINTOUTBUSYS7010.47uC4OVERNOVERnUNDERUNDERo.1BUFOUTB8B4B2CREF-BI0B8-B1luCREF+B0INHI00-C60.luCLKINCLKININLO+5VOR192R/H-5VOD+SVR175.1kVREF+2.5VH24AGNDDGNDKWR6OK图6A/D转换电路(ICL7135)6.D/A转换电路(DAC0832)电源+5V,+12V,-12V。输入D7~D0(00H-FFH),输出Vout3(0-5V)。写信号/WR,片选信号/CS。标准电压端VREF,反馈电阻端RFB,反馈端FG。8
8 5. 四位半 A/D 转换电路(ICL7135) 电源+2.5V, 5V, -5V。 输入 Vin5。使用单端输入 INH1,INH0(负端输入)已接地。输入范围为 0-1.999V,对应的输出数据为 00000-19999。 转换状态信号 BUSY(A/D 转换时为高电平,转换结束时为低电平)。可供查 询或中断申请用。 时钟 CLKIN 接 1/8 ALE,单片机晶振频率为 12MHZ,则 1/8 ALE 为 250KHZ, 转换频率约为 6 次/秒。转换控制端 R/H 已接高电平,表示 ICL7135 将连续自动 转换。 当输入信号超过 1.999V 时,过量程标志 OVER 输出高电平。 当输入信号小于量程的 9%(0.1800V)时,欠量程标志 UNDER 输出高电平。 但在单端输入时,输入信号在 0V-0.1800V 时并不影响 A/D 转换器的正常工作。 位状态输出 D5、D4、D3、D2、D1,分别表示现时输出的数据为万、千、百、 十、个位。 BCD 码数据输出为 B8、B4、B2、B1。 WR6 调整 ICL7135 第 2 脚(标准电压端 VREF)电压为 1.000V。 图 6 A/D 转换电路(ICL7135) 6. D/A 转换电路(DAC0832) 电源+5V,+12V,-12V。 输入 D7~D0(00H-FFH),输出 Vout3(0-5V)。 写信号/WR,片选信号/CS。 标准电压端 VREF,反馈电阻端 RFB,反馈端 FG。 BUSY B8-B1 D1-D5 CLKIN C4 0.1u C3 0.47u C5 1u C6 0.1u R18 100K R19 5.1k +5V Vin5 OVER UNDER R17 1K WR6 2K +2.5V AGND 3 INTOUT 4 VREF 2 A Z 5 V - 1 BUFOUT 6 V + 11 CREF- 7 CLKIN 22 CREF+ 8 POL 23 INHI 10 D 5 12 INLO 9 D 4 17 R/H 25 D 3 18 DGND 24 D 2 19 BUSY 21 D 1 20 ST 26 B1 13 OVER 27 B2 14 UNDER 28 B4 15 B8 16 U12 ICL7135 +5V -5V

USDAC0832VCCRWRILETVREEDDSMItoDD3D2D2DDIDGNDGND图 7 D/A转换电路(DAC0832)7.钮子开关电路电源+5V。输出为K1~K8。钮子开关拨向上方输出为低“0”,拨向下方输出为高“1”GND+5VIK X8图8钮子开关电路8.LED发光二极管电路电源+5V。输入为L1~L8。输入为高时发光二极管亮,输入为低时发光二极管灭(7406为反向驱动器)。51L2L3L4L5L1L6L7L8图9LED发光二极管电路
9 图 7 D/A 转换电路(DAC0832) 7. 钮子开关电路 电源+5V。输出为 K1~K8。 钮子开关拨向上方输出为低“0”,拨向下方输出为高“1”。 图 8 钮子开关电路 8. LED 发光二极管电路 电源+5V。输入为 L1~L8。 输入为高时发光二极管亮,输入为低时发光二极管灭(7406 为反向驱动器)。 图 9 LED 发光二极管电路 VCC 11 ILE 12 VREF 13 RFB 14 Iout11 15 Iout12 16 XFER 17 WR2 18 DGND 19 AGND 20 CS 1 WR1 2 D 7 3 D 6 4 D 5 5 D 4 6 D 3 7 D 2 8 D 1 9 D 0 10 CS W R D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 U5 DAC0832 +5V 3 2 6 7 1 8 4 U 6 3 2 6 7 1 8 4 U 7 -12V +12V R8 20K R9 20K -12V +12V Vout3 FG +5V GND K 1 K 2 K 3 K 4 K 5 K 6 K 7 K 8 1K X8 +5V L 1 L 2 L 3 L 4 L 5 L 6 L 7 L 8 200x8 1 2 A 1 2 A 1 2 A 1 2 A 1 2 A 1 2 A 1 2 A 1 2 A 7406x2

U9.单脉冲输出电路电源+5V。K为按钮。R26R274.3K4.3图10单脉冲输出电路10.8031扩展8255(1)电源+5V。8031引出端/INTO、/INT1、TO、T1、/WR、/RD。8255(1)片选信号为/CS,PA口为PA7~PA0,PB口为PB7~PB0,PC口为PC7~PC0。译码电路74138输出/Y3~/Y7,地址范围为6000H~FFFFH。双分频电路74393一路输出为1/4ALE、1/8ALE(输入已接ALE);另一路输入为Qin,输出为Q0~Q3(2分频~16分频)。原理图见下页(图11)。11.利用8255(2)扩展LED显示器及行列式键盘电源+5V。8255(2)片选信号为/CS。LED显示器为共阴极,MC1413为反向驱动器,三极管9013为正向驱动。原理图见下页(图12)。12.RS-422串行口电源+5V。输入为IN(+/-),输出为OUT(+/-)。U18A1,2EN8031RXD(+)IV1/4MC3486U19A(+)1,2ENIYOUT18031TXD()IA2Y22图13RS-422串行口10
10 9. 单脉冲输出电路 电源+5V。K 为按钮。 图 10 单脉冲输出电路 10. 8031 扩展 8255(1) 电源+5V。 8031 引出端 /INT0、/INT1、T0、T1、/WR、/RD。 8255(1)片选信号为 /CS,PA 口为 PA7~PA0,PB 口为 PB7~PB0,PC 口为 PC7~PC0。 译码电路 74138 输出 /Y3 ~ /Y7,地址范围为 6000H~FFFFH。 双分频电路 74393 一路输出为 1/4 ALE、1/8 ALE(输入已接 ALE);另一路 输入为 Qin,输出为 Q0~Q3(2 分频~16 分频)。 原理图见下页(图 11)。 11. 利用 8255(2)扩展 LED 显示器及行列式键盘 电源+5V。 8255(2)片选信号为 /CS。 LED 显示器为共阴极,MC1413 为反向驱动器,三极管 9013 为正向驱动。 原理图见下页(图 12)。 12. RS-422 串行口 电源+5V。 输入为 IN(+/-),输出为 OUT(+/-)。 图 13 RS-422 串行口 1 2 3 1 2 3 R26 4.3K R27 4.3K +5V +5V 7400 7400 1,2EN 4 1A 1 1Y 2 1Z 3 2A 7 2Y 6 2Z 5 U19A 1/4 MC3487 8031 TXD (+) (-) OUT 2Y 5 1Y 3 1,2EN 4 2B 7 2A 6 1B 1 1A 2 U18A 1/4MC3486 8031 RXD (+) (-) I N