找回密码
 立即注册
查看: 61|回复: 1

不加NOP2(),LED闪烁有间断,为什么会这样。

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 最近打卡:2025-06-19 15:43:42

1

主题

0

回帖

31

积分

新手上路

积分
31
发表于 2025-6-19 15:43:42 | 显示全部楼层 |阅读模式
#include "stc8g.h"
unsigned char i=0;
void Timer0_Isr(void) interrupt 1
{i=i++;
}

void Timer0_Init(void)                //1毫秒@11.0592MHz
{
        AUXR |= 0x80;                        //定时器时钟1T模式
        TMOD &= 0xF0;                        //设置定时器模式
        TL0 = 0xCD;                                //设置定时初始值
        TH0 = 0xD4;                                //设置定时初始值
        TF0 = 0;                                //清除TF0标志
        TR0 = 1;                                //定时器0开始计时
        ET0 = 1;                                //使能定时器0中断
        EA = 1;
}
void main(void)
{    P1M0 = 0x00; P1M1 = 0x00;
     Timer0_Init();
        while(1)
        {                if(i==250){P10=!P10;NOP2();}
                        if(i==251){i=0;NOP2();}
        }
}


回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-06-28 13:49:44
已绑定手机

72

主题

2016

回帖

4540

积分

荣誉版主

无情的代码机器

积分
4540
发表于 2025-6-19 21:12:05 | 显示全部楼层
不加NOP,1ms内多次进入LED翻转太快了

另外不要写这种操作i=i++;直接i++;就行了
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-28 16:35 , Processed in 0.967056 second(s), 54 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表