数字量输入输出实验

  • 格式:doc
  • 大小:81.00 KB
  • 文档页数:4

====Word行业资料分享--可编辑版本--双击可删====

源-于-网-络-收-集 数字量输入输出实验

一、实验目的

了解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 ====Word行业资料分享--可编辑版本--双击可删====

源-于-网-络-收-集

实验步骤:

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

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

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

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

5. 自行设计实验,验证单片机其它IO 口的使用。 图1 LED开关控制显示功能图

图2 实验接线图 程序流程图: ====Word行业资料分享--可编辑版本--双击可删====

源-于-网-络-收-集 (二)提高实验程序及实验程序流程图如下。

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

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

MOV R3,#00H

ABC:

DJNZ R2,ABC 图3 实验流程图 ====Word行业资料分享--可编辑版本--双击可删====

源-于-网-络-收-集 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 提高实验接线图