当前位置:文档之家› 南华大学电气工程学院MCS-51单片机原理实验指导书

南华大学电气工程学院MCS-51单片机原理实验指导书

目录
目录 (I)
实验一流水灯实验 (1)
实验二查询式键盘实验 (2)
实验三数码管显示实验 (4)
实验四串口通信实验 (5)
实验五串行AD转换实验 (6)
附录一C8051核心板和主板IO的对应关系 (7)
实验一 流水灯实验
一、实验目的
1.学习51的P1口的使用方法。

2.学习延时子程序的编写和使用。

3. 熟悉实验系统。

二、实验说明
AT89S52有32个通用的I/O 口,分为P0、P1、P2、P3,每组都是8位,它们是准双向口,它作为输出口时与一般的双向口使用方法相同。

P3口也可以做第二功能口用,本实验使用P1口做输出口,控制LED 等产生流水灯效果。

D1L1R1 D2L2R2 D3L3R3 D4L4R4 D5L5R5 D6L6R6 D7L7
R7
三、实验内容及步骤
注:实验程序放在Soundcode/MS51的文件夹中。

用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管循环点亮。

1.最小系统中插上80C51核心板,用扁平数据线连接MCU 的P1口与八位逻辑电平显示模块JD3。

2、用串行数据通信线、USB 线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,自行编写程序,对源程序进行编译,直到编译无误。

4、全速运行程序,程序功能使发光二极管循环点亮的流水灯的效果。

四、电路图
12345678
JD1B78LED
OE 1LE 11D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q8
19
VCC
20
GND
10
U1B774LS373
VCC VCC
99223344556677881RP1B7510
VCC
C1B70.1uF
VCC
LED0B7L0LED1B7L1LED2B7L2LED3B7L3LED4B7L4LED5B7L5LED6B7L6LED7B7
L7
L0B7L1B7L2B7L3B7L4B7L5B7L6B7L7B7
P0B7L0L0B7L1B7L2B7L3B7L4B7L5B7L6B7L7B7P1B7L1P2B7L2P3B7L3P4B7L4P5B7L5P6B7L6P7B7
L7
实验二查询式键盘实验
一、实验目的
1.验证查询式独立按键。

2.验证数码管静态显示。

二、实验内容
本实验提供了8个按键的小键盘,如果有键按下,则相应输出为低电平,否则输出为高电平。

MCU判断有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。

编写一个程序,能读出键盘操作的编号,并在数码显示器上显示。

比如按下第一个键显示数字“1”。

三、实验电路
本实验所需电路请参见系统原理图的第一部分和独立式键盘电路。

四、实验程序参考框图
(a) 主程序框图(b) 键盘扫描子程序框图
五、实验步骤
1.最小系统中插上80C51核心板,用8P排线将P0、P2接八位动态数码显示JD1和JD2相连。

2.查询式键盘的JD15和MCU最小系统的P1口相连。

3、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

4、打开Keil uVision2仿真软件,,自行编写程序,对源程序进行编译,直到编译无误。

5、全速运行程序,键盘上按下某个键,观察数显是否与该键号一致。

六、思考题
1.程序如何确保每按一次键,只处理一次。

七、原理图
Key 1A5
Key 0
12345678JD1A5
992
23344556677881
RP1A54.7K
Key 2A5
Key 1
Key 3A5
Key 2
Key 4A5
Key 3
Key 5A5
Key 4
Key 6A5
Key 5
Key 7A5
Key 6
Key 8A5
Key 7
VCC
键盘
实验三数码管显示实验
一、实验目的
1.验证数码管动态显示;
2.验证定时器的应用。

二、实验说明
P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。

三、实验内容及步骤:
用两位数码管显示00~99S,当显示到99s时停留5s,再递减到00s,在00s再停留5s,然后再递增,如此反复。

1.最小系统中插上80C51核心板,用导线分别连接MCU最小应用系统的P0、P1到数码管段选线和位选线。

2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,对源程序进行编译,直到编译无误。

4、全速运行程序。

5、建议程序按3步执行。

第一步是间隔1s显示00到99,做出来即可签字;第二部是00-99,然后99-00;第三部是在99和00时分别停留5s。

四、思考题
增加按键输入,由按键控制数码管显示的数字增大或者减小这个方向?
五、电路图
实验四串口通信实验
一、实验目的
1.了解AT89S52串行口的工作原理以及发送的方式。

2.了解按键、LED灯显示。

二、实验说明
两个AT89S52系统,左端的按键控制右边的LED灯相应位,右边的按键控制左边的LED 灯。

三、实验内容及步骤
1.安装protuse,并在protuse中绘制如图所示的原理图。

2.编制C语言程序,并编译通过。

3、调试并运行正确。

四、实验电路
实验五 串行AD 转换实验
一、实验目的
1.掌握单片机和TLC549硬件联接及软件编程。

2.熟悉八位串行AD 转换器TLC549的性能及转换过程。

二、实验说明
TLC549是一种采用8位逐次逼近式工作的A/D 转换器。

内部包含系统时钟、采样和保持、8位A/D 转换器、数据寄存器以及控制逻辑电路。

TLC549每25uS 重复一次“输入—转换—输出”。

器件有两个控制输入:I/O CLOCK 和片选(CS )。

内部系统时钟和I/O CLOCK 可独立使用。

应用电路的设计只需利用I/O 时钟启动转换或读出转换结果。

当CS 为高电平时,DATA OUT 处于高阻态且I/O 时钟被禁止。

当CS 变为低电平时,前次转换结果的最高有效位(MSB )开始出现在DATA OUT 端。

在接下来的7个I/O CLOCK 周期的下降沿输出前次转换结果的后7位,至此8位数据已经输出。

然后再将第8个时钟周期加至I/O CLOCK ,此时钟周期的下跳沿变使芯片进行下一轮的AD 转换。

在第8个I/O CLOCK 周期之后,CS 必须变为高电平,并且保持高电平直至转换结束为止(>17u S ),否则CS 的有效高电平至低电平的转换将引起复位(其它详细资料看芯片说明)。

三、实验内容及步骤
利用实验系统上的ADC TLC549 A /D 转换器进行A/D 转换实验,实验系统上的电位器W1提供模拟量输入,编写程序,将模拟量转换成数字量,通过LED 数码管显示出来。

1.最小系统中插上80C51核心板,用8P 排线将P0、P1分别接八位动态数码显示的JD1、 JD2相连。

2.MCU 最小系统的P20,P21,P22分别接AD 转换的DA TA 、CLK 、CS-549,AD 转换的AIN 接可调电压0~5V 可调端。

3、用串行数据通信线、USB 线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

4、打开Keil uVision2仿真软件,对源程序进行编译,直到编译无误。

5、全速运行程序数码显示电压转化的数字量,调节模拟信号输入端的电位器旋钮,显示值随着变化,顺时针旋转值增大,AD 转换值的范围是0~4.98V 左右。

四、电路图
Vref+1
AIN 2
Vref-3GND 4
CS 5DATA 6I/O CLK 7VCC 8
U1B2TLC549
VCC
VCC
C1B20.1uF
VCC
P1B2AIN
P2B2CLK R1B2100R2B2100R3B2
100
P3B2DATA P4B2
CS_549
附录一C8051核心板和主板IO的对应关系
8051CPU P0——主板P0
8051CPU P1——主板P1
8051CPU P2——主板P2
8051CPU P3——主板P3。

相关主题