鼠標滑輪程序設計

1.實現功能,就是經過A與COM和B與COM的不一樣波形,判斷順時針或逆時針旋轉。以下圖所示波形ide

 

 

2.相關程序,程序設計思路,當A、B同時爲高時,若是A先變爲低,爲順時針,若是B先變低,爲逆時針。當A、B同是爲低時,若是A先變高,爲順時針,若是B先變高,爲逆時針。設計

 1 if(A==0&&B==0)  //同低時
 2         {
 3             CW_Value++;
 4             if(CW_Value > 250)
 5             {
 6                 CW_Value = 250;
 7             }
 8         }
 9         if(A==1&&B==1)    //同高時
10         {
11             CCW_Value++;
12             if(CCW_Value>250)
13                 CCW_Value = 250;
14         }
15     
16         if(CW_Value>5) //判斷同低時,那個先發生跳變
17         {
18             if(A==1&&B==0)//A先發生跳變,順時針
19             {
20                 time1++;
21                 if(time1 > 200){
22                      time1 = 200;
23                 }
24                 if(time1 > 3)
25                 {
26                     if(PT.CW_value<99)
27                         PT.CW_value++;
28                     CW_Value = 0;time1=0;
29                 }
30             }
31             else
32                 time1 = 0;
33             if(B==1&&A==0)//B先發生跳變,逆時針
34             {
35                 time2++;
36                 if(time2>250)
37                     time2=250;
38                 if(time2 > 3)
39                 {
40                     if(PT.CW_value>0)
41                         PT.CW_value--;
42                     CW_Value = 0;time2=0;
43                 }
44             }
45             else
46                 time2 = 0;
47         }
48         if(CCW_Value > 5)//判斷同高時,那個先發生跳變
49         {
50             if(A==0&&B==1)//B先發生跳變,順時針
51             {
52                 time3++;
53                 if(time3 > 200){
54                      time3 = 200;
55                 }
56                 if(time3 > 5)
57                 {
58                     if(PT.CW_value<99)
59                         PT.CW_value++;
60                     CCW_Value = 0;time3=0;
61                 }
62             }
63             else
64                 time3 = 0;
65             if(B==0&&A==1)//A先發生跳變,逆時針
66             {
67                 time4++;
68                 if(time4>250)
69                     time4=250;
70                 if(time4 > 5)
71                 {
72                     if(PT.CW_value>0)
73                         PT.CW_value--;
74                     CCW_Value = 0;time4=0;
75                 }
76             }
77             else
78                 time4 = 0;
79         }
相關文章
相關標籤/搜索