本帖最后由 _奶咖君_ 于 2023-12-23 16:41 编辑
lzl1okOK 发表于 2023-12-23 10:36
RTC中断可以吗?
有闹钟中断,,应该可以这么做,
设置好当前时间后,比如你要五秒后中断,,那么就设置闹钟值为5秒后的闹钟,,RTC的时间到了之后就会中断,,如果你要周期触发,那就在闹钟中断中设置下一个5秒的闹钟值。
用定时器累加?
这里有定时工具
Nyzgj 发表于 2023-12-23 00:16
STC8H4K64TL用RTC, 实现5秒或10秒中断
The RTC gives you some choices of
1 minute
1 second
0.125 second
31.25ms
Thus to get 5s or 10s, you need to add a BYTE sized Software counter to /5 or /10 inside a 1s RTC interrupt.
使用软件,声明unsigned char,在秒中断里累加,比如定5s,就if这个变量==5,让这个变量=0,清零计数器,再执行你的操作
设置100ms中断一次,1秒就10次,10秒100次,中断里面设置标志位,计数值满后标志位置1,在主程序判断此标志位
STC8H系列 T2/T3/T4/T11, 都是 24位重装载定时器
STC32系列 T0/T1/T2/T3/T4, 都是 24位重装载定时器
如下1次定时器中断 定时就是 1秒:
如下1次定时器中断 定时就是 2秒:
24位定时器:【8位预分频 + 16位重装载定时器】
再不够,就记录 秒中断 的次数
PWM可以实现吗?