收藏 分享(赏)

硬件实验一 IO控制实验.doc

上传人:精品资料 文档编号:8567507 上传时间:2019-07-03 格式:DOC 页数:10 大小:125KB
下载 相关 举报
硬件实验一 IO控制实验.doc_第1页
第1页 / 共10页
硬件实验一 IO控制实验.doc_第2页
第2页 / 共10页
硬件实验一 IO控制实验.doc_第3页
第3页 / 共10页
硬件实验一 IO控制实验.doc_第4页
第4页 / 共10页
硬件实验一 IO控制实验.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、硬件实验一 I/O 控制实验1. 实验目的 掌握基本 IO 输入输出操作指令; 熟练运用 keil 环境对硬件接口进行调试。2. 预习要求 理解 51 单片机 IO 的输入、输出控制方式;理解 P0、P1、P2、P3 口做为普通的IO 口有何区别。 理解实现软件延时程序设计的延时时间估算; 认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实验报告。3. 实验设备计算机 1 台; ZDGDTH-1 型 80C51 实验开发系统 1 套;2 号导线 4 条;8P 数据线 1 条。4. 基础型实验内容 8 位逻辑电平显示的接口电路设计如图 1-1 所示,用 P1 口做输出口,接八

2、位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。用 8P 数据线将 D2 区80C51/C8051F020MCU 模块的 JD1(P1 口)与 A5 区 8 位逻辑电平显示模块 JD1A5相连。在 Keil 环境运行该程序,观察发光二极管显示情况。图 1-1 8 位八位逻辑电平显示接口电路ORG 0LOOP: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP LOOPDELAY: MOV R6,#0 ;延时程序MOV R7,#0DELAYLOOP:DJNZ R6,DELAYLOOPDJNZ R

3、7,DELAYLOOPRETEND实验结果:按照例题所给出的程序进行软硬件电路的仿真,最后发现,发光二极管从一边开始依次闪烁,不断循环点亮。 8 位拨动开关的接口电路设计如图 1-2 所示,假设采用 P1 口控制 LED 显示,P2口接收拨码开关的输入值,用 8P 数据线将 D2 区 80C51/C8051F020MCU 模块的 JD1(P1 口) 、JD1(P2 口)分别与 A5 区八位逻辑电平显示模块 JD1A5、C6 区 8 位拨动开关模块 JD1 C6 相连。在 Keil 环境运行该程序,观察实验结果。开始设置初始值设移位次数数据输出左移一位延时移位次数完成?是 否P1 口循环点灯程序

4、框图图 1-2 拨码开关接口电路ORG 0000HLL: MOV P2,#0FFHNOPMOV A, P2NOPMOV P1,ASJMP LLEND实验结果:按照例题所给出的程序进行软硬件电路的仿真,发现,JD1C6 上的开关控制 LED 灯的亮灭情况,上拨则对应的 LED 灯亮。 如图 1-3 所示,假设采用 P1.0 口控制外部 LED,拨动开关控制外部中断,用二号导线将 D2 区 80C51/C8051F020MCU 模块的 P1.0、P3.2 口分别与 A5 区八位逻辑电平显示模块的 L0、C8 区单次脉冲输出相连。并在 Keil 环境运行程序,观察实验现象。图 1-3 外部中断及 L

5、ED 显示电路流程图为:源程序: ORG 0000HLJMP MAINORG 0003HLJMP INTERRUPTORG 0030HMAIN: CLR P1.0MOV TCON,#01HMOV IE,#81HSJMP $INTERRUPT: PUSH PSW ; 保护现场CPL P1.0POP PSW ; 恢复现场RETIEND实验结果:P1.0 闪烁一次说明发生了一次负跳变(C8 即 P3.2) ,因为中断服务程序里执行 P1.0 置 1,执行结束后清 0 在上述步骤中,如果改变中断的触发方式为电平触发方式,试改动程序,并在Keil 环境运行程序,观察实验现象,说明实验结果。答:将上述中

