📄 main.c
字号:
/*******************************************************************************
程序名称:LED闪烁发光
硬件接法:P1.1控制LED,低电平点亮
运行效果:LED亮200ms,灭800ms,反复循环
*******************************************************************************/
//包含8051的SFR寄存器定义头文件
#include <reg51.h>
//定义I/O接口
sbit LED = P1^1;
/*******************************************************************************
函数:Delay()
功能:延时0.01s~2.56s
参数:t>0时,延时(t*0.01)s
t=0时,延时2.56s
说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
*******************************************************************************/
void Delay(unsigned char t)
{
do
{
TH0 = 0xDC; //设置定时器初值(定时10ms)
TL0 = 0x00;
TR0 = 1; //启动定时器
while ( !TF0 ); //等待定时器溢出
TR0 = 0; //停止定时器
TF0 = 0; //清除溢出标志
} while ( --t != 0 ); //循环t次
}
//主函数
void main()
{
TMOD &= 0xF0; //T0设置在方式1,即16位定时器(不改变T1的模式)
TMOD |= 0x01;
for (;;)
{
LED = 0; //点亮LED
Delay(20); //延时200ms
LED = 1; //熄灭LED
Delay(80); //延时800ms
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -