码迷,mamicode.com
首页 > 其他好文 > 详细

实时控制软件设计作业_02_停车场门禁系统状态机

时间:2016-12-06 22:34:28      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:控制   语言   space   汽车   反转   images   str   color   log   

根据课堂内容,该状态机系统的状态图可描述如下:

技术分享

 

根据状态图设计的状态机系统,C语言代码如下:

 1 #include <iostream.h>
 2 using namespace std;
 3 
 4 bool in = false;    //汽车入闸传感器值
 5 bool out = false;    //汽车出闸传感器值
 6 bool pos = false;    //起落杆位置传感器,false代表放下,true代表抬起
 7 int eng = 0;    //电机控制信号,0为停止,1为正转抬起,2为反转放下
 8 bool lig = false;    //通行灯控制信号,false为红灯,true为绿灯
 9 int n = 0;    //代表该系统当前状态
10 
11 void status_1(){
12     eng = 0;
13     lig = false;
14     cout << "起落杆已落下。通行灯为红灯,禁止通过。";
15 }
16 
17 void status_2{
18     eng = 1;
19     cout << "检测到车辆,正在抬升起落杆,请稍后……";
20 }
21 
22 void status_3{
23     eng = 0;
24     lig = true;
25     cout << "起落杆已抬起,通行灯为绿,请通过!";
26 }
27 
28 void status_4{
29     eng = 2;
30     lig = false;
31     cout << "车辆已通过,正在下放起落杆。";
32 }
33 
34 int test_status(){
35     if (in == true){
36         if (out == false){
37             if(pos == false){
38                 return 2;
39             }
40         }
41         if (pos == true){
42             if (out == false){
43                 return 3;
44             }
45         }
46     }else{
47         if (out == true){
48             if(pos == true){
49                 return 4;
50             }
51         }else{
52             if(pos == false){
53                 if(out == false){
54                     return 1;
55                 }
56             }
57         }
58 }
59 
60 void main(){
61     while(1){
62         n = test_status();
63         switch(n){
64         case 1 :
65             status_1();
66             break;
67         case 2 :
68             status_2();
69             break;
70         case 3 :
71             status_3();
72             break;
73         case 4 :
74             status_4();
75             break;
76         case 0 :
77             cout << "异常状态,请排查系统状况";
78             break;
79         }
80     }
81 }
82             

 

实时控制软件设计作业_02_停车场门禁系统状态机

标签:控制   语言   space   汽车   反转   images   str   color   log   

原文地址:http://www.cnblogs.com/dyxscript/p/6139279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!