找回密码
 立即注册
查看: 314|回复: 7

艾克姆-8A单片机

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2026-03-23 15:12:56
已绑定手机

25

主题

184

回帖

1046

积分

金牌会员

积分
1046
发表于 2025-11-1 17:15:19 | 显示全部楼层 |阅读模式
大佬们问下,在学习艾克姆-8A单片机视屏第2-15-2讲中,PWM6CR这个寄存器,用用控制P2.6输出PWM波,高5位能看明白,但是低3位不明白,ENI=0,不是关闭通道6的中断吗? ENT2I=0,不是关闭通道6的第二个触发点中断吗? ENT1I =0,不是关闭通道6的第二个触发点中断吗?为什么都设制为0呢?而不是将这三位都设为1呢,是1才使能中断和触发点中断

截图202511011719027927.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2025-11-2 20:43:33 | 显示全部楼层
PWM6CR=0xC0,即1100 0000
低3位:
B2=0:EC6I为0,关闭PWM的6通道的PWM中断
B1=0:EC6T2SI为0,关闭PWM的6通道在第2个触发点中断
B0=0:EC6T1SI为0,关闭PWM的6通道在第1个触发点中断
仅输出PWM波形不需要打开中断,如需要在特定位置执行某些功能,打开中断并编写相应的中断函数即可
截图202511022043288043.jpg
截图202511022044008166.jpg


回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2026-03-23 15:12:56
已绑定手机

25

主题

184

回帖

1046

积分

金牌会员

积分
1046
发表于 2025-11-3 09:44:36 | 显示全部楼层
Debu*** 发表于 2025-11-2 20:43
PWM6CR=0xC0,即1100 0000
低3位:
B2=0:EC6I为0,关闭PWM的6通道的PWM中断

程序里面是使用了中断的呢
void pwm_isr() interrupt 22 using 1

{

  static bit dir = 1;

static u16 t2_val = 0;
if(PWMCFG & 0x08)
{
PWMCFG &= ~0x08; //清归零中断标志
if (dir) //第 2 触发点的值以步进值 2 递增
{
  t2_val += DUTY_CYCLE_STEP;
  if (t2_val >= CYCLE_VALUE) dir = 0;
}
else //第 2 触发点的值以步进值 2 递减
{
t2_val -= DUTY_CYCLE_STEP;
if (t2_val <= DUTY_CYCLE_STEP) dir = 1;
}
P_SW2 |= 0x80; //将 EAXSFR 位置 1,以访问 PWM 在扩展 RAM 区的特殊功能寄存器
PWM6T2 = t2_val; //更新 PWM 通道 6 第 2 触发点的值
PWM7T2 = t2_val; //更新 PWM 通道 7 第 2 触发点的值
P_SW2 &= 0x7F; //将 EAXSFR 位置 0,恢复访问 XRAM
}
}

点评

那就打开中断  详情 回复 发表于 2025-11-3 10:42
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2025-11-3 10:42:18 | 显示全部楼层
欢迎哈*** 发表于 2025-11-3 09:44
程序里面是使用了中断的呢
void pwm_isr() interrupt 22 using 1

那就打开中断
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:309
  • 最近打卡:2026-03-23 00:10:52

84

主题

7303

回帖

1万

积分

超级版主

积分
15688
发表于 2025-11-3 10:57:24 | 显示全部楼层
如果不需要用到中断,就不要允许中断,如果用到才允许中断,一旦允许,必须要有中断处理函数。清除中断标志。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:228
  • 最近打卡:2026-03-21 08:48:34

16

主题

234

回帖

462

积分

中级会员

积分
462
发表于 2025-11-3 11:20:36 | 显示全部楼层
梁*** 发表于 2025-11-3 10:57
如果不需要用到中断,就不要允许中断,如果用到才允许中断,一旦允许,必须要有中断处理函数。清除中断标志 ...

对的,不然单片机就会出现不可预期的bug
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2026-03-23 15:12:56
已绑定手机

25

主题

184

回帖

1046

积分

金牌会员

积分
1046
发表于 2025-11-4 08:33:37 | 显示全部楼层
梁*** 发表于 2025-11-3 10:57
如果不需要用到中断,就不要允许中断,如果用到才允许中断,一旦允许,必须要有中断处理函数。清除中断标志 ...

好的,谢谢了
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:130
  • 最近打卡:2026-03-23 15:12:56
已绑定手机

25

主题

184

回帖

1046

积分

金牌会员

积分
1046
发表于 2025-11-4 08:33:57 | 显示全部楼层
猫*** 发表于 2025-11-3 11:20
对的,不然单片机就会出现不可预期的bug

是的呢,谢谢了
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-23 18:02 , Processed in 0.118484 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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