TH1=(65536-200)/256;
TL1=(65536-200)%256;
CLK=~CLK;
这样算下来,周期只有2.5KHZ,好像转换速度不够快,直接把程序里面的200改成2,CKL周期应该为500KHZ,因为通常使用频率为500KHz的时钟信号,这样是否可以?非常感谢
追答那也应该把200改成1,而不是2。改成1,每隔1usCLK翻转1次,翻转2次为1个周期,CLK周期为2us,频率为500kHz。若改为2,频率只有250kHz了。ADC0809正常工作频率应为500kHz,2.5kHz明显不行啊。还有,如果你要给ADC0809编写一个的时钟信号脉冲程序,不应该用16位的模式1,而应该用带自动装填功能的8位模式2,即TMOD=0x21;TH1=255;TL1=255;IE=0x88;再编一个翻转CLK的中断函数,这样才能产生500kHZ的时钟信号
追问我现在设置成2.5KHZ,硬件都是可以正常工作,这个不知道为什么,应该是转换速度不是很快,直接把200变成1,是否可以,我是用STC 89C52单片机的,非常感谢?
追答可以。都是51系列的单片机。我刚做过这项目
追问首先非常感谢这位兄台,我知道ADC0809推荐的CLK信号频率是500KHZ,不可以高过640KHZ,那么请问一下,我程序输出的CLK信号频率为2.5KHZ,对于硬件或者软件有什么影响?我现在的硬件电路可以正常工作,修改为500KZ有什么影响? 麻烦解释一下,因为是刚刚做项目需要使用ADC0809芯片,所以很多不理解的地方,请见谅!!!!
追答首先,你的态度非常好,不过,仅仅体现在语言上,行动上却没有表示;
第二,是可以超过640kHZ的,只不过会影响ADC的稳定性;
第三,理论上,频率越低当然对硬件越不会产生不良影响,但如果低成这样,我们还要单片机干嘛呢?当然,现在是看不出差别,因为功能单一,要求也低嘛
0809的典型值是500khz,那应该如何修改? 我也不知道这个CLK频率(2.5KHZ)是否可以满足ADC0809的转换要求,求解释
追答根据的晶振频率,算出机器周期,修改TH1和TL的值。你用的是STC的单片机,要考虑到是否加速了。
追问是否加速是什么意思?我的意思是,这个程序的CLK信号为2.5KHZ,我的硬件都是可以正常工作的,直接修改TH1和TH2的值为1,这样CLK信号的频率为500KHZ,是否可以?或者说对硬件有什么影响?thanks
追答加速就是你定时器是在1T模式还是12T模式,STC可以在1T模式啊。你说的那方法是可以的
12MHZ