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

2019-07-15 12:02发布

除了批注,代码基本与书上一致,可奇怪是开发板没反应(灯没亮)

//通过定时器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; //让发光二极管状态取反
        }       
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
李春明
1楼-- · 2019-07-15 12:54
 精彩回答 2  元偷偷看……
youyou0527
2楼-- · 2019-07-15 16:47
应该是256吧,6是个什么东西
youyou0527
3楼-- · 2019-07-15 20:27
换到定时器2试一试,或者看看单片机脚有没有问题
xiaoguohaoyun
4楼-- · 2019-07-15 21:22
定时器0的中断号是1
xiaoguohaoyun
5楼-- · 2019-07-16 02:48
你把定时器的中断号0改为1就可以了
李爱柚
6楼-- · 2019-07-16 03:33
 精彩回答 2  元偷偷看……

一周热门 更多>