单片机系统晶振频率为12mhz,利用工作方式1定时器0.中断方式在p2.0输出频率为10hz

如题所述

根据50ms换算出计数初值,你的晶振是12mhz,那么计数周期就是1微秒,下面计算计数初值:
公司为TH0=(65536-50000)/256, TL0=(65536-50000)%256,然后启动定时器就行了,如果你看了中断还要在中断里面重新载入初值,你也可以用查询法,不断询问定时器0的中断溢出标志,定时时间到也别忘了重新赋值追问

那定时时间是多少 怎么算

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-14
定时器设置在50毫秒!,在中断服务中取反P2.0,就OK啦!追问

50毫秒要不要换单位 根据公式来计算是不是这样 方式1是16位 就(2的16次—初值)*机器周期
就是(2的16次---初值)乘以 10的6次=? 等于什么 我不知道

追答

TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET=1;
上面的是初始化
在中断服务中只需重赋
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
在将p2.0=~p2.0;就OK