📄 switch.lst
字号:
C51 COMPILER V7.50 SWITCH 09/30/2007 10:34:12 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SWITCH
OBJECT MODULE PLACED IN switch.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE switch.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //unsigned char code key[4][4]={{0xff,0xff,0x33,0xcc},{0xff,0xff,0xcc,0x33},{0xff,0xff,0x66,0x99},{0xff,0x
-ff,0x99,0x66}}
2 #include<reg767.h>
3 #include "mydefine.h"
4
5 #define UP_KEY _CMPREF
6 #define DOWN_KEY _CMP1
7
8
9 unsigned char Command=0;
10 unsigned int Time=65535;
11 unsigned char Current_ad=0;
12 unsigned char Light_Ray_ad=0;
13
14 unsigned char Receive_State=0;
15 unsigned char Back_Receive_char;
16 unsigned char Up_Key_read_count=0;
17 unsigned char Down_Key_read_count=0;
18 unsigned char Msec=0;
19
20 //**************************************************************************//
21 // Comm Interrupt
22 //**************************************************************************//
23 void Comm(void) interrupt 4 using 1
24 {
25 1 unsigned char Receive_char;
26 1 if(RI)
27 1 {
28 2
29 2 Receive_char=SBUF;
30 2 RI=0;
31 2 switch(Receive_State)
32 2 {
33 3 case 0:
34 3 if(Receive_char==0xff)Receive_State=1;
35 3 break;
36 3 case 1:
37 3 if(Receive_char==0xff)
38 3 {
39 4 Receive_State=1;
40 4 }
41 3 else
42 3 {
43 4 Receive_State=2;
44 4 Back_Receive_char=Receive_char;
45 4 };
46 3 break;
47 3 case 2:
48 3 if(Receive_char==0xff)
49 3 {
50 4 Receive_State=1;
51 4 }
52 3 else if((~Receive_char)==Back_Receive_char)
53 3 {
54 4 if(Receive_char==0xcc)
C51 COMPILER V7.50 SWITCH 09/30/2007 10:34:12 PAGE 2
55 4 {
56 5 Command=UP;
57 5 }
58 4 else if(Receive_char==0x33)
59 4 {
60 5 Command=DOWN;
61 5 }
62 4 else if(Receive_char==0x99)
63 4 {
64 5 Command=LIGHT_ON;
65 5 }
66 4 else if(Receive_char==0x66)
67 4 {
68 5 Command=LIGHT_OFF;
69 5 };
70 4 Receive_State=0;
71 4 }
72 3 else
73 3 {
74 4 Receive_State=0;
75 4
76 4 };
77 3 break;
78 3 };
79 2 }
80 1 TI=0;
81 1 }
82 //**************************************************************************//
83 // Timer0 Interrupt 100ms
84 //**************************************************************************//
85 void Timer0(void) interrupt 1 using 2
86 {
87 1
88 1 TL0 =0xb0;
89 1 TH0 =0x3c;
90 1 //_____________________read current____________________
91 1
92 1 ADCON|=0; //????
93 1 ADCS=1;
94 1 while(!ADCI);
95 1 Current_ad=DAC0;
96 1 ADCI=0;
97 1 ADCON&=0xfc;
98 1 //_____________________read light ray__________________
99 1 ADCON|=1;
100 1 ADCS=1; //?????
101 1 while(!ADCI);
102 1 Light_Ray_ad=DAC0;
103 1 ADCI=0;
104 1 ADCON&=0xfc;
105 1 //_____________________read key_______________________
106 1 if(UP_KEY==0)
107 1 {
108 2 if(Up_Key_read_count<KEY_DELAY)Up_Key_read_count++;
109 2 }
110 1 else
111 1 {
112 2 if(Up_Key_read_count>KEY_DELAY)
113 2 {
114 3 Command=UP;
115 3 };
116 2 Up_Key_read_count=0;
C51 COMPILER V7.50 SWITCH 09/30/2007 10:34:12 PAGE 3
117 2
118 2 };
119 1
120 1
121 1 if(DOWN_KEY==0)
122 1 {
123 2 if(Down_Key_read_count<KEY_DELAY)Down_Key_read_count++;
124 2 }
125 1 else
126 1 {
127 2 if(Down_Key_read_count>KEY_DELAY)
128 2 {
129 3 Command=DOWN;;
130 3 };
131 2 Down_Key_read_count=0;
132 2
133 2 };
134 1 //_____________________timer count________________________
135 1 Msec++;
136 1 if(Msec>9)
137 1 {
138 2 Msec=0;
139 2 if(Time<LIGHT_DELAY)Time++;
140 2 };
141 1
142 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 228 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -