导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→AT89C52 24PC 不能用12MHz的晶振??[sphinxing]

 *第36071篇: AT89C52 24PC 不能用12MHz的晶振??

  
楼 主:sphinxing 2005年11月28日19:32
 AT89C52 24PC 不能用12MHz的晶振??
在KEIL下写了一个程序,硬件是AT89C52+12MHz晶振,定时器按机器周期为1us计算,烧片的时候用AT89C52 20PC没有问题,用24PC却不行。有没有哪位遇到过类似的问题?
  
2楼:戈卫东 2005年12月1日03:56
 当然可以了

你的应该是别的问题。
当然可以了

你的应该是别的问题。

  
3楼:liuliang 2005年12月2日12:30
 能用,程序上可能有错
能用,程序上可能有错
  
4楼:Lichunfu 2005年12月3日08:23
 什么现象?
是程序不能执行还是定时时间不准确?
  
5楼:sphinxing 2005年12月5日11:38
 定时时间是准的.
1. TIMER0用

定时时间是准的.
1. TIMER0用作定时器, 一直运行. 外部中断到来时我在外部中断服务程序里读取TH0和TL0.(用20PC的89C52读的值是对的, 用24PC就不行, 不稳定, 有时对有时错)
2. 在外部中断服务程序里, 我还关闭了EX0, 因为外部中断有很多次, 而且每次有持续时间, 我只关心在TIMER0定时的时间断中最早发生外部中断的时间值, 即TH0,TL0.

我怀疑在TIMER0运行的时候读取TH0/TL0可能不对, 在20PC以下的片子正常, 在24PC上却不稳定, 难道24PC和20PC内部结构不一样? 不是12分频?? 我还尝试在外部中断来的时候, 把TR0=0关闭TIMER0, 读完TH0/TL0后再TR0=1运行, 结果问题依旧.

现在20PC的89C52不好买了, 所以必须用24PC的



>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:Wave2000/S 的使用方法

[下一篇主题]:(免费讲座)嵌入式Linux实时操作系统技术讲座