单片机 当选用12MHz时为什么最高技术频率为0.5MHz

我在看单片机的定时器/计数器系统这一单元时候我实在是不明白,看不懂啊 那位大侠能过帮帮我?告诉我怎么用定时器/计数器系统啊最好说的通俗易懂点我是个刚开始学单片机的学生谢谢了啊 我看了一天了我也没看懂 书上讲的是在时太枯燥 难懂了 最好说完之后能用汇编给我写一个例题 我是学汇编的 再此感谢你们了 如果你们愿意的话能加上我qq以后有什么事情就能直接请教老师了谢谢了!!!!!!!!我的qq是185909175加我的时候在附加信息里告诉我 呵呵 再次谢了

我是学C的汇编我也不太会,按照我的理解先回答你的问题吧,
51单片12个时钟周期等于1个机器周期,晶振是12M的话单周期指令执行一条的时间就是
12*(1/12M)1微秒。(6M的话就慢一倍执行一条指令2us)
所以最快一个周期也要2us (高低电平各1us)
频率F=1/T=1S/2us=1,000,000/2=500K
所以12M时0.5MHZ。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-16
为什么?因为单片机端口检测一个波形的边沿变化需要2个机器周期:如果两个周期检测到的电平不同,就表示端口有一个脉冲事件,所以对于51单片机,单片机端口输入的最高频率不超过工作频率的1/24,所以在12MHz时最高的输入频率只有500HKz。
第2个回答  2010-12-16
0.4MHz脉冲频率,想用T0来测试很难,毕竟12M的晶振才1M指令周期,0.5能走什么指令,又如何去测量,但是最与20~1s这么长的时间就太容易了,定时一个短周期的定时器,用定时器来累加计时,主程序就一直在判断高低电平,每个电平变化就记录下该电平所用时间再初始化一下定时时间来计算下一个电平的时间,然后就算出周期来了
第3个回答  2010-12-16
我劝你学C吧!汇编的不是很实用!我自己感觉汇编的程序不是很好读!也许每个人的思维不一样!你的问题可以看看自己的课本应该有讲解!本回答被网友采纳
第4个回答  2010-12-16