说明:本系列51单片机的100个例子都采用的是STC15F2K60S2增强型的单周期单片机。
1、需求:单片机P0.0外接一个LED发光二极管L1,实现对L1的闪烁控制,闪烁的频率大约为0.2s。
2、硬件电路:
Proteus 仿真图:
3、程序设计:
#include <REGX51.H>
void Delay200ms(void) //--- @12.000MHz ---
{
unsigned char i,j,k;
for(i=10;i>0;i--)
for(j=31;j>0;j--)
for(k=147;k>0;k--);
}
void main(void)
{
while(1)
{
P0_0 = 0; //--- P0.0输出低电平 ---
Delay200ms(); //--- 调用延时子程序 ---
P0_0 = 1; //--- P0.0输出高电平 ---
Delay200ms(); //--- 调用延时子程序 ---
}
}
4、小结:
程序中的Delay200ms()延迟函数的延时方法是通过采用消耗指令周期来实现(大白话意思就是用执行循环的时间来做到延迟)。