这是我实验的一个多任务程序。
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
晶振频率设置的与定时器设计时的频率一致。
单片机选型后来又更改为80C51型号,Logic analyzer显示的波形(相同的栅格时间0.05s)与上图相比变宽了一些,旦是时间依然不对。这会是什么设置上的问题呢?
上图MCU选型用的是STC15W401as
最好能从keil的库里选一个单片机型号,然后再看测试的数据对不对
谢谢解答,呵呵呵。。。
但是我后来又选型89C51老型号的mcu,单独进行了定时器IO口取反的软件仿真,在软件逻辑分析仪窗口显示的时间和程序还是相差很大呀!这有怎么说呢
一周热门 更多>