打印

中颖8051不能达到1T?

[复制链接]
2386|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

使用特权

评论回复
5
123jj| | 2011-4-14 23:51 | 只看该作者
SH89F52和标准51的兼容性确实差了点,估计LZ程序内部用到定时中断,而SH89F52定时时钟没有12预分频,定时时间比同频率51快12倍,定时中断过份占用系统运行时间了,引起依靠外部中断1计数迟钝,LZ需修改定时时钟常数。

使用特权

评论回复
6
mcu5i51| | 2011-4-15 09:40 | 只看该作者
没有用过f52,只用过f2051和f085;默认都是12分频主频和12分频定时器,STC的主频默认是1分频;就是说程序不动的话中颖的相当于12分频的1T周期,比标准的要慢,你看一下52的资料是不是一样,适当修改时钟初始化达到预定的系统时钟

使用特权

评论回复
7
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..

使用特权

评论回复
8
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..

使用特权

评论回复
9
123jj| | 2011-4-17 15:52 | 只看该作者
输入的脉冲宽度?

使用特权

评论回复
10
小小猫咪| | 2011-4-17 19:21 | 只看该作者
创意总监,哈哈

使用特权

评论回复
11
bananarer| | 2011-4-18 09:18 | 只看该作者
我也以为是自己设计问题,毕竟芯片是通过市场验证的. 特地重新做了一遍程序.把其他功能全部去掉,只留下计数(外部中断1),我用AVR发脉冲,通过光耦给52,连续发200个脉冲,STC的51和华邦的都能正常计数到200, 而中颖的依 ...
woxyzzz 发表于 2011-4-15 21:51


可否将测试程序发上来,我看看?

使用特权

评论回复
12
xiaosun| | 2011-4-18 09:40 | 只看该作者
可能漏中断了,比如写TCON时清了TF1

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

7

帖子

1

粉丝