实验一二 I

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一
一、实验目的
I/O 口控制实验
1.学会使用I/O口的基本输入、输出功能 2.了解开关量输入、输出的接口技术及编程方法 二、实验说明 P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。 当P1口用作输入口时, 必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据可能是不正确的。本实验用 P1口作输入口,P0口作为输出口。 三、实验电路图 本实验需要用到 80C51 MCU 模块(C 区),八位逻辑电平显示模块(E5 区)及八位逻辑 电平输出模块(F5 区)。80C51 MCU 模块电路原理参考附录三,八位逻辑电平显示电路原理 参考图 1.1,八位逻辑电平输出电路原理参考图 1.2。
图 1.1 八位逻辑电平显示电路
图 1.2 八位逻辑电平输出电路 四、实验步骤 1.用 8P 数据线连接 80C51 MCU 模块的 JD1C (P1 口) 到八位逻辑电平输出模块的 JD1F5, 连接 JD0C(P0 口)到八位逻辑电平显示模块的 JD1E5。 2.用串行数据通信线连接计算机与仿真器, 把仿真器插到 80C51 MCU 模块的 40P 锁紧插 座中,请注意仿真器的方向:缺口朝上。 3.将 80C51 MCU 模块的电源扭子开关 S1C 拨到上端。将直流稳压电源模块的直流控制 开关 S1G1 打到 ON,本实验所用到的相关模块的电源指示灯 VCC 亮。

4.打开 Keil uVision2 仿真软件,首先建立本实验的项目文件,接着添加“TH1_IO 口.ASM”源程序,进行编译,编译无误后,全速运行程序。 5.实验现象:K0~K7 拨断开关向上拨,对应的发光二极管 L0~L7 熄灭,否则为点亮。 6.也可以把源程序编译成可执行文件,把可执行文件用 ISP 烧录器烧录到 89S52 芯片 中运行(注意:芯片缺口朝上)(ISP 烧录器的使用查看附录二) 。 注:在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原来 的位置!以下将不再重述。 五、实验源程序及流程图 1.源程序 ORG LJMP ORG MAIN: LOOP: MOV MOV MOV MOV LJMP END 2.流程图 0030H P0, P1,#0FFH A, ;P0 口初始化,8 个灯全灭 ;P1 口初始化,设置 P1 口为输入方式 ;读 P1 口数据 ;送 P0 口输出 0000H
I/O 口输入输出程序框图 六、思考题 试用单片机的其他口实现以上功能。
实验二
一、实验目的 1.学习延时子程序的编写和使用 2.掌握继电器控制的基本方法 3.了解用弱电控制强电的方法 二、实验说明
继电器控制实验
现代自动控制设备中, 都存在一个电子电路的互相连接问题, 一方面要使电子电路的控

制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等) ,另一方面又要为电子线路 和电气电路提供良好的电气隔离, 以保护电子电路和人身的安全, 继电器便能完成这一任务。 继电器电路中一般都要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产 生的反电势。本电路的控制端为高电平时,继电器常开触点吸合,LED 灯被点亮,当控制端 口为低电平时,继电器不工作。 三、实验电路图 本实验需要用到 80C51 MCU 模块(C 区),八位逻辑电平显示模块(E5 区)和继电器控制 模块(F1 区)。80C51 MCU 模块电路原理参考附录三,八位逻辑电平显示电路原理参考实验 一图 1.1,继电器控制电路原理参考图 2.1。
继 电 器
图 2.1 四、实验步骤
继电器控制电路
1.用二号导线连接 80C51 MCU 模块的 P1.0 端到继电器控制模块的 Control 端,连接继 电器控制模块的 Open 端到八位逻辑电平显示模块的 L0 端, 连接继电器模块的 Mid 端到直流 稳压电源模块的 GND 端。 2.用串行数据通信线连接计算机与仿真器, 把仿真器插到 80C51 MCU 模块的 40P 锁紧插 座中,请注意仿真器的方向:缺口朝上。 3.将 80C51 MCU 模块的电源扭子开关 S1C 拨到上端,将继电器控制模块的电源短路帽 J1F1 打在上端。 将直流稳压电源模块的直流控制开关 S1G1 打到 ON, 本实验所用到的相关模 块的电源指示灯 VCC 亮。 4.打开 Keil uVision2 仿真软件,首先建立本实验的项目文件,接着添加“TH2_继电器 控制.ASM”源程序,进行编译,编译无误后,全速运行程序。 5.实验现象:继电器重复延时吸合与延时断开,同时发光二极管的亮与灭指示继电器 的吸合与断开。 6.也可以把源程序编译成可执行文件, 把可执行文件用 ISP 烧录器烧录到 89S52 芯片中 运行(注意:芯片缺口朝上)(ISP 烧录器的使用查看附录二) 。 五、实验流程图及源程序 1.流程图 开始 继电器断开

2.源程序 用 P1.0 作为控制输出口,接继电器控制电路,使继电器重复吸合与断开。 OUTPUT BIT P1.0 ORG 0000H LJMP START ORG 0030H START: CLR OUTPUT CALL DELAY SETB OUTPUT CALL DELAY LJMP START Delay:
六、思考题 1.对于本实验延时子程序DELAY, 本模块使用11.0592MHz晶振,粗略计算此程序的执行时间为多少,请写出计算步骤? 2.如何修改程序,改变继电器的通断时间?

ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改 为 0000H LJMP Main ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为 0100H Main: MOV A,#0FFH CLR C MainLoop: CALL Delay RLC A MOV P1,A ;把 A 的值输出到 P1 口 SJMP MainLoop Delay: ;延时 MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop RET ; END 程序 2: ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为 0000H LJMP Main ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为 0100H Main: JB P1.7,SETLED ;按键没有按下时,跳转到 SETLED CLRLED: CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP Main SETLED: SETB P1.0

相关文档
最新文档