单片机实验报告

实验一 单片机I/O口控制实验

一.实验目的

利用单片机的P1 口作IO 口,使同学学会利用P1 口作为输入和输出口。

二.实验设备

IBM PC 机 一台

DP-51PRO.NET 单片机仿真器、编程器、实验仪三合一综合开发平台一台

三.实验内容

1.编写一段程序,用P1 口作为控制端口,使D1 区的LED 轮流亮。 2.编写一段程序,用P1.0~P1.6 口控制LED,P1.7 控制LED 的亮和灭(P1.7 接按键,按下时LED 亮,不按时LED 灭) 。

四.实验要求

学会使用单片机的P1 口作IO 口,如果有时间同学也可以利用P3 口作IO 口来做该实验。

五.实验步骤

1.用导线把A2 区的J61 接口与D1 区的J52 接口相连。原理如图所示。

2.先编写一个延时程序。

3.将LED 轮流亮的程序编写完整并使用TKStudy ICE 调试运行。 运行后LED轮流点亮。

1

4.使用导线把A2 区的J61 接口的P1.0~P1.6 与D1 区的 J52 接口的LED1~LED7 相连,另外A2 区J61 接口的P1.7 与D1 区的J53 的KEY1 相连。

5.编写P1.7 控制LED 的程序,并调试运行。(按下K1 看是否全亮)。 运行后按下P1.7LED全亮。

6.A2 区J61 接口的P1.7 与D1 区的J54 的SW1 相连。然后再使用TKStudy ICE 运行程序。运行后按下P1.7LED全亮。

六.实验程序

程序一:LED跑马灯 ORG 0000H LJMP MAIN ORG 0100H MAIN:

MOV A,#0FFH

CLR C MAINLOOP:

CALL DELAY

RLC A MOV P1,A SJMP MAINLOOP DELAY: MOV R7,#0 LOOP:

MOV R6,#0 DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R7,LOOP RET END

程序二:P1.7控制LED ORG 000H LJMP MAIN ORG 0100H MAIN:

JB P1.7,SETLED CLRLED:

CLR P1.0

2

CLR CLR CLR CLR CLR CLR SJMP SETLED:

SETB

SETB SETB SETB SETB SETB SETB SJMP END

P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 MAIN P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 MAIN

七.程序流程图

八.实验结果

1.程序一用到了RLC指令,该指令为循环指令,跑马灯为每9个周期构成的循环中,有一个周期是全灭。

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4