中颖8051不能达到1T?

[复制链接]
3207|11
 楼主| woxyzzz 发表于 2011-4-14 16:43 | 显示全部楼层 |阅读模式
之前用的华邦新唐的 W78E052D, 12T模式,用来计脉冲数,最高计到5KHZ ,速度达不到要求, 所以换用中颖的 SH89F52D,结果反而不如华邦的,只能计数到连500HZ都不到??  两个程序是一摸一样的. 求高人解答. 因为之前没用过1T的单片机,只用过普通的8051和AVR. 是不是哪里需要设置.
bananarer 发表于 2011-4-14 17:17 | 显示全部楼层
用什么东西计数的?T1外灌?用纯IO计数?
我们有一个CLKCON寄存器,需要写0,否则默认为12分频,这个程序必须修改
 楼主| woxyzzz 发表于 2011-4-14 17:40 | 显示全部楼层
2# bananarer

恩,外部中断1计数.  我已经设置成0了. 还是不行. STC的都能记到7.2KHZ,还不是STC 1T的单片机,程序全部都一样.
123jj 发表于 2011-4-14 23:45 | 显示全部楼层
再差劲的51,计脉冲数至100KHZ,完全没问题,LZ做的东东只能计到几KHZ以下??? :lol
123jj 发表于 2011-4-14 23:51 | 显示全部楼层
SH89F52和标准51的兼容性确实差了点,估计LZ程序内部用到定时中断,而SH89F52定时时钟没有12预分频,定时时间比同频率51快12倍,定时中断过份占用系统运行时间了,引起依靠外部中断1计数迟钝,LZ需修改定时时钟常数。
mcu5i51 发表于 2011-4-15 09:40 | 显示全部楼层
没有用过f52,只用过f2051和f085;默认都是12分频主频和12分频定时器,STC的主频默认是1分频;就是说程序不动的话中颖的相当于12分频的1T周期,比标准的要慢,你看一下52的资料是不是一样,适当修改时钟初始化达到预定的系统时钟
 楼主| woxyzzz 发表于 2011-4-15 21:50 | 显示全部楼层
再差劲的51,计脉冲数至100KHZ,完全没问题,LZ做的东东只能计到几KHZ以下??? :lol
123jj 发表于 2011-4-14 23:45


我也以为是自己设计问题,毕竟芯片是通过市场验证的. 特地重新做了一遍程序.把其他功能全部去掉,只留下计数(外部中断1),我用AVR发脉冲,通过光耦给52,连续发200个脉冲,STC的51和华邦的都能正常计数到200, 而中颖的依然每次200个脉冲只加1..
 楼主| woxyzzz 发表于 2011-4-15 21:51 | 显示全部楼层
没有用过f52,只用过f2051和f085;默认都是12分频主频和12分频定时器,STC的主频默认是1分频;就是说程序不动的话中颖的相当于12分频的1T周期,比标准的要慢,你看一下52的资料是不是一样,适当修改时钟初始化达到预定 ...
mcu5i51 发表于 2011-4-15 09:40

我也以为是自己设计问题,毕竟芯片是通过市场验证的. 特地重新做了一遍程序.把其他功能全部去掉,只留下计数(外部中断1),我用AVR发脉冲,通过光耦给52,连续发200个脉冲,STC的51和华邦的都能正常计数到200, 而中颖的依然每次200个脉冲只加1..
123jj 发表于 2011-4-17 15:52 | 显示全部楼层
输入的脉冲宽度?
小小猫咪 发表于 2011-4-17 19:21 | 显示全部楼层
创意总监,哈哈
bananarer 发表于 2011-4-18 09:18 | 显示全部楼层
我也以为是自己设计问题,毕竟芯片是通过市场验证的. 特地重新做了一遍程序.把其他功能全部去掉,只留下计数(外部中断1),我用AVR发脉冲,通过光耦给52,连续发200个脉冲,STC的51和华邦的都能正常计数到200, 而中颖的依 ...
woxyzzz 发表于 2011-4-15 21:51


可否将测试程序发上来,我看看?
xiaosun 发表于 2011-4-18 09:40 | 显示全部楼层
可能漏中断了,比如写TCON时清了TF1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部