数字量输入输出实验
一、实验目的
了解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 LED开关控制显示功能图 图2 实验接线图 实验步骤:
1. 按图2所示,连接实验电路图,图中“圆圈”表示需要通过排线连接; 2. 编写实验程序,编译链接无误后进入调试状态; 3. 运行实验程序,观察实验现象,验证程序正确性; 4. 按复位按键,结束程序运行,退出调试状态; 5. 自行设计实验,验证单片机其它IO 口的使用。
源-于-网-络-收-集
====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 MOV ABC:
DJNZ R2,#00H
R3,#00H
R2,ABC
;左循环
;右循环
;间隔闪烁
;延时子程序
图3 实验流程图 源-于-网-络-收-集
====Word行业资料分享--可编辑版本--双击可删====
DJNZ R3,ABC RET SJMP $ END
实验步骤:
(1)按图4连接实验电路;
(2)编写实验程序,编译、链接无误后启动调试; (3)运行实验程序,每按一次KK1+,观察实验现象; (4)验证程序功能,实验结束按复位按键退出调试。
图4 提高实验接线图 六、实验结果
1.通过K0-K3开关状态可控制D0-D3灯。
2.程序运行后,按一下KK1,LED灯左循环,再按一下KK1,LED灯右循环,再按一下KK1,LED灯间隔闪烁。再按一下KK1,LED灯左循环……如此循环。
源-于-网-络-收-集
因篇幅问题不能全部显示,请点此查看更多更全内容