第二章 单片机基础实验 实验七 P1口输入、输出实验
一、实验目的
1.学习P1口的使用方法 2.学习延时子程序的编写和使用 二、实验说明
P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。 三、实验内容及步骤
实验(一):
本实验需要用到单片机最小应用系统(F1区)和十六位逻辑电平显示模块(I4区)。 用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1.使用单片机最小应用系统。用扁平数据线连接单片机P1口JD1F与十六位逻辑电平显示模块JD2I,打开相关模块电源。
2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH7_P1A.ASM”源程序,进行编译,直到编译无误。
4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5.打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。发光二极管单只从右到左轮流循环点亮。
实验(二):
本实验需要用到单片机最小应用系统(F1区)、十六位逻辑电平显示模块(I4区)以及八位逻辑电平输出模块(B1区)。
用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。程序读取开关状态,并在发光二极管上显示出来。
1.用导线分别把单片机最小应用系统的 P1.0、P1.1连接到两个拨断开关(B1区)K0、K1,P1.2、P1.3连接到两个发光二极管(I4区)L0、L1。
2.打开“TH7_P1B.ASM”源程序,编译无误后,全速运行程序,拨动拨断开关,观察发光二极管的亮灭情况。向上拨为熄灭,向下拨为点亮。
3.也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)
注:在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原
15
来的位置!以下将不再重述。 四、流程图及源程序
1.流程图 是 (B)P1口输入输出程序框图 (A)P1口循环点灯程序框图 2.实验参考程序(见光盘中的程序文件夹) 五、思考题
(1)对于本实验延时子程序 Delay: MOV R6,0 MOV R7, 0
DelayLoop:DJNZ R6,DelayLoop DJNZ R7,DelayLoop RET
本模块使用12MHz晶振,粗略计算此程序的执行时间为多少? 六、电路图
16
开始 设置初始值 开始 设移位次数 P1.0,P1.1置一 数据输出 读入P1.0口值 左一位 将读入的值输出到P1.2 延时 否 读入P1.1口值 将读入的值输出到P1.3 移位次数完成?
U1FVCCP1.0140P1.12P1.0VCC39 P0.7VCCP1.23P1.1P0.738P0.6RESETP1.34P1.2P0.637 P0.5P1.45P1.3P0.536P1.56P1.4P0.4 P0.435P0.3R2FP1.67P1.5P0.334P0.2100C3FP1.78P1.6P0.2P1.7P0.133 P0.110uF32P0.09RST89C51P0.0P3.010EA31 EAR1F1KP3.111P3.0/RXDP3.212P3.1/TXDALE/PROG30 ALEP3.313P3.2/INT0PSEN29P3.414P3.3/INT1P2.728 PSENP2.7P3.515P3.4/T0P2.627P3.616P3.5/T1P2.526 P2.6P2.5P3.717P3.6/WRP2.42518P3.7/RDP2.324XTAL1A19XTAL2P2.223 P2.4P2.3P2.212MHz20XTAL1P2.122VSSP2.021 P2.1P2.0C3AC2A 33pF33pF
17
VCCP1.0510*8L0P1.1P1.2P1.3L1P1.4P1.5L2P1.6P1.7L3L4L5L6L7实验八 继电器控制实验
一、实验目的
1.学习I/O端口的使用方法 2.掌握继电器控制的基本方法 3.了解用弱电控制强电的方法 二、实验说明
现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全,继电器便能完成这一任务。
继电器电路中一般都要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势。
本电路的控制端为高电平时,继电器常开触点吸合,LED灯被点亮 当控制端口为低电平时,继电器不工作。 三、实验内容及步骤
用P1.0作为控制输出口,接继电器电路,使继电器重复吸合与断开。本实验需要用到单片机最小应用系统(F1区)、十六位逻辑电平显示(I4区)和继电器模块(A5区)。
1.使用单片机最小应用系统模块,用导线连接P1.0端口到继电器CONTROL,OPEN1/OPEN2接十六位逻辑电平显示的任意一个口, MID1/MID2接GND。
2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH8_继电器控制.ASM”源程序,进行编译,直到编译无误。
4.全速运行程序,观察二极管亮灭情况和听继电器开合的声音,继电器重复延时吸合与延时断开。
5.也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二) 四、流程图及源程序
1.流程图
开始 继电器吸合 延时 继电器断开 延时 2.实验参考程序(见光盘中的程序文件夹) 五、思考题
18
试用单片机的其他输入输出口控制继电器。 六、电路图
CLOSE1CLOSE25
ControlR9A10KIN4001+12VOpen12823继电器17146JDQ1AMID2D1A1Q1A2MID138050继电器19
Open2