编程晶振12Mhz,控制一个LED灯,TMOD定时器1ms,利用循环10次达到10ms,闪烁
时间: 2024-05-30 18:13:20 浏览: 11
LED灯的代码是怎样的?
好的,我可以帮您回答这个问题。以下是一个简单的示例代码:
#include <REG52.h> // 51系列单片机头文件
sbit LED = P1^0; // 定义LED灯控制引脚
void delay(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<1141;j++);
}
}
void main()
{
unsigned char i;
TMOD = 0x01; // 定时器1工作在模式1,16位计数器
TH0 = 0xFC; // 定时器1初值 - 10ms
TL0 = 0x66;
TR0 = 1; // 启动定时器1
while(1)
{
for(i=0;i<10;i++)
{
while(TF0 == 0); // 等待定时器1溢出
TF0 = 0; // 清除定时器1溢出标志
TH0 = 0xFC; // 重新加载初值
TL0 = 0x66;
LED = ~LED; // 翻转LED灯状态
}
delay(990); // 等待一段时间,避免过快闪烁
}
}
这个代码使用了定时器来实现定时,每隔10ms翻转LED的状态,实现闪烁效果。循环了10次以后,等待一段时间再继续循环,避免过快闪烁显得不自然。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)