单片机/MCU论坛
直播中

张全斌

11年用户 283经验值
擅长:嵌入式技术 光电显示 控制/MCU MEMS/传感技术
私信 关注
[问答]

KEIL的逻辑分析仪(Logic analyzer)测得的时间真的准吗?

tu1.png 这是我实验的一个多任务程序。
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





回帖(10)

无量寿经

2017-8-5 14:46:16

最佳答案

《51单片机轻松入门 基于STC154K系列》有详细说明:软件仿真只能仿功能简单的老型号,比如AT89C2051,STC89C52等,增强型单片机的新功能无法软件仿真,只有硬件仿真才是准确的,也就是说,软件仿真只能仿STC单片机的部分功能,硬件仿真才能仿STC所有功能,IAP开头的单片机,比如IAP15W4K58S4具有硬件仿真功能,只要能下载程序,即可硬件仿真。STC开头的型号,可使用IAP开头单片机的代替实现硬件仿真。STC与IAP都是STC公司的单片机,价格都在7元内,这7元比传统上千元的仿真器更简便好用。




举报

人中狼

2017-8-5 16:53:04
查查看keil里的单片机晶振设置的是多少
举报

张全斌

2017-8-6 14:32:38
引用: 人中狼 发表于 2017-8-5 16:53
查查看keil里的单片机晶振设置的是多少

晶振频率设置的与定时器设计时的频率一致。
单片机选型后来又更改为80C51型号,Logic analyzer显示的波形(相同的栅格时间0.05s)与上图相比变宽了一些,旦是时间依然不对。这会是什么设置上的问题呢?

上图MCU选型用的是STC15W401as
举报

人中狼

2017-8-6 16:07:29
Logic analyzer属于软件仿真,这样仿真的参数就就很重要,如果软件包有这些参数,那应该就是准的,如果参数不对,那结果也就不对了。
最好能从keil的库里选一个单片机型号,然后再看测试的数据对不对
举报

张全斌

2017-8-6 20:17:51
本人就是从KEIL库里面选择的单片机型号
举报

张全斌

2017-8-6 20:18:34
引用: 人中狼 发表于 2017-8-6 16:07
Logic analyzer属于软件仿真,这样仿真的参数就就很重要,如果软件包有这些参数,那应该就是准的,如果参数不对,那结果也就不对了。
最好能从keil的库里选一个单片机型号,然后再看测试的数据对不对

就是从KEIL库里面选择的单片机型号
举报

人中狼

2017-8-6 21:30:38
那就不太清楚了
举报

张全斌

2017-8-17 11:38:39
引用: 无量寿经 发表于 2017-8-17 09:25
《51单片机轻松入门 基于STC154K系列》有详细说明:软件仿真只能仿功能简单的老型号,比如AT89C2051,STC89C52等,增强型单片机的新功能无法软件仿真,只有硬件仿真才是准确的,也就是说,软件仿真只能仿STC单片机的部分功能,硬件仿真才能仿STC所有功能,IAP开头的单片机,比如IAP15W4K58S4具有硬件仿真功能,只要能下载程 ...

谢谢解答,呵呵呵。。。

但是我后来又选型89C51老型号的mcu,单独进行了定时器IO口取反的软件仿真,在软件逻辑分析仪窗口显示的时间和程序还是相差很大呀!这有怎么说呢
举报

张全斌

2017-8-17 17:26:04
      看来51MCU的软件仿真只能选择老版89C51才行。

      之前定时器取反IO口软件仿真测试,之所以存在问题,是因为疏忽了老版89C51定时器无自动重装初值导致,到底还是程序问题,改成定时器中断手动重装初值仿真就正确了。
      同样的程序设置,同样的功能,仅仅更换将mcu型号更换为STC15W401AS,软件仿真下的逻辑分析仪显示的IO口取反时间就有问题了!!!
举报

张全斌

2017-8-17 17:28:27
结个贴,做个备忘
举报

更多回帖

发帖
×
20
完善资料,
赚取积分