数字量输入输出实验

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

数字量输入输出实验

一、实验目的

了解P1口作为输入输出方式使用时,CPU 对P1口的操作方式。

二、实验环境

1、软件环境要求

Windows XP操作系统以及Keil C51 单片机集成开发环境。

2、硬件环境要求

电脑一台,TD-51单片机系统,开关及LED显示单元,单次脉冲单元。三、实验内容

编写实验程序,将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。

提高部分:

LED灯控制

要求:通过KK1实现LED灯工作方式即时控制,完成LED灯左循环、右循环、间隔闪烁功能。

四、实验分析

P1口是8位准双向口,每一位均可独立定义为输入输出,输入位置1。

通过A的左/右移位及赋值55H、0AAH,再将A值送入P1,可实现LED灯左循环、右循环、间隔闪烁功能。

五、实验步骤

(一)基础实验程序及实验程序流程图如下。

实验程序:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:

MOV P1,#0F0H ;将开关状态送入P1高位

MOV A,P1 ;送入A

SWAP A ;高低位互换

MOV P1,A ;将开关状态送入P1低位

JMP MAIN ;循环

SJMP $

END

程序流程图:

图1 LED开关控制显示功能图

图2 实验接线图

实验步骤:

1. 按图2所示,连接实验电路图,图中“圆圈”表示需要通过排线连接;

2. 编写实验程序,编译链接无误后进入调试状态;

3. 运行实验程序,观察实验现象,验证程序正确性;

4. 按复位按键,结束程序运行,退出调试状态;

5. 自行设计实验,验证单片机其它IO 口的使用。

(二)提高实验程序及实验程序流程图如下。

实验程序:实验程序流程图:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:

KT: ;检查KK1

SETB P3.3

JNB P3.3,KT

CLR P3.3

LL1: ;左循环

MOV A,#01H

X1:

MOV P1,A

CALL DELAY

RL A

SETB P3.3

JNB P3.3,X1

CLR P3.3

LL2: ;右循环

MOV A,#80H

X2:

MOV P1,A

CALL DELAY

RR A

SETB P3.3

JNB P3.3,X2

CLR P3.3

LL3: ;间隔闪烁

MOV A,#55H

MOV P1,A

CALL DELAY

MOV A,#0AAH

MOV P1,A

CALL DELAY

SETB P3.3

JNB P3.3,LL3

CLR P3.3

JMP KT

DELAY: ;延时子程序

MOV R2,#00H

图3 实验流程图MOV R3,#00H

ABC:

DJNZ R2,ABC

DJNZ R3,ABC

RET

SJMP $

END

实验步骤:

(1)按图4连接实验电路;

(2)编写实验程序,编译、链接无误后启动调试;

(3)运行实验程序,每按一次KK1+,观察实验现象;

(4)验证程序功能,实验结束按复位按键退出调试。

六、实验结果

1.通过K0-K3开关状态可控制D0-D3灯。

2.程序运行后,按一下KK1,LED 灯左循环,再按一下KK1,LED 灯右循环,再按一下KK1,LED 灯间隔闪烁。再按一下KK1,LED 灯左循环……如此循环。 图

4 提高实验接线图

相关文档
最新文档