
MCS-51单片机实验讲义 北京工商大学信息工程学院
- i - MCS-51 单片机实验讲义 北京工商大学信息工程学院

目录 第一章概述 第二章实验系统组成和结构. 第三章MCS-51系列单片机实验 软件实验 1.存储器块清零 2.二进制到BCD码转换 3.二进制到ASCI码转换 4.内存块移动 5.程序跳转表 6.数据排序 硬件实验 1.P1口输入输出 2.继电器控制 3.用74LS245读入数据 4.用74LS273输出数据 27 5.PWM转换电压实验 6.音频控制 7.用8255输入、输出. 8串行数转换并行数 9.并行数转换串行数 10.计数器实验 11.外部中断实验 12.定时器实验 38 13.D/A转换实验 14.AD转换实验 5.外部中断实验(急救车与交通灯) 16.八段数码管显示 17.键盘扫描显示实验 18.电子时钟 19.单片机串行口通讯实验 20.打印机控制实验 21.直流电机控制实验 步进电机控制实验 23.温度传感器实验 61
- ii - 目 录 第一章 概述...................................................................................................................1 第二章 实验系统组成和结构............................... .......................................................3 第三章 MCS-51 系列单片机实验 .............................................................................16 软件实验 1. 存储器块清零.......................................... ..................................................17 2. 二进制到 BCD 码转换............... ...............................................................18 3. 二进制到 ASCII 码转换.............................................................................19 4. 内存块移动................................................................................................. 20 5. 程序跳转表...................................................................................................21 6. 数据排序.......................................................................................................22 硬件实验 1. P1 口输入输出 ............................................................................................23 2. 继电器控制...................................................................................................25 3. 用 74LS245 读入数据..................................................................................26 4. 用 74LS273 输出数据.................................................................................. 27 5. PWM 转换电压实验.................................................................................... .28 6. 音频控制........................................................................................................29 7. 用 8255 输入、输出......................................................................................30 8. 串行数转换并行数 ................................................................................... 31 9. 并行数转换串行数........................................................................................33 10. 计数器实验....................................................................................................35 11. 外部中断实验................................................................................................36 12. 定时器实验....................................................................................................38 13. D/A 转换实验.................................................................................................40 14. A/D 转换实验.................................................................................................42 15. 外部中断实验(急救车与交通灯)....................................................................44 16. 八段数码管显示...............................................................................................46 17. 键盘扫描显示实验...........................................................................................48 18. 电子时钟...........................................................................................................40 19. 单片机串行口通讯实验...................................................................................52 20. 打印机控制实验...............................................................................................54 21. 直流电机控制实验...........................................................................................56 22. 步进电机控制实验...........................................................................................58 23. 温度传感器实验...............................................................................................61

24.液晶显示屏控制实验 25.电子琴 64 6.空调温度控制实验 27.计算器实验 28.压力传感器实验 9.红外通讯实验 30.16x16点阵显示实验 31.2C总线实验 第四章逻辑分析工具 第五章系统自检功能
- iii - 24. 液晶显示屏控制实验..............................................................................62 25. 电子琴......................................................................................................64 26. 空调温度控制实验..................................................................................66 27. 计算器实验..............................................................................................69 28. 压力传感器实验......................................................................................71 29. 红外通讯实验..........................................................................................72 30. 16x16 点阵显示实验................................................................................76 31. I2C 总线实验.. .........................................................................................78 第四章 逻辑分析工具..............................................................................................80 第五章 系统自检功能..............................................................................................83

