微控制器的工作流程
微控制器的工作过程就是执行程序的过程,程序由指令序列组成,因此程序的执行过程就是执行指令序列的过程,也就是周而复始地进行取指令、执行指令的过程。
微控制器在开始执行程序时,必须由人工通过微控制器的外部输入设备(如键输入操作)给微控制器具体的操作要求,例如打开机器电源开关或按下某一功能键,微控制就能得到一个指令操作码。这一指令操作码被取到控制器内,因而控制器发了相应的控制信号。而在执行指令阶段,由于不同指令的功能不同,要求机器执行的操作也不同,因而控制器发出的控制信号也随之不同。
1.程序顺序执行过程
在程序执行前,微控制器先复位,程序计数器(PC)便清零,即初值为零,程序执行时便从零地址开始。如果需要程序从中间某一给定的地址开始执行时,先将该确定的地址赋给程序计数器(PC)作为初值,程序便能从该地址开始执行。无论是程序的哪一种执行,在程序计数器(PC)的PC值送出后程序计数器(PC)就自动加l,为下次送出下一个PC值作好了准备,从而顺序地从只读存储器(ROM)中读取指令,这是程序的顺序执行。
2.中断
中断是一项重要的计算机技术,这一技术在微控制器中得到了充分继承。其实,中断现象不仅在控制器中存在,就是在我们的日常生活中也同样存在,请看下例:
你在看书~电话铃响了~你在书上做个记号,走到电话旁~你拿起电话和对方通话~门铃响了~你让打电话的对方稍等一下~你去开门,并在门旁与来访者交谈~谈话结束,关好门~回到电话机旁,拿起电话,继续通话~通话完毕,挂上电话~从作记号的地方起继续读书。
这是一个很典型的中断现象。从看书到接电话,是一次中断过程,而从打电话到与门外来访者交谈,则是在中断过程中发生的又一次中断,即所谓中断嵌套。为什么会发生上述的中断现象呢?就是因为你在一个特定的时刻,面对着三项任务:看书、打电话和接待来访者。但一个人又不可能同时完成三项任务,因此你只好采用中断方法,穿插着去做。
此种现象同样也可能出现在微控制器中,因为通常微控制器中只有一个CPU,但在运行程序过程中可能会出现诸如数据输入、数据输出或特殊情况处理等其他的事情要CPU去完成,对此,CPU也只能采用停下一个任务去处理另一任务的中断方法解决。
中断技术在微控制器中得到了广泛的应用。中断技术能实现CPU与外部设备的并行工作,提高CPU的利用率以及数据的输入/输出效率;中断技术也能对微控制器运行过程中突然发生的故障做到及时发现并进行自动处理,例如:硬件故障、运算错误及程序故障等。
在微控制器中,中断技术还广泛用于实时控制,所谓实时控制,就是要求微控制器能及时地响应被控对象提出的分析、计算和控制等请求,使被控对象保持在最佳工作状态或达到预定的控制效果。例如,DVD在正常播放过程中,微控制器在执行有关正常播放的程序(这里称为主程序),现要求快速向前搜索,此时微控制器在外部按键操作控制下中断原先播放程序,进入快速向前搜索程序。
微控制器有哪三部分组成
微控制器由控制存储器、微指令寄存器和地址转移逻辑三部分组成。
微控制器是将微型计算机的主要部分集成在一一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、 楼宇安全与i ]禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。
Intel公司作为最早推出微处理器的公司,同样也是最早推出微控制器的公司。继1976年推出MCS-48后,又于1980年推出了MCS-51 ,为发展具有良好兼容性的新一代微控制器奠定了良好的基础。在8051技术实现开放后, Philips、Atmel、 Dallas和Siemens等公司纷纷推出了 基于80C5|内核的微控制器。这些各具特色的产品能够满足大量嵌入式应用需求。基于80C51内核的微控制器并没有停止发展的脚步,例如现在Maxim/Dallas公司提供的DS89C430系列微控制器,其单周期指令速度已经提高到了805I的12倍。 |