实验一 单片机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