第一章概述 1.1系统实验板 本实验板提供以下实验电路和模块 (1)逻辑电平输入开关 (2)逻辑电平显示电路 (3)单脉冲电路 (4)扬声器驱动电路 (5)继电器控制电路 (6)逻辑门电路 (7)逻辑笔电路 (8)4Mz脉冲信号源和多级分频电路,可得多种脉冲信号。 (9)PwM转换电压电路 (10)模拟量电压(电位器)电路 (11)串口通信实验电路 (12)六位8段码LED数字显示器 (13)4x6键盘 (14)存储器 (15)8255端口扩展电路 (16)模数变换电路,可接入两路模拟量 (17)数模变换电路,提供0~-5V,-5V~+5V,-8V~+8V三路输出 (18)液晶屏显示电路 (19)直流电机实验模块 (20)步进电机实验控制模块 (21)打印机驱动实验模块 (22)温度传感器实验模块 (23)压力传感器实验模块 (24)红外通讯实验模块 (25)16x16点阵显示实验模块 (26)IC总线实验模块 (27)8251A串行口扩展电路 (28)8253定时器扩展电路 (29)8259中断扩展电路 (30)8237DMA扩展电路 (31)通用集成电路插座(DIP40/28/24/20/18/16/14) (32)地址译码输出模块 (33)地址、数据及控制电路总线接出接口模块
- 1 - 第一章 概述 1.1 系统实验板 本实验板提供以下实验电路和模块 (1) 逻辑电平输入开关 (2) 逻辑电平显示电路 (3) 单脉冲电路 (4) 扬声器驱动电路 (5) 继电器控制电路 (6) 逻辑门电路 (7) 逻辑笔电路 (8) 4MHz 脉冲信号源和多级分频电路,可得多种脉冲信号。 (9) PWM 转换电压电路 (10) 模拟量电压(电位器)电路 (11) 串口通信实验电路 (12) 六位 8 段码 LED 数字显示器 (13) 4x6 键盘 (14) 存储器 (15) 8255 端口扩展电路 (16) 模数变换电路,可接入两路模拟量。 (17) 数模变换电路,提供 0~-5V,-5V~+5V,-8V~+8V 三路输出 (18) 液晶屏显示电路 (19) 直流电机实验模块 (20) 步进电机实验控制模块 (21) 打印机驱动实验模块 (22) 温度传感器实验模块 (23) 压力传感器实验模块 (24) 红外通讯实验模块 (25) 16x16 点阵显示实验模块 (26) I 2 C 总线实验模块 (27) 8251A 串行口扩展电路 (28) 8253 定时器扩展电路 (29) 8259 中断扩展电路 (30) 8237 DMA 扩展电路 (31) 通用集成电路插座(DIP40/28/24/20/18/16/14) (32) 地址译码输出模块 (33) 地址、数据及控制电路总线接出接口模块

