c51单片机的多任务机制及应用(编辑修改稿)内容摘要:
讯,当发生火灾、地震等灾情时,管理中心能通知用户。 其结构如图 1所示。 平时状态下,主板的 CPU 不断地扫描各个传感器的状态。 当检测到传感器的异常信号(有人闯入)时, CPU 进入入侵报警状 态,执行响警铃、拨打户主电话、通知管理中心等工作。 当发生火灾地震时,管理中心发送一个串口代码给主板 CPU,使 CPU 进入灾难报警状态,执行响警铃、语音报警等操作。 用户需要进行功能设置时可以通过键盘板使主板 CPU 进入功能设置状态。 因此主板的 CPU 有 4 种不同的工作状态。 图 1 智能安防系统结构示意图 如果采用单任务机制 , 主板的程序流程如图 2 所示。 在主函数中循环检测传感器状态 ,如有异常则调用报警函数,灾难报警和功能设置在串口中断中完成。 这种单任务结构有两个缺点。 首先,在各种非平时状态中,程序需要 不停地检测是否收到撤除信号,这个要求在程序代码量大、执行工作较多的情况下很难实现。 其次,各状态之间的切换十分困难,用 C语言写的程序为求模块化,一般函数数量较多,函数调用的嵌套层数也多,要从一个较深的嵌套立刻跳出到主函数,是非常困难的。 一般的解决方法或是使用 C51的库函数 setjmp()和 longjmp()实现长跳转,但是这两个函数在中断函数内部是无能为力的;再或是在 C 函数中嵌入汇编指令。 虽然用汇编指令可以实现程序的长距离跳转,但是这种方法的调试过程十分烦琐,而且程序的可移植性差。 对于习惯用 C51 编程而不想用汇编的设计者,该部分程序是一个难题。 图 2 单任务机制程序流程 实现多任务机制的程序结构 本文提供了一种方法,可以在完全不使用汇编指令的前提下实现可移植性强的多任务程序,程序流程如图 3所示。 图 3 多任务结构程序流程 实现这个多任务机制的完整源代码如下: word idata PC_Value, SP_Value。 SP 初值的全局变量 byte idata Ctrl_Code。 的全局变量,在中断函数里被赋值 void main() { Initial()。 SP_Value=SP。 PC_Value=Get_Next_PC()。 一条指令的地址 EA=1。 PC、 SP 初值后再开中断保证稳定性 if(Ctrl_Code!=0) SP=SP_Value。 switch( Ctrl_Co。c51单片机的多任务机制及应用(编辑修改稿)
相关推荐
以被修改。 数组名的本质如下: ( 1)数组名指代一种数据结构,这种数据结构就是数组; 例如: char str[10]。 cout << sizeof(str) << endl。 输出结果为 10, str指代数据结构 char[10]。 ( 2)数组名可以转换为指向其指代实体的指针,而且是一个指针常量,不能作自增、自减等操作,不能被修改; char str[10]。 str++。
例的问题论坛上说的多了 ,却总是说也说不完,但不说还不行,那就简单点,重在体会与领悟。 如果你用布局出图,基本上不用关心比例的问题。 意思是说,你可以知其然而不知所以然。 所以,强烈推荐使用布局出图。 如果你用模型空间出图,则不得不考虑比例换算,你不仅要知其然而且要知其所以然。 全局比例:全局比例是一个显示比例,等于打印比例,即与对象的实际尺寸值无关。 测量比例:测量比例是一个缩放比例
CAPP的信息集成,即广泛实现工艺信息的共享; b) 工艺设计的数据化是 CAPP信息集成的前提; c) 开放式、分布式网络和工程数据库系统是 CAPP信息集成的支撑环境。 CAPP集成化应用层次 CAPP的集成与应用应从以零组件为主体对象的局部集成和应用走向以整个产品为对象的全面集成与应用,CAPP的集成化应是一个多层次、分阶段的渐进发展过程,即: a) 基于特征的
同名函数: function func(p:integer):integer。 和 function func(p:string):integer。 那么编译器做过修饰后的函数名称可能是这样的: int_func、 str_func。 对于这两个函数的调用,在编译器间就已经确定了,是静态的。 也就是说,它们的地址在编译期就绑定了(早绑定),因此,重载和多态无关。 重写:和多态真正相关。
连接起来,符合 C++语法规则的式子。 由条件运 算符将运算对象连接起来,符合 C++语法规则的式子。 在函数中控制程序流程执行的基本单位,如 if语句 ,while语句 ,switch语句 , do语句 , 表达式语句等。 封闭于大括号 {}内的语句序列。 for 语句 , while 语句 , do 语句三种。 基于某一条件在两个选项中选择其一的语句称为条件语句。
112 经营税金 122 劳务费 113 固定资产原价 020 各种设备、交通工具及图书资料购置费 117 期末从业人员 (人 ) 362 对个人和家庭补助支出 118 #外方及港澳台人员 (人 ) 370 事业单位经营支出 250 单位负责人: 统计负责人: 填表人: 联系电 话 : 报出日期: 200 年 月 日 说明: 、北京市经济技术开发区统计局及市级统计直报单位报送基层企业数据。