我用STC89C52单片机给ADC0809编写一个的时钟信号脉冲程序,请问一下定时时间是多少?CLK周期是多少?
TH1=(65536-200)/256;TL1=(65536-200)%256;CLK=~CLK;...
TH1=(65536-200)/256;
TL1=(65536-200)%256;
CLK=~CLK; 展开
TL1=(65536-200)%256;
CLK=~CLK; 展开
5个回答
展开全部
你用的是定时器1,模式1(16位定时/计数),如果单片机用的是12MHz或11.0592MHz的晶振,则机器周期为1us,那么每隔200us,CLK翻转1次,CLK周期为400us
更多追问追答
追问
这样算下来,周期只有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的时钟信号
2013-02-26 · 知道合伙人教育行家
关注
展开全部
和你的晶振频率有关的啊,如果是12M的话,定时器诶加倍,那就是200us翻转一次,周期400us,不然就不一定了。0809的转换的时钟频率典型值好像是600K吧,560k-600k之间。具体不记得了。
更多追问追答
追问
0809的典型值是500khz,那应该如何修改? 我也不知道这个CLK频率(2.5KHZ)是否可以满足ADC0809的转换要求,求解释
追答
根据的晶振频率,算出机器周期,修改TH1和TL的值。你用的是STC的单片机,要考虑到是否加速了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“每隔(65536-200)us,CLK翻转1次” 不是吧!应该是每隔200us翻转一次,楼上的不要搞反了。就如楼上的算法:CLK周期=2*200=400us
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同样的问题,想问楼主是否有解决方案?在线急等。。感谢。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的芯片的晶振呢?6M还是11.95M?
追问
12MHZ
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询