(34)逻辑分析仪数字采样和可编程数字脉冲信号输出模块 (35)虚拟示波器 1.2仿真器系统构成 本仿真实验系统具有三种使用方法: (1)无系统机,仅用实验仪的板上仿真器进行仿真和实验 (2)有系统机,用系统机上的集成调试软件驱动板上仿真器进行仿真和实验。 (3)无实验仪、无仿真器,仅在系统机上采用软件模拟方式进行仿真。 1.3配EX5IB仿真板,可进行8051实验。 1.4实验系统自带键盘和显示器,自带系统监控程序。如果没有系统机也同样进行各种学 习和实验。 1.5配备PC机集成调试软件,在有系统机的情况下,通过板上仿真器实现64K全空间的硬 件断点和仿真。 1.6PC机和系统机软件具有全集成化仿真环境,中、英文两种界面,软件仿真与硬件仿两 种模式,软件仿真可以在无仿真仪的情况下进行。 综上所述,本实验仪可以方便灵活地构成各种实验方案,在有无系统机和实验仪的情 况下,都能进行相应的编程实验,从而具有极为广泛的应用范围,板上提供了基本的实验 电路,减少繁琐的连接线过程,板上也提供了DIP40/28/24/20/16/14插孔和CPU的 地址数据总线引出插孔,供学生自己扩展其它实验,培养实际动手能力,加强对实验电路 的理解。实验程序采用多种语言适应不同层次的学生的需要。高级语言编写应用程序,是 种时代的需要,通过应用高级语言的编程和实验,可使学生掌握高级语言的编程方法, 为今后进入社会实践打下坚实的基础,而汇编语言又能让学生了解机器深层的原理
- 2 - (34) 逻辑分析仪数字采样和可编程数字脉冲信号输出模块 (35) 虚拟示波器 1.2 仿真器系统构成 本仿真实验系统具有三种使用方法: (1)无系统机,仅用实验仪的板上仿真器进行仿真和实验。 (2)有系统机,用系统机上的集成调试软件驱动板上仿真器进行仿真和实验。 (3)无实验仪、无仿真器,仅在系统机上采用软件模拟方式进行仿真。 1.3 配 EX51B 仿真板,可进行 8051 实验。 1.4 实验系统自带键盘和显示器,自带系统监控程序。如果没有系统机也同样进行各种学 习和实验。 1.5 配备 PC 机集成调试软件,在有系统机的情况下,通过板上仿真器实现 64K 全空间的硬 件断点和仿真。 1.6 PC 机和系统机软件具有全集成化仿真环境,中、英文两种界面,软件仿真与硬件仿两 种模式,软件仿真可以在无仿真仪的情况下进行。 综上所述,本实验仪可以方便灵活地构成各种实验方案,在有无系统机和实验仪的情 况下,都能进行相应的编程实验,从而具有极为广泛的应用范围,板上提供了基本的实验 电路,减少繁琐的连接线过程,板上也提供了 DIP40/28/24/20/16/14 插孔和 CPU 的 地址数据总线引出插孔,供学生自己扩展其它实验,培养实际动手能力,加强对实验电路 的理解。实验程序采用多种语言适应不同层次的学生的需要。高级语言编写应用程序,是 一种时代的需要,通过应用高级语言的编程和实验,可使学生掌握高级语言的编程方法, 为今后进入社会实践打下坚实的基础,而汇编语言又能让学生了解机器深层的原理

第二章实验系统组成和结构 实验系统可根据教学实践的需要实现MCS51单片机原理与接口的一系列实验,并在硬 件上预留了自主开发实验的空间。对基本实验仅需连少量连接线就可完成,减轻学员工作 量。同时也提供了需较多连线的扩展性实验,以进一步锻炼学员的实践开发能力。此外, 系统还为学员们提供了强大的软、硬件调试手段。 2.1实验系统主机的硬件组成 本实验系统主机上有丰富的实验电路模块和灵活的组成方法,可以完成各种实验。本 实验仪成功高档通用仿真器所具有的逻辑分析仪、波形发生器和程序跟踪器等强大的分析 功能,让学生在做实验时不仅能了解程序的执行过程,更能直观地看到程序运行时的时序 或者电路上的信号。 2.1.1逻辑电平开关电路 实验仪上有8只开关K0一K7,并有与之相对应的K0一K7引线孔为逻辑电平输出端。开关 向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。 图1:逻辑电平开关电路 2.1.2LED电平显示电路 ▲ 78x8 4Ls245 图2:LED电平显示电路 实验仪上装有8只发光二极管及相应驱动电路。见图2,L0-L7为相应发光二极管驱动 信号输入端,该输入端为高电压电平“1”时发光二极管点亮。我们可以通过P1口对其直
- 3 - 第二章 实验系统组成和结构 实验系统可根据教学实践的需要实现 MCS51 单片机原理与接口的一系列实验,并在硬 件上预留了自主开发实验的空间。对基本实验仅需连少量连接线就可完成,减轻学员工作 量。同时也提供了需较多连线的扩展性实验,以进一步锻炼学员的实践开发能力。此外, 系统还为学员们提供了强大的软、硬件调试手段。 §2.1 实验系统主机的硬件组成 本实验系统主机上有丰富的实验电路模块和灵活的组成方法,可以完成各种实验。本 实验仪成功高档通用仿真器所具有的逻辑分析仪、波形发生器和程序跟踪器等强大的分析 功能,让学生在做实验时不仅能了解程序的执行过程,更能直观地看到程序运行时的时序 或者电路上的信号。 2.1.1 逻辑电平开关电路 实验仪上有 8 只开关 K0―K7,并有与之相对应的 K0―K7 引线孔为逻辑电平输出端。开关 向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。 2.1.2 LED 电平显示电路 实验仪上装有 8 只发光二极管及相应驱动电路。见图 2,L0-L7 为相应发光二极管驱动 信号输入端,该输入端为高电压电平“1”时发光二极管点亮。我们可以通过 P1 口对其直 图 2: LED 电平显示电路 图 1: 逻辑电平开关电路