6、MOV TCON,#01H 改为 MOV TCON,#00H 即可。当 P1.0 为高电平时INT0(即 C8)处于低电平;当 P1.0 为低电平时说明 INT0(即 C8)处于高电平(脉冲) 。设置初始状态设置中断控制寄存器 中断允许等待中断 开始保护现场状态位取反状态位输出恢复现场中断入口中断返回主程序框图 外部中断子程序框图 关于双色 LED双色发光二极管,即在一个 LED 发光二极管中是由二个单独的 PN 结构成,可通过控制达到简单的“彩色” 显示效果。红 绿 当发红光的 PN 结被点亮,发绿光 PN 结不点亮时,发光二极管发出的光显示为红色; 当发红光的 PN 结不点亮,发绿光的 P

7、N 结被点亮时,发光二极管发出的光呈绿色; 当发红光和发绿光的 PN 结同时被点亮时,发光二极管发出的光呈橙色; 当控制双色 LED 红、绿两个 PN 结流过不同比例的电流时,可以发出粉红、淡绿、淡黄、黄色等不同彩色来。双色 LED 连接电路 P21BRG345678JDVCOE9T/A0NUHL5. 设计型实验 画出流程并设计程序实现 8 位逻辑电平显示模块的奇偶位的亮灭闪烁显示,闪烁间隔为 1S。1)流程图:2)源程序:ORG0000HMOVA,#0AAHOUTPUT: MOV P1,A ;数据输出CPL A ;奇偶位变换ACALL DELAY ;调用延时程序(延迟时间为 1s)LJMP

8、OUTPUT ;重复操作DELAY:MOV R5,#100 ;延时程序(T 约为 100*100*100*1s=1s )DELAYLOOP1:MOV R6,#100DELAYLOOP2:MOV R7,#100DELAYLOOP3:DJNZ R7,DELAYLOOP3DJNZ R6,DELAYLOOP2DJNZ R5,DELAYLOOP1RETEND3)实验现象:硬件实验的接线与电路与基础实验一相同,在硬件上成功实现,LED 奇偶位亮灭的闪烁现实,闪烁时间大致估计在 1s 左右。4)实验结果分析:开始设置初始值数据输出取反(奇偶位交换)延时 1s奇偶位闪烁程序框图即使是软件仿真,延时也不是精确地

9、 1s,有一定的误差,几乎可以忽略不计;但其实际产生的原因有两点:实际延时的程序不是准确的 1s,有一些 MOV 指令占用了较多的机器周期;延时程序执行完毕后还有几条指令后才能输出下一个状态的灯亮情况。 设计硬件连接图,画出流程并设计程序实现当拨码开关 K0 往上拨时,实现设计型实验内容步骤,否则 LED 全灭;当开关 K1 往上拨时,实现设计型实验内容步骤,否则 LED 全灭;当 K0、K1 同时往上拨的时候,LED 全亮。1)流程图:2)源程序:ORG 0000HMOV A, #55HSTART: MOV P2, #0FFHNOPJB P2.0, L23L01:JNB P2.1, LOOP

10、0 ;K0=0,K1=0,跳转 LOOP0MOV R5, #4 ;K0=0,K1=1,预设时间 0.5 秒,跳转 LOOP设置 A 为 55H(偶位亮)检测 K0、K1 (从 P2.0、P2.1 输入)P2.0=1?P2.1=0?P2.1=1?P1 输出 #00H(全亮) 设置延时 1s 设置延时 0.5s P1 输出 #FFH(全灭)反转 AP1 输出 A延时是是 是否否 否LJMP LOOPL23:JB P2.1, LOOP1 ;K0=1,K1=1,跳转 LOOP1MOV R5, #8 ;K0=1,K1=0,预设时间 1 秒,跳转 LOOPLJMP LOOPLOOP0: MOV P1, #

11、00H ;LOOP0 显示全亮LJMP START ;返回检测输入LOOP1: MOV P1, #0FFH ;LOOP1 显示全灭LJMP START ;返回检测输入LOOP: CPL A ;LOOP 显示奇偶位交替闪烁MOV P1, AACALL DELAY ;按预设时间延时LJMP START ;返回检测输入DELAY: DJNZ R7, DELAY ;延时程序MOV R7, #250DJNZ R6, DELAYMOV R6, #250DJNZ R5, DELAYRET END3)实验过程P2.0 连接开关 K0,P2.1 连接开关 K1,作为输入;P1 连接八位逻辑电平 LED,作为输出

