编程语言及工具
在《嵌入式编程之单片机的基本构成、工作原理》中,我们讲解了单片机的基础知识。本文让我们来学习单片机必须具有的硬件电路(外围功能电路)。这样,下一次就可以将挑战一个实际单片机的运行了!
“动力”―电源电路
上期我们学习了单片机的基本构成和工作原理。想必大家对单片机的工作原理已经有了大致的了解。这次我们将举例说明单片机工作所必须的硬件电路(外围功能电路)。
我们将以瑞萨电子的新一代产品,通用型单片机“RL78族(RL78/G14)”为例进行说明。
与迄今为止所学的各种电路相同,单片机的工作也需要电源。因此,单片机的外部都连接有象电池等电源部分。
请看图1,是“RL78族(RL78/G14)”的引脚配置,该产品有64个引脚。电源有2个引脚是13/14号 (VSS/EVSS0)和15/16号 (VDD/EVDD0),
13号引脚(VSS)和14号引脚 (EVSS0)连接GND
15号引脚VDD和16号引脚 (EVDD0)连接电源正极
参阅“RL78族(RL78/G14)”数据手册(或硬件手册),您会发现“电源电圧VDD = 1.6~5.5 V”。这是指当电源电压处于1.6V到5.5V之间时,可以保证单片机的正常工作。这个电压范围称为工作电源电压。在有些单片机数据手册上把这个范围称为推荐工作电压范围。
图1:“RL78族(RL78/G14)”(64引脚)的引脚连接图
图2是 “RL78族(RL78/G14)”的电源引脚连接的一个例子。
与15号引脚连接的C1称为旁路电容。可以防止因瞬间大电流引起的电源电压下降,而导致的单片机的误动作。通常选择0.01μF~0.1μF的陶瓷电容作为旁路电容。
“RL78/G14”的内部电路工作电圧是通过内部电压调节器调节电源电压得到的,内部电路的工作电压是1.8或2.1V。为了保证内部电压调节器的稳定性,在12号引脚上也连接了电容C2。
图2:“RL78族(RL78/G14)”(64引脚)的电源电路连接实例
“总指挥”―振荡电路
正如数字电路入门③中所讲的那样,时序电路是按时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)同步工作的。单片机是由时序电路构成的,所以,要在外部连接一个振荡电路提供时钟信号。象这样从单片机的外部输入的时钟信号称为“外部时钟信号”。
图3是单片机(RL78/G14)接连一个振荡电路的例子。晶体振荡器被连接在X1和X2之间。
从图上可以看出一个外部时钟信号可以驱动单片机内部中的2个时钟振荡器。
主时钟振荡器主要用作CPU的工作时钟
子时钟振荡器主要用作外围电路和实时时钟的工作时钟
图3:振荡电路的作用
在内部外围功能十分强大的“RL78族(RL78/G14)”上内部有频率偏差仅为1%的高精度振荡电路。因此,无需从外部提供时钟信号。这种单片机上内部的时钟产生电路称为“内部振荡器”。因为不需要外部振荡电路,减少了设计工序,降低了成本。
类似这样只要备有“内部振荡器”,大家可能认为就可以“无需从外部提供时钟信号”。但实际上在电子手表中,通常使用频率几乎不随温度而变化的、更加精确的晶体振荡器。
「闹钟」―复位电路
刚刚接通电源的单片机内部处于不稳定的状态,CPU无法正常运转。因此,就需要进行单片机状态初始化,这就叫做复位。单片机带有复位信号输入引脚,可以将这个信号调至低电平状态后让单片机复位。也就是说通过输入复位信号来彻底叫醒单片机进入工作状态。
接下来讲解一下复位的时序(图4)。只有在向单片机提供稳定的时钟信号和电源的状态下才能实现复位,同时需将复位信号调至低电平。为了实现这种状态,需要将相比电源上电稍迟一步上电的电路与复位输入引脚相连接。这种电路在电源上电后通过电阻电流慢慢流向电容,电压缓缓上升。因此,电源上电后经过一段时间可以形成解除复位的电 路。这种外部电路称为“上电复位电路”。
图4:简易复位电路及其波形
如上图4所示,上电复位电路左侧的电路称为“手动按钮复位电路”。这是通过手动按下按钮后让单片机进入初始化状态的电路。
普通单片机上复位信号必须在一定时间内保持低电平。具体时间记载在硬件手册和数据手册上。必须根据这个时间的长短来确定电阻R和电容C。
而“RL78族(RL78/G14)”采用的是内部型上电复位电路。因此,只要提供超过工作电压的电源,就可以叫醒单片机进入工作状态。真是太方便了!
CPU的复位操作
通过复位操作,可以使程序计数器PC回到初始值,PC中保存的是CPU将要执行的指令地址。程序计数器PC的初始值是应用程序的头地址。单片机开始运行应用程序的方式有“固定地址开始方式”和“向量方式”。在设计单片机时,决定要使用的方式。
固定地址开始方式是指从固定地址开始执行指令的方式。不同的单片机具体的地址也有所区别。如果固定地址是0,那么,就从0地址开始执行程序。
向量方式是指从ROM的固定地址中,读取要执行指令的地址信息。这种ROM上的固定地址称为复位向量。操作过程是先取读复位向量的地址,然后再将该地址存入程序计数器PC。这种看起来比较繁琐,但是却具有可以自由更改初始执行指令地址的优点。
全部0条评论
快来发表一下你的评论吧 !