接进行控制,点亮或者熄灭发光二极管。 2.1.3单脉冲电路 单脉冲电路由按键( PULSE)和去抖动电路组成,每按一次( PULSE)键产生一个单脉冲 板上有单脉冲的输出信号插孔,图为“和“L”分别为正脉冲和负脉冲 图3:单脉冲发生电路 2.1.4音频放大电路 图4:音频放大滤波电路 2.1.5继电器输出电路 当控制端电平置高,公共触点与常开端吸合。我们可以将常开端接入一发光二极管, 公共端接+5V电平,通过对控制端进行控制,观察发光二极管的状态。见图5。 3 图5:继电器控制电路
- 4 - 接进行控制,点亮或者熄灭发光二极管。 2.1.3 单脉冲电路 单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键 产生一个单脉冲。 板上有单脉冲的输出信号插孔,图为“ ”和“ ”,分别为正脉冲和负脉冲。 2.1.4 音频放大电路 2.1.5 继电器输出电路 当控制端电平置高,公共触点与常开端吸合。我们可以将常开端接入一发光二极管, 公共端接+5V 电平,通过对控制端进行控制,观察发光二极管的状态。见图 5。 图 3: 单脉冲发生电路 图 4: 音频放大滤波电路 图 5: 继电器控制电路

2.1.6逻辑门电路 本实验仪提供系列门电路:非门,或门,与门,D触发器。逻辑门电路由7400和7404 组合实现。 或门 与门 非门 图6:逻辑门电路 2.1.7逻辑测量(逻辑笔)电路 本实验仪上有逻辑测量电路,如图7。可用于测量各种电平,其中红灯亮表示高电平, 绿灯亮表示低电平。如果两灯同时闪动,表示有脉冲信号;两灯都不亮时,表示浮空(高 阻态)。 2|7400 RED (H) 57400 )题M GREEN (L) 图7:逻辑笔电路 2.1.84MHz脉冲信号源和多级分频电路 下图是4MHz脉冲信号输出电路。可将4MHz脉冲信号接到分频电路上,经过分频后, 能得到2M、1M、500K、250K、125K、62.5KHz多种频率的脉冲信号。 L30] KCLEIH 88叫 图8-1:4Mz脉冲产生电路 图8-2:脉冲分频电路
- 5 - 2.1.6 逻辑门电路 本实验仪提供系列门电路:非门,或门,与门,D 触发器。逻辑门电路由 7400 和 7404 组合实现。 2.1.7 逻辑测量(逻辑笔)电路 本实验仪上有逻辑测量电路,如图 7。可用于测量各种电平,其中红灯亮表示高电平, 绿灯亮表示低电平。如果两灯同时闪动,表示有脉冲信号;两灯都不亮时,表示浮空(高 阻态)。 2.1.8 4 MHz 脉冲信号源和多级分频电路 下图是 4MHz 脉冲信号输出电路。可将 4MHz 脉冲信号接到分频电路上,经过分频后, 能得到 2M、1M、500K、250K、125K、62.5KHz 多种频率的脉冲信号。 或门 与门 非门 图 6:逻辑门电路 图 7: 逻辑笔电路 图 8-1 :4 MHz 脉冲产生电路 图 8-2: 脉冲分频电路

