点亮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();}}
