单片机专用系统的系统程序构成

时间:2023-03-13作者:佚名
专用系统是指利用微处理器构成的具有特定功能的系统,它是针对某个特定的功能专门设计的。近年来随着计算机技术的发展,使家用电器到形形色色的工控系统、通信系统的智能化成为可能。这些系统采用微处理器或微控制器构成智能系统,即在一个电子系统中内含微处理器或微控制器进行系统的信息处理和控制。由于在系统中,微处理器仅作为一个部件,因而将其称为嵌入式处理器。
  专用系统的设计包括了系统的硬件设计和软件设计。
  专用系统的硬件设计是根据专用系统的功能要求选择硬件设备,设计硬件设备的接口电路,并分配其地址。除此之外,还需根据系统对存储器的需要选择程序存储器和数据存储器的容量并分配地址。
  专用系统的软件即系统程序包含了程序区、数据区和堆栈区等部分,程序区主要根据系统对硬件的要求设计一系列的程序,以调用这些硬件设备;数据区为程序中所用的数据工作单元;堆栈区则为使用子程序、中断程序时,存放程序指针或被保护的参数。因此在设计系统程序时,应根据系统硬件所扩展的程序存储器和数据存储器来分配程序区、数据区和堆栈区。
  专用系统的系统程序和单一的程序不同,根据程序功能的要求,系统程序可采用分支程序、循环程序、子程序、查表程序等不同的程序结构,但这些程序仅仅是为完成某一个功能需要而采用的设计方法。作为专用系统的系统程序必须具备一个完整的结构,它必须保证在系统上电的时候能自动启动,并根据系统硬件的要求执行一定的功能。为此必须解决程序启动、系统初始化、堆栈使用和如何调用中断程序等问题。一个完整的系统程序采用如下结构:
程序启动地址定义
堆栈区设定
系统硬件初始化
数据区初始化
中断程序入口地址设定
主程序、子程序
中断服务程序
数据


  1. 程序启动地址
  在设计单一的程序时,通常根据使用的工作平台(如八位微处理器采用学习机、十六位微处理器采用PC机、微控制器采用仿真器)程序存储器的地址安排来选用程序的起始地址。在设计系统程序时,为保证在系统上电时自动进入系统程序,必须按照所用微处理器或微控制器复位后的程序指针来决定程序的起始地址。为此在设计系统的硬件时必须将程序存储器的地址与系统复位后的程序指针保持一致,同时在设计软件时,也必须将程序的起始地址与系统复位后的程序指针保持一致。
  不同的微处理器或微控制器复位后程序指针的值各不相同,如八位微处理器Z80复位后的程序指针为0000H,十六位微处理器INTEL 8086/8088复位后的程序指针为FFFF0H,微控制器MCS-51单片机复位后的程序指针为0000H。因此在设计这些微处理器或微控制器的系统程序时,必须将程序的起始地址按上述要求设置。
  2. 系统初始化
  系统初始化对系统所用的硬件和数据区进行初始化设定。根据系统对硬件的要求,尤其是可编程接口电路的使用都要求系统在使用这些硬件之前对硬件的工作方式进行设定。数据区初始化是将数据区的内容按程序的要求进行设定。
  3. 堆栈设置
  在设计子程序、中断程序时,通常要用堆栈来存放程序指针或被保护的参数。在设计单一的程序时,通常不考虑堆栈的设置,这是因为所用的工作平台已对堆栈进行了设置,而在设计系统程序时应根据微处理器或微控制器对堆栈的要求设置堆栈。堆栈是采用先进后出方式存放的随机存储器,在八位微处理器Z80和十六位微处理器INTEL 8086/8088中,它可位于随机存储器的任何地址,在数据压入堆栈的时候,堆栈指针减小,而数据弹出堆栈的时候,堆栈指针加大。在微控制器MCS-51单片机中,规定堆栈必须在内部RAM的00H~7FH的范围中,在数据压入堆栈的时候,堆栈指针加大,而数据弹出堆栈的时候,堆栈指针减小。
  堆栈设置是在存储器中划出一定的存储区域作为堆栈使用,具体做法是设定堆栈指针,在使用堆栈时堆栈指针将改变,应保证在程序运行的过程中,堆栈指针始终在设定的范围内。因此,在设计程序时应事先预计堆栈的大小,避免堆栈指针指向数据区或程序区,或超出存储器的范围。
  在数据压入堆栈其指针减小的操作方式中,在使用堆栈时,堆栈指针先减1,然后将需压入堆栈的内容传送到指针指向的存储器。在数据压入堆栈其指针加大的操作方式中,在使用堆栈时,堆栈指针先加1,然后将需压入堆栈的内容传送到指针指向的存储器。因此在设定初始堆栈指针时,总将其指向堆栈区之外的第一个单元,即比实际所用的堆栈地址大(或小)1,以便在使用堆栈时从堆栈的第一个单元开始使用。
  4. 中断程序
  在系统程序中,为了调用各种硬件设备,或调用特定的软件,可采用程序中断的方法。不同的微处理器或微控制器具有不同的进入中断程序的方法。微处理器或微控制器的中断处理功能越强,则该微处理器或微控制器构成系统的对外部设备调用的功能也越强。
  中断程序的设计包含了中断入口地址的设置和中断服务程序设计两部分,前者规定了中断服务程序的入口地址,当系统要求进入中断程序时,从该入口地址进入中断服务程序。根据微处理器或微控制器的结构,中断服务程序的入口地址的设置各不相同。中断服务程序则是以入口地址为起始地址的一段服务程序。与子程序不同的是,中断服务程序以中断返回指令结束,而子程序以一般的返回指令结束。类似于子程序,在中断服务程序中为了保护参数,通常采用将数据或标志压入堆栈的方法,此时应注意压入和弹出指令的配对。

