点亮LED

P00的定义位于<STC89C5xRC.H>头文件中

sfr 为 KeilC51 编译器提供的扩展数据类型,用于声明单片机中的**特殊功能寄存器(**Special Function Register)

特殊功能寄存器用于控制和配置单片中的各种硬件设备,例如 GPIO 端口、定时器、串口等。

每组 GPIO 端口(P0、P1、P2、P3、P4)均有一个对应的8位寄存器。

P0 为特殊功能寄存器名称,可自定义。

0x80 为特殊功能寄存器地址。

通过向 sfr 变量赋值,例如 P0 = 0x00,可修改整个寄存器(8位)的值。

sbit 为 KeilC51 编译器提供的扩展数据类型,用于声明特殊功能寄存器中的某一位(bit)。

P00 为该位的名称,可自定义。

P0^0 为该位的地址。

通过向 sbit 变量赋值,例如 P00=0,可修改寄存器中某1位的值。

P00 引脚内部示意图

while(1)的作用是令程序持续运行,从而使单片机持续工作

三极管用于控制整个 LED 模块是否工作,由于开发板上外设较多,因此有些外设会共用一些 GPIO 引脚,当需要使用 P0 引脚控制其他外设时,可令 P3.4 引脚输出低电平,此时即便 P0 引脚输出低电平,LED 也不会再被点亮

复制代码
#include <STC89C5xRC.H>
#include <INTRINS.H>
	
void Delay500ms(void)	//@11.0592MHz
{
	unsigned char data i, j, k;

	_nop_();
	i = 4;
	j = 129;
	k = 119;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}
	
	
void main(){
	unsigned char i;
	unsigned char j;
	while(1){
		P00 = ~P00;
		Delay500ms();
		}
	}
相关推荐
BT-BOX7 小时前
普中开发板基于51单片机贪吃蛇游戏设计
单片机·游戏·51单片机
驴友花雕7 小时前
【花雕动手做】CanMV K230 AI视觉识别模块之使用CanMV IDE调试运行人脸代码
ide·人工智能·单片机·嵌入式硬件·canmv k230 ai视觉·canmv ide 人脸代码
点灯小铭10 小时前
基于单片机的酒驾报警刹车系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
boneStudent10 小时前
Day29:I2C 高级应用
stm32·单片机·嵌入式硬件
@good_good_study11 小时前
STM32 I2C配置函数及实验
stm32·单片机
芯联智造12 小时前
【stm32简单外设篇】- 28BYJ-48 步进电机(配 ULN2003 驱动板)
c语言·stm32·单片机·嵌入式硬件
喜喜安12 小时前
CoreS3 屏幕背光
单片机·嵌入式硬件·m5stack cores3
星期天213 小时前
1.4光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件·江科大
沐欣工作室_lvyiyi14 小时前
基于无线互联的电源健康监测与控制系统设计(论文+源码)
stm32·单片机·毕业设计·电源健康监测
@good_good_study15 小时前
STM32 ADC单通道采样函数及实验
stm32·单片机