新人学习遇不解
时间:10-02
整理:3721RD
点击:
#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit led=P2^0;
void Timer0Init()
{
TMOD|=0X01;
TH0=0XFC;
TL0=0X18;
ET0=1;
EA=1;
TR0=1;
}
void main()
{
Timer0Init();
while(1);
}
void Timer0() interrupt 1
{
static u16 i;
TH0=0XFC;
TL0=0X18;
i++;
if(i==1000)
{
i=0;
led=~led;
}
}
目标:点亮一个led灯,做一秒的闪烁。
问题:以上是程序,在自己买的开发板上可以点亮led灯,但是没有闪烁的效果。求大神指导
这种问题建议自己解决,有利于提高,直白点,我也不会,建议把静态变量取消了,然后用for循环试一下
我试了,没问题啊,能闪呀。
要注意定时计数数值的调整,不同频率,不同速度的单片机的定时时间是由不同的,调整 i 的数值范围试试
程序没问题啊 小编开发板电路连对了吗
谢谢小编分享,好资料
程序没问题啊,你看看你硬件是不是连好了
程序是OK的,会不会是程序没有烧录到板子上