基于8051单片机P1口输入输出实验的实验报告!!!
三 实验内容与要求
1. 编写程序实现当P1.3为低电平时(SW1闭合),发光管亮;P1.3为高电平时发光管灭。
修改程序在执行读P1.3之前,先执行CLR P1.3,观察结果是否正确,分析在第二种情况下程序为什么不能正确执行,理解读引脚和读锁存器区别。
四 实验内容
实验程序:
ORG 0000H
MAIN: MOV SP,#60H ; 设置堆栈指针SP为60H
MOV P1,#0FFH ;当P1口用作输入时,所有位对应的锁存器必须先置1 LOOP: ;CLR P1.3
MOV C,P1.3 ;读P1.3
JC LIGHT
CLR P1.2 ;LED灭
SJMP LOOP
LIGHT: SETB P1.2 ;LED 亮
SJMP LOOP
RET
END
若在执行读P1.3之前,先执行CLR P1.3,观察结果将会不正确。
五 实验结论
1、当P1口用作输入时,所有位对应的锁存器必须先置1
2、在执行读P1.3之前,先执行CLR P1.3,观察结果不正确,程序不能正确执行,因为系统读取的是锁存器的状态。
3、读引脚和读锁存器区别:第一种方式是将引脚作为输入,那是真正地从外部引脚读进输入的值,第二种方式是该引脚处于输出状态时,有时需要改变这一位的状态,则并不需要真正地读引脚状态,而只是读入锁存器的状态,然后作某种变换后再输出。