📄 carport.lst
字号:
C51 COMPILER V8.05a CARPORT 12/22/2008 17:43:36 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE CARPORT
OBJECT MODULE PLACED IN carport.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE carport.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /***************************************
2 功能:立体车库上位机控制主程序
3 文件名:carport.c
4 硬件:AT89S52
5 编译人:肖强
6 编译:Keil-2008-12-9
7 ****************************************/
8 #include<reg52.h>
9 #include<Up_control.h>
10 #include<KEY_scan.h>
11 #include<LCD_menu.h>
12 #define uchar unsigned char
13 #define uint unsigned char
14
15 uchar KEY_data_1; //键盘输入高位数据
16 uchar KEY_data_2; //键盘输入低位数据
17 uchar Reci; //下位机执行完成
18 bit KEY_OK;
19 bit KEY_ESC;
20 bit Data_complit=0;
21 void delay(unsigned char y);
22 void int_string_com(void); //串口初始化函数
23 uchar Data_sent(void); //有用数据发送
24 uchar senddate();//握手和数据传输 及检测传输是否正确;
25 void main(void)
26 {
27 1 uchar Send_data,GET_ok,delay_i;
28 1 uchar ch;
29 1 Start_Piture(0,0,1,1); //开机画面函数
30 1 for(delay_i=0;delay_i<40;delay_i++)
31 1 {
32 2 delay(65500);
33 2 }
34 1
35 1
36 1 while(1)
37 1 {
38 2 STA:
39 2 Clear_12864(1);
40 2 Clear_12864(2);
41 2 /********************
42 2 原始车位图面
43 2 **********************/
44 2
45 2 Piture_1(1);
46 2 RET1:
47 2 BlackInput(6,16,2,1); //1不反色,0反色
48 2 Number(2,0,1); //输入数字显示清零
49 2 /********************
50 2 原来车位数据输入
51 2 **********************/
52 2
53 2 KEY_data_1=KEY_scan(); //取原始位置十位数据
54 2 while(1)
55 2 {
C51 COMPILER V8.05a CARPORT 12/22/2008 17:43:36 PAGE 2
56 3 if(KEY_data_1<6)
57 3 {
58 4 // side=0;
59 4 KEY_OK=0;
60 4 KEY_ESC=0;
61 4 Data_complit=0;
62 4 break;
63 4 }
64 3 KEY_data_1=KEY_scan();
65 3 }
66 2 delay(100);
67 2 ClickNumber(KEY_data_1,1); //输入个位数据
68 2 KEY_data_2=KEY_scan();
69 2 while(1) //取原始位置十位数据
70 2 {
71 3 if(KEY_data_2<10)
72 3 {
73 4 // side=0;
74 4 KEY_OK=0;
75 4 KEY_ESC=0;
76 4 Data_complit=0;
77 4 break;
78 4 }
79 3 KEY_data_2=KEY_scan();
80 3 }
81 2 delay(200);
82 2 ClickNumber(KEY_data_2,0); //输入个位数据送LCD显示
83 2 Send_data=KEY_data_1*10+KEY_data_2;
84 2 if((Send_data==0)||(Send_data>50)) //输入数据无效时
85 2 {
86 3 Unoption_Piture(0,0,1); //调用无效输入画面重新
87 3 for(delay_i=0;delay_i<20;delay_i++)
88 3 {
89 4 delay(65500);
90 4 }
91 3 goto STA;
92 3 }
93 2 GET_ok=GET_position(Send_data,Data_complit);
94 2 while(1)
95 2 {
96 3 if(GET_ok) break; //数据获得成功
97 3 GET_ok=GET_position(Send_data,Data_complit);
98 3 }
99 2 /**/ KEY_data_2=KEY_scan(); //等待确认键按下
100 2 while(1)
101 2 {
102 3
103 3 // if(KEY_data_2=10) side=1;
104 3 if (KEY_data_2==10) //确认键/返回键按下处理
105 3 {
106 4 KEY_OK=1;
107 4 KEY_ESC=0;
108 4 SureKey(6,16,1,0);
109 4 delay(1000);
110 4 goto RET2; // 进入下一界面显示
111 4 break;
112 4 }
113 3 else if (KEY_data_2==11) //返回键按下
114 3 {
115 4 KEY_OK=0;
116 4 KEY_ESC=1;
117 4 BlackInput(6,16,2,0);
C51 COMPILER V8.05a CARPORT 12/22/2008 17:43:36 PAGE 3
118 4 delay(1000);
119 4 goto RET1;//返回上一个界面
120 4 break;
121 4 }
122 3
123 3 KEY_data_2=KEY_scan();
124 3 }
125 2 /********************
126 2 目标车位数据输入
127 2 **********************/
128 2 RET2:
129 2 Clear_12864(1);
130 2 Clear_12864(2);
131 2 Piture_1(0);
132 2 RET3:
133 2 BlackInput(6,16,2,1);
134 2 Number(2,0,1); //输入数字显示清零
135 2 KEY_data_1=KEY_scan(); //取目标车库位置十位数据
136 2 while(1)
137 2 {
138 3 if(KEY_data_1<6)
139 3 {
140 4 // side=0;
141 4 KEY_OK=0;
142 4 KEY_ESC=0;
143 4 Data_complit=1;
144 4 break;
145 4 }
146 3 KEY_data_1=KEY_scan();
147 3 }
148 2 ClickNumber(KEY_data_1,1); //输入十位数据送LCD显示
149 2 KEY_data_2=KEY_scan();
150 2 while(1) //取原始位置个位数据
151 2 {
152 3 if(KEY_data_2<10)
153 3 {
154 4 // side=0;
155 4 KEY_OK=0;
156 4 KEY_ESC=0;
157 4 Data_complit=1;
158 4 break;
159 4 }
160 3 KEY_data_2=KEY_scan();
161 3 }
162 2 ClickNumber(KEY_data_2,0); //输入个位数据送LCD显示
163 2 Send_data=KEY_data_1*10+KEY_data_2;
164 2 if((Send_data==0)||(Send_data>50)) //输入数据无效时
165 2 {
166 3
167 3 Unoption_Piture(0,0,1); //调用无效输入画面重新
168 3 for(delay_i=0;delay_i<20;delay_i++)
169 3 {
170 4 delay(65500);
171 4 }
172 3 goto RET2;
173 3 }
174 2 GET_ok=GET_position(Send_data,Data_complit);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -