合理的软件结构是设计出一个性能优良的单片机应用系统软件的基础,必须给予足够的重视。由问题的定义,
系统的整个工作可分解为几个相对独立的操作,根据这些操作的相互联系的时间关系,设计出一个合理的软件结
构,使CPU并行地有条不紊地完成这些操作。
对于简单的单片机应用系统通常采用顺序设计方法,这种系统软件由主程序和若干个中断服务程序所构成。
根据系统各个操作的性质,指定哪些操作由中断服务程序完成,哪些操作由主程序完成,并指定各个中断的优先
级。中断服务程序对实时时间请求作必要的处理,使系统能实时地并行地完成各个操作。中断处理程序必须包括
现场保护、中断服务、现场恢复、中断返回等4个部分。中断的发生是随机的,他可能在任意地方打断主程序的
运行,无法预知这时主程序执行的状态。因此,在执行中断服务程序时,必须对原有程序状态进行保护。现场保
护的内容应是中断服务程序所使用的有关资源。中断服务程序是中断处理程序的主体,它由中断所要完成的功能
所确定,如输入或输出一个数据等。现场恢复与现场保护相对应,恢复被保护的有关寄存器状态,中断返回使
CPU回到被该中断所打断的地方继续执行原来的程序。
主程序是一个顺序执行和无限循环程序,不停地顺序查询各种软件标志,以完成对日常事务的处理,主程序
和中断服务之间的信息交换一般采用数据缓冲器和软件标志方法。例如:定时中断到1秒后置位标志SS,以通知主
程序对日历时钟进行计数,主程序查询到SS=1时,清0该标志并完成时钟计数。又如:A/D中断服务程序在读到一个
完整数据时将数据存入约定的缓冲器,并置位标志以通知主程序对此数据进行处理。再如,若要打印,主程序判断
到打印机空时,将数据装配到打印缓冲器,并启动打印机和允许打印中断。打印中断服务程序将一个个数据输出
打印,打印完后关机,并置位打印结束标志,以通知主程序打印机已空。
因为顺序程序设计方法容易理解和掌握,也能满足大多数简单的应用系统对软件功能的要求,因此是一种用
的很广的方法。顺序程序设计的缺点是软件的结构不够了清晰、软件的修改扩充比较困难、实时性差。这是因为
功能复杂的时候,执行中断服务程序要花费较多的时间,CPU执行中断服务程序时不响应低级或同级的中断,这可
能导致某些实时中断请求得不到及时的响应,甚至会丢失中断信息。如果多采用一些缓冲器和标志,让大多数工
作由主程序完成,中断服务程序只完成一些必需的操作,从而中断服务程序的执行时间,这在一定程度上可以提
高系统实时性,但是众多的软件标志会使软件结构变乱,容易发生错误,给调试带来困难。对于复杂的应用系统,
可采用实时多任务操作系统。
深圳市丽晶微电子科技有限公司,专业从事半导体器行业的设计和销售,专注于蜡烛IC,蜡烛芯片,闪灯
IC,闪灯芯片,音乐IC,音乐芯片,触摸IC芯片,电子礼品PCBA,电子玩具PCBA定制。提供有大量标准品IC和客
户委托开发设计的IC芯片定制,联系电话:0755-29100085。