12、。则: 方式 1:P2=0FFH ,开关均未上拨, P1 口全 1,则 LED 全灭;方式 2:P2=0FEH,开关 K0 上拨,P1 口奇偶位交替变化,间隔时间测量如上题,约为1.01s;方式 3:P2=0FCH,开关 K0、K1 均上拨,P1 口全为 0,则 LED 全亮;方式 4:P2=0FDH,开关 K1 上拨,P1 口奇偶位交替变化,但闪烁时间变短,测量约为0.51s。 累计 INT0 按键的中断次数,保存到内部 RAM 的 30H 单元。1)源程序:ORG 0000HLJMP MAIN ;主程序入口ORG 0003HLJMP INTERRUPT ;中断服务程序入口ORG 0030H

13、MAIN: MOV 30H,#00H ;30H 清零MOV TCON, #01H ;外部中断 0 边沿触发MOV IE, #81H ;开中断SJMP $INTERRUPT: PUSH PSW ;保护现场INC 30H ;中断计数加 1POP PSW ;恢复现场RETIEND2)实验过程:单次脉冲输出作为中断触发源,连接 P3.2。程序记录单次脉冲个数。 运行 keil,按动按键数次,再按 THKLC51 仿真器上的 Reset 按键,在 keil 的内存观察区可以看到 30H 内容改变为相应按键次数。6. 综合型实验 交通灯控制程序设计。要求: 东西向亮红灯时,南北向亮绿灯,时间为 5s; 两

14、个方向均为黄灯亮 2s; 红绿灯显示交换方向; 两个方向均为黄灯亮 2s; 如此循环反复。 1)源程序:ORG 0000HMAIN: MOV P1, #06H ;东西向红灯亮,南北向绿灯亮ACALL DELAY2;延时 5 秒MOV P1, #0FH ;黄灯亮ACALL DELAY1;延时 2 秒MOV P1, #09H ;东西向绿灯亮,南北向红灯亮ACALL DELAY2;延时 5 秒MOV P1, #0FH ;黄灯亮ACALL DELAY1;延时 2 秒LJMP MAIN ;循环;延时 2 秒子程序DELAY1: MOV R5, #16LOOP11:MOV R6, #250LOOP12:M

15、OV R7, #250LOOP13:DJNZ R7, LOOP13DJNZ R6, LOOP12DJNZ R5, LOOP11RET;延时 5 秒子程序DELAY2: MOV R5, #40LOOP21:MOV R6, #250LOOP22:MOV R7, #250LOOP23:DJNZ R7, LOOP23DJNZ R6, LOOP22DJNZ R5, LOOP21RET2)硬件连接:P1.0 连接 LG1、LG3 (南北红灯)P1.1 连接 LR1、LR3 (东西红灯)P1.2 连接 LG2、LG4 (南北绿灯)P1.3 连接 LR2、LR4 (东西绿灯)7. 思考心得1)关于延时设置:单

16、片机工作的频率默认为 24.0MHz,而硬件仿真时设置的串口 Port 为com4,波特率 Baudrate 是仿真机与 keil 通信的速度,与延时设置的时间无关。由单片机工作频率,机器周期应 ,要完成 1 秒延时,循环次数应120.54.MHzs次,在实验程序中设置的延时程序的次数为 次,6120.5s 2568524对应理论值仍有一定差距。这是因为在实验中,延时设置的误差很大,应该采用穷举法,对照计算机时间,使得最终仿真延时时,LED 循环间隔达到一秒即可,而如设计型实验内容中设置刚好能够较好的实现延时 1s。2)硬件实验有一些注意事项:根据实验指导书正确进行模块和模块之间接口的连接,注意一定要在实验系统上电前进行接口的连接,千万不能带电操作;用串行数据通信线连接计算机和仿真器,把仿真器查到模块的锁紧擦座中,注意仿真器的方向:缺口朝上(断电进行) ;进行 keil 软件的设置,编辑汇编源程序,编译,直至编译无误;打开 80C51 模块电源和总电源,可以但不或跟踪或全速方式运行程序,同时观察运行结果, (要停止调试,按THKLC51 仿真器上的 Reset 按键) 。光电 0804 3071102421 黄超凡要用实验报告模板 12.19

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报