这是我实验的一个多任务程序。
N1是1s取反一次的,T[0].Run是每隔1s置1一次,T[1].Run是每隔2s置1一次。
这些变量在逻辑对应关系上完全正确,但是x轴所显示的时间却与软件有很大差别。为什么会这样呢?
用示波器测得N1的确是每隔1S取反1次,逻辑分析仪(Logic analyzer)下显示的N1却是每隔48ms取反1次,这个算不算软件自身BUG呢?
之后又用Logic analyzer测了1个定时器中断取反的方波,显示还是有问题,网上查了一下Logic analyzer的使用,人家显示怎么就能正常呢?有遇见过这种情况的吗? 也可以试试你的逻辑分析仪
仿真时间准不准,,,欢迎提出意见, 我用的是51 KEIL3
之前定时器取反IO口软件仿真测试,之所以存在问题,是因为疏忽了老版89C51定时器无自动重装初值导致,到底还是程序问题,改成定时器中断手动重装初值仿真就正确了。
同样的程序设置,同样的功能,仅仅更换将mcu型号更换为STC15W401AS,软件仿真下的逻辑分析仪显示的IO口取反时间就有问题了!!!
一周热门 更多>