2.1.9PwM转换电路 LM324 2 图9:PWM转换电路 2.1.10可调模拟量输入电路 电位器电路用于产生可变的模拟量(0-5V) vCC 图10:电位器 2.1.11串口通信程序实验插孔 做串行通信时,如果不需要将TTL电平转到RS232电平,可直接将TXD、RⅫD与通信对 方交叉对接,并且共地即可。 单片机与标准的串行设备通信,需要将TL电平转到RS232电平或将RS232电平转成 TIL电平。本实验仪提供用户串行通信接口,可以用这两个插孔进行RS232通信程序实验, 经电平转换后,再通过实验仪的“用户串口”接到PC机或其它RS232设备,实现数据互传。 2.1.12六位LED数码显示器 2.1.134×6键盘电路 本实验仪的LED显示电路和键盘电路如图11。显示控制的位码由74HC374输出,经 ULN2003反向驱动后,做LED的位选通信号。位选通信号也可做为键盘列扫描码,键盘扫 描的行数据从74HC245读回,374输出的列扫描码经245读入后,用来判断是否有键被按 下,以及按下的是什么键。如果没有键按下,由于上拉电阻的作用,经245读回的值为高 如果有键按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据 就会有低位,根据374输出的列信号和245读回的行信号,就可以判断哪个键被按下。LEI 显示的段码由另一个74HC374输出。 键盘和LED显示电路的地址译码见图,做键盘和LED实验时,需将 KEY/LED CS接到相
- 6 - 2.1.9 PWM 转换电路 2.1.10 可调模拟量输入电路 电位器电路用于产生可变的模拟量(0-5V)。 2.1.11 串口通信程序实验插孔 做串行通信时,如果不需要将 TTL 电平转到 RS232 电平,可直接将 TXD、RXD 与通信对 方交叉对接,并且共地即可。 单片机与标准的串行设备通信,需要将 TTL 电平转到 RS232 电平或将 RS232 电平转成 TTL 电平。本实验仪提供用户串行通信接口,可以用这两个插孔进行 RS232 通信程序实验, 经电平转换后,再通过实验仪的“用户串口”接到 PC 机或其它 RS232 设备,实现数据互传。 2.1.12 六位 LED 数码显示器 2.1.13 4×6 键盘电路 本实验仪的 LED 显示电路和键盘电路如图 11。显示控制的位码由 74HC374 输出,经 ULN2003 反向驱动后,做 LED 的位选通信号。位选通信号也可做为键盘列扫描码,键盘扫 描的行数据从 74HC245 读回,374 输出的列扫描码经 245 读入后,用来判断是否有键被按 下,以及按下的是什么键。如果没有键按下,由于上拉电阻的作用,经 245 读回的值为高, 如果有键按下,374 输出的低电平经过按键被接到 245 的端口上,这样从 245 读回的数据 就会有低位,根据 374 输出的列信号和 245 读回的行信号,就可以判断哪个键被按下。LED 显示的段码由另一个 74HC374 输出。 键盘和 LED 显示电路的地址译码见图,做键盘和 LED 实验时,需将 KEY/LED CS 接到相 图 9: PWM 转换电路 图 10: 电位器

应的地址译码上。位码输出地址为0X002H,段码输出地址为0X004H,键盘行码读回地址为 0X001H,此处X是由 KEY/LED CS决定。例如将KEY/ LED CS接到地址译码的CS0上,那么 位码输出地址就为08002H,段码输出地址就是08004H,键盘行码读回地址为08001H。 园品品品品西品m 2合9 8898 11 KEYIN 274100
- 7 - 应的地址译码上。位码输出地址为 0X002H,段码输出地址为 0X004H,键盘行码读回地址为 0X001H,此处 X 是由 KEY/LED CS 决定。例如将 KEY/LED CS 接到地址译码的 CS0 上,那么 位码输出地址就为 08002H,段码输出地址就是 08004H,键盘行码读回地址为 08001H。 图 11: 键盘及 LED 显示电路