使用寄存器点亮led灯实验报告
时间: 2023-06-28 14:14:51 浏览: 352
这是一份简单的使用寄存器点亮LED灯的实验报告。
实验目的:
了解单片机基本输入输出操作,掌握使用寄存器控制GPIO口输出高低电平,掌握使用按键控制LED灯亮灭。
实验器材:
1. STC89C52单片机开发板
2. LED灯
3. 按键开关
4. 杜邦线
实验步骤:
1. 将LED灯的正极接单片机的P1口,负极接单片机的GND口。
2. 将按键开关的一端接单片机的P3口,另一端接单片机的GND口。
3. 打开Keil C51开发环境,新建一个工程。
4. 在工程中编写以下代码:
```c
#include <reg52.h>
void delay(unsigned int xms) {
unsigned int i, j;
for (i = xms; i > 0; i--)
for (j = 112; j > 0; j--);
}
void main() {
P1 = 0xfe; // 将P1口电平置高,使LED灯亮起
while (1) {
if (P3 == 0) { // 当按键按下时
delay(10); // 延时去抖动
if (P3 == 0) { // 再次检测按键状态
P1 = ~P1; // 取反P1口电平,使LED灯亮灭交替
while(!P3); // 等待按键松开
delay(10); // 延时去抖动
}
}
}
}
```
5. 编译、烧录程序到单片机,并将开发板上电。
6. 按下按键,LED灯会亮起;再次按下按键,LED灯会熄灭。按键可以控制LED灯的亮灭交替。
实验结果:
实验成功,LED灯可以通过按键控制亮灭交替。
实验总结:
本次实验主要是通过控制单片机GPIO口输出高低电平来控制LED灯的亮灭。在实验中,我们还学习了使用按键控制LED灯亮灭的方法,同时还掌握了去抖动的技巧。