微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 郭天祥的那本教材中源代码无法复现

郭天祥的那本教材中源代码无法复现

时间:10-02 整理:3721RD 点击:
除了批注,代码基本与书上一致,可奇怪是开发板没反应(灯没亮)
//通过定时器0中断使二级管1s间隔闪烁
#include<reg52.h>
#define uc unsigned char
sbit led1=P1^0;
uc num;
void main()
{
        TMOD=0x01; //设置定时器0模式,工作方式1(M1M0=01)
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        EA=1; //开总中断
        ET0=1; //打开定时0中断
        TR0=1; //打开定时器0
        while(1);
}
void timer0() interrupt 0
{
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        num++; //num每加一次判断是否到20次(即1s)
        if(num==20)        //判断是否到1s
        {
                num=0; //清零
                led1=~led1; //让发光二极管状态取反
        }       
}

是否硬件有问题               

应该是256吧,6是个什么东西

换到定时器2试一试,或者看看单片机脚有没有问题

定时器0的中断号是1

你把定时器的中断号0改为1就可以了

不知道你指的是?我发现问题了,中断函数那要写interrupt 1

楼下正解,是我粗心了

是中断序号错了

不错,我错粗心了。谢谢。

如果是这样 能否选我为最佳答案  就差两个就可以晋级了 谢谢

大神QQ多少。能加下吗

其实是5楼回答的额... 算了,成人之美...

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

网站地图

Top