相关阅读

看电气图的一般步骤

1.详看图纸说明 拿到图纸后,首先要仔细阅读图纸的主标题栏和有关说明,如图纸目录、技术说明、电器元件明细表、施工说明书等,结合已有的电工 知识,对该电气 图的类型、性质...
2023-03-21

电力系统暂态过程有几种形式?各有什么特点?

电力系统的暂态过程有三种形式:即波过程、电磁暂态过程和机电暂态过程。 波过程是运行操作或雷击过电压引起的过程。这类过程最短暂(微秒级),涉及电流、电压波的传播。波过...
2023-06-13
电力系统暂态过程有几种形式?各有什么特点?

电源防反接电路图 分享几种电源防反接电路设计

PMOS防反接电路 基本的PMOS防反接电路,利用PMOS的寄生二极管: 电源正接,寄生二极管导通,S极电压升高,VGS ≈ -Vin,从而PMOS开启,一般导通电阻在数十mΩ,导通损耗远低于二极管。...
2023-09-04
电源防反接电路图 分享几种电源防反接电路设计

如何避免电焊机触电事故

电焊机实际上就是具有下降外特性的变压器,将输入电压220V或380V交流电变为低压电。 电焊机一般按输出电源种类可分为两种,一种是交流电源的;一种是直流电的。 直流电焊机可以说...
2023-06-19

PLC 的编程语言,打基础!其实它并不难,建议收藏慢慢看

PLC是专为工业控制而开发的装置,其主要使用者是工厂广大电气技术人员,为了适应他们的传统习惯和掌握能力,通常PLC不采用微机的编程语言,而常常采用面向控制过程、面向问题的...
2023-06-13
PLC 的编程语言,打基础!其实它并不难,建议收藏慢慢看

热销商品

手术衣一次性防护服打农药防尘实验服参观服加厚透气无纺布隔离衣

手术衣一次性防护服,作为一种重要的医疗防护用品,广泛应用于医院、实验室等场所。它采用加厚透气无纺布制成,具有优良的防尘、防污、防病毒能力,能有效保护医护人员免...
14

欧普照明led灯泡e27/e14大小螺口超亮家用节能灯螺旋暖白光球泡

欧普照明LED灯泡,适用于E27和E14两种常见螺口,是您家用照明的理想选择。这款灯泡采用先进LED技术,亮度超群,瞬间点亮,无需等待,为您提供明亮舒适的光环境。同时,它节能环...
3.59

LED柜内照明灯 AC220V 4W 7W配电箱导轨式 LL10-W 高压柜内照明灯

LED柜内照明灯AC220V 4W/7W配电箱导轨式LL10-W是一款专为高压柜、配电箱等封闭电气设备设计的紧凑型照明产品。采用高效LED光源,功耗低(4W/7W可选),亮度高,寿命长,节能...
7

密封胶条包邮耐磨耐高温耐腐蚀圆柱棒丁晴/氟胶实心硅胶胶条红色

本品采用优质丁腈橡胶(NBR)或氟橡胶(FKM)及实心硅胶材质制成,呈红色圆柱棒状,具备卓越的耐磨、耐高温(-40℃至+200℃以上,氟胶可达250℃)、耐腐蚀性能,适用于酸、碱、油类等...
1

小木锤木锤子实木木榔头圆头木锤实木棰木头锤子木柄锤黄檀手工锤

小木锤采用优质黄檀木精心打造,通体实木结构,质地坚硬、纹理细腻,手感温润舒适。圆头设计兼顾敲击与整形功能,适用于木工、雕刻、家具组装及日常维修等场景。木柄经精...
3.4

网站栏目