1.5 单片机的工作过程
1.单片机的工作过程
单片机的工作过程实质上是执行用户编制程序的过程,一般程序的机器码都已固化到存储器中,因此开机复位后,就可以执行指令。执行指令又是取指令和执行指令的周而复始的过程。
假设指令MOV A,#08H机器码74H、08H已存在0000H开始的单元中,表示把08H这个值送入A累加器。下面我们来说明单片机的工作过程。
接通电源开机后,PC=0000H,取指令过程如下:
1)PC中的0000H送到片内的地址寄存器。
2)PC的内容自动加1变为0001H指向下一个指令字节。
3)地址寄存器中的内容0000H通过地址总线送到存储器,经存储器中的地址译码选中0000H单元。
4)CPU通过控制总线发出读命令。
5)被选中单元的内容74H送到内部数据总线上,该内容通过内部数据总线送到单片机内部的指令寄存器。到此取指令过程结束,进入执行指令过程。
执行指令的过程:
1)指令寄存器中的内容经指令译码器译码后,说明这条指令是取数命令,即把一个立即数送入A中。
2)PC的内容为0001H送地址寄存器,译码后选中0001H单元,同时PC的内容自动加1变为0002H。
3)CPU同样通过控制总线发出读命令。
4)0001H单元的内容08H读出经内部数据总线送至A,至此本指令执行结束。PC=0002H,机器又进入下一条指令的取指令过程。一直重复上述过程直到程序中的所有指令执行完毕,这就是单片机的基本工作过程。
2.ECU的工作原理
ECU(Electronic Control Unit)为“电子控制单元”缩写,俗称汽车电脑。其基本构成如图1-16所示。ECU的主要工作是按照特定的程序对输入信号进行处理,并形成相应的控制指令,向执行器输出驱动信号。由图可知,它由输入信号处理电路、输出信号电路和微机系统构成。ECU的主要工作过程由微处理器进行,而微处理器是通过读取系统指令进行工作的。在存储器的特定区段中存储着指令和数据,其中存放着处理器下一指令所在地址的寄存器称为程序计数器,用于临时存放从存储器中读出指令的寄存器称为指令寄存器。
图1-16 汽车电子控制单元(ECU)的基本构成
微处理器工作是根据程序计数器中的地址将指令读入指令寄存器中,然后对指令进行翻译,而程序计数器则存储下一条指令所在的地址。微处理器在获得执行该指令所必需的信息以后,将执行该指令所定义的过程,指令定义的过程主要包括对数据进行存储、运算、逻辑判断和函数转换等。当一条指令执行结束以后,微处理器将重复进行确定指令存储器地址、读取指令、解译指令和执行指令这一循环过程,执行下一条指令,直到程序中的全部指令执行完毕。为了改善程序的结构,程序中往往会包含一些子程序,每个子程序用于实现一个特定的功能,主程序需要调用子程序时,将有一条指令使程序计数器设置为子程序第一条程序所在的地址,然后微处理器将运行该子程序,当子程序运行结束时,子程序的最后一条指令又使微处理器返回到当初离开主程序的位置。
微处理器的另一个重要工作是对来自输入、输出和反馈电路的优先信号做出反应,当这些优先信号输入微处理器时,微处理器将停止正在进行的工作,转向运行处理这些优先信号的子程序,这一过程称为中断服务,这些需要优先处理的信号称为中断信号。中断服务功能可以使微处理器不必对控制系统进行连续监测,又可以在进行其他控制过程中按照需要对中断信号进行处理,使处理这些信号的时效性得到保证。例如,发动机点火过于提前导致爆燃发生时,由爆燃传感器反馈的爆燃信号将使微处理器中断正在进行的工作,而转向运行延迟点火正时的子程序,使爆燃燃烧得到抑制。