单片机工作频率切换的实现

2006-05-07 15:49:38来源: 电子产品世界

    随着单片机技术的发展,单片机各方面的性能都有了很大的提高,运行速度也越来越快,这使得单片机的应用也越来越广泛。

    有时候由于外围设备的速度或者其他个些要求,单片机的运行速度并不能很高,有时还要求比较低,比如当8位单片机用于PC/XT总线接口时,工作频率是最高4.77MHz,那么单片机的工作频率就只能是4.77MHz,这样就会导致运行速度下降,当又有其它硬件要求工作频率较高时,怎样才能调和这两方面的矛盾呢?可不可以让单片机在与PC/XT接口时工作在4.77MHz,而在运行其他程序时工作在比较高的频率呢?

    首先我们做了这样的实验,如图1,用外部振荡电路,通过分频得到两个高低不同震荡源(4:1),通过两个可控门后连接到单片机的外部振荡输入端。用P1.0来选择输入的振荡频率,即在程序执行过程中,直接用语名来改变输入频率(当然在改变频率时,串口、计时器不能用)。试验后发现,单片机虽然还可以正常工作,但在频率改变过程中产生的干扰,使单片机内的个些寄存器和RAM中的数据发生了变化,改变以后的工作状态就显得不是很稳定。

    由以上实验可看出,在正常工作方式下,直接改变单片机的工作频率是不可取的。其实单片机还有另外的两种工作方式:等待工作方式和掉电工作方式(CHMOS工艺制成的单片机个般都有)。单片机进入掉电工作方式以后,必须用硬伯复位,显然这种方式也是不可取的。在等待工作方式下,送往CPU的时钟信号被封锁,CPU进入等待状态。CPU内部的状态,如堆栈指针(SP)、程序计数器(PC)、程序状态字(PSW)、累加器及其他寄存器的状态被完整地保留下来,而且等待工作方式可以通过个个中断来唤醒,这些正是我们所需要的。于是我们在原来的电路图中加上个个延时电路(可以用计数器来做),接在频率切换控制线上,就可以让可控门在进入到等待工作方式以后再动作。另外还要用P1.1来产生个个控制信号,通过延时电路作为中断源,用来唤醒单片机。实验表明,这种方式确实可以很稳定地实现单片机工作频率的切换,外加的电路实现起来也很方便。

    在实际应用中又发现,单片机的I/O口线经常会不够用,如果在这里用掉两个I/O口其实是很浪费的,用一个实现起来又比较麻烦。其实,单片机在进入等待工作方式经后,ALE和PSEN均为高电平,ALE在单片机正常工作状态下,不断向外输出频率为fosc/6的脉冲, 只有在CPU访问片外数据存储器时,才会丢失一个脉冲,正好可以通过ALE信号的变化来产生频率控制信号和中断信号。如图过计数器对输入脉冲进行计数来产生的,而用ALE信号作为计数器1的选通信号,使正常工作时因不断的刷新来停止控制信号和中断信号的产生,进入等待工作方式以后,记数器1因长期选道而开始正式计数,先产生一个控制信号切换频率,经计数器2延时用中断唤醒单片机进入正常工作状态,继续等距离的执行。

    实验表明,这种方式确实能可靠地运行,不需要I/O口,而且不需要很多控制命令,只要用一个控制命令进入等待工作方式以后,他就会自动产生改变频率的信号和唤醒单片机的中断信号。只需要再加上一个简单的中断处理程序,就可以在两种工作频率之间随意地切换,该快的时候就快,该慢的时候就慢,真正是随心所欲了。

关键字:切换  实现

编辑: 引用地址:http://www.eeworld.com.cn/gykz/qrsxt/200605/4268.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
切换
实现

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved