wulin 发表于 2020-9-21 06:00 OK ![]() |
guysxpf 发表于 2020-9-20 21:02 已经设置自动重载模式就不需在中断函数里面重新赋初值。 |
taotie 发表于 2020-9-20 18:24 太详细了,谢谢您 |
wulin 发表于 2020-9-20 10:39 初值的定义我理解错了,谢谢指正。。 可是是有一点我不太理解,我选的是自动重载模式,但,您说“中断函数里面要重新赋初值FFF8”,已经自动重载了还有这个必要吗? |
laoshu2521 发表于 2020-9-20 10:10 我的代码不是自己写的,是STC官方给的,简单改了改。 不过问题已经有另外两个大神解答了,不过还是谢谢您 |
本帖最后由 guysxpf 于 2020-9-20 20:52 编辑 wulin 发表于 2020-9-20 10:39 我明白了,谢谢,定时器是从设定值累加到FF。看来是当时学的原理都忘光了。 学习了,谢谢您! |
![]() #include <reg51.h> #include <stdio.h> #include "intrins.h" sbit P05 = P0^5; void TM0_Isr() interrupt 0 { P05 = ~P05; //测试端口 } void main() { EA =1; EX0 =1; IT0= 1; while (1); } |
好像有问题,稍后看看 |
本帖最后由 wulin 于 2020-9-20 17:33 编辑 定时器初值错误,应该是65536-8=65528=0xFFF8,中断中也要重新赋初值FFF8。
|
亲,你的定时器都没有初始化,时钟都没设定。另外你要检测555定时器的输出脉冲的话,代码不是这么写的。需要用捕获模式,中断函数里面也不对。你这段代码即使把定时器设好了,也是上电闪几次灯的事情,可能太快眼睛都看不见。 |
你是怎么测试的? 就说不成功 |