微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新人学习遇不解

新人学习遇不解

时间: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的,会不会是程序没有烧录到板子上

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top