📄 main.lst
字号:
C51 COMPILER V7.00 MAIN 09/24/2007 06:08:38 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c ROM(COMPACT) BROWSE INCDIR(F:\C51\INC\Winbond\) DEBUG OBJECTEXTEND
stmt level source
1 //程序功能描述:做为主控发送命令及数据。
2 //通信协议:开始码:EB 90,数据长度2字节,高位在前,地址码 0XFFFF,命令码:0X00,数据:即灯的控制数据。
3 //通信波特为50,000,用定时器T2做为发生器。
4 //作者:刘孝峰, 07-5-26
5 //#include <W77C32.h>
6 #include <AT89X55.h>
7 #include <string.h>
8 #include <intrins.h>
9
10 #define uint unsigned int
11 #define uchar unsigned char
12 #define YES 1
13 #define NO 0
14 #define RS485_ENABLE P3_2
15 //************通信宏定义***********
16 #define HEAD1 0Xeb
17 #define HEAD2 0x90
18
19 sfr WDREST = 0xa6;
20 sbit P3_2=P3^2;
21
22 /*sbit P1_4=P1^4;
23 sbit P1_5=P1^5;
24 sbit P1_6=P1^6;
25 sbit P1_7=P1^7;
26
27 sbit P2_6=P2^6;
28 */
29 #define MODE_ON 0
30 #define MODE_OFF 1
31
32 #define MODE1 P1_4
33 #define MODE2 P1_5
34 #define MODE3 P1_6
35 #define MODE4 P1_7
36
37 #define QUICK_ENABLE P2_6
38 //#define LED_ENABLE P1_7
39 //**********定时中断TO的时间变量定义***
40 uchar time20ms;
41
42 //**********通信变量定义************
43 uchar idata Send_Buf[24];
44 uchar idata ucRemoteAdd;//远端地址,256个最大受控对象
45
46 uint Data_Length;//发送数据长度
47
48 uchar ucQuick;
49
50 uchar code CODE1[24]={255,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};
51 uchar code CODE2[24]={0,255,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};
52 uchar code CODE3[24]={0,0,255,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};
53 uchar code CODE4[24]={255,0,0,255, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};
54 uchar code CODE5[24]={255,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};
55
C51 COMPILER V7.00 MAIN 09/24/2007 06:08:38 PAGE 2
56 //****************************图形********************
57 uchar code PIC1[23][24]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, //1,三角形
58 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, //2
59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, //3
60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-//4
61 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-//5
62 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-//6
63 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
-//7
64 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
-//8
65 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,
-//9
66 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,
-//10
67 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0,
-//11
68 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0,
-//12
69 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0,
-//13
70 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0,
-//14
71 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,
-//15
72 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,
-//16
73 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0,
-//17
74 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0,
-//18
75 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,
-//19
76 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0,
-//20
77 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,
-//21
78 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-//22
79 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
- //23
80 };
81
82 uchar code PIC2[23][24]={ 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, //1,三角形
83 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0,255, 0,
- 0, 0, 0, 0, //2
84 0, 0, 0, 0, 0, 0,255, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0,255, 0,
- 0, 0, 0, 0, //3
85 0, 0, 0, 0, 0, 0,255, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0,255, 0, 0, 0, 0,
- 0, //4
86 0, 0, 0, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0,
- 0, //5
87 0, 0, 0, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0,
- 0, //6
88 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0,
C51 COMPILER V7.00 MAIN 09/24/2007 06:08:38 PAGE 3
- 0, //7
89 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0,255, 0, 0,255, 0, 0, 0, 0,
- 0, //8
90 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0,
- 0, //9
91 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0
-, 0, //10
92 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,
- 0, //11
93 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0,
- 0, //12
94 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,
- 0, //13
95 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0,
- 0, //14
96 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0,
- 0, //15
97 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0,
- 0, //16
98 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0,
-0, 0, //17
99 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0,
-0, 0, //18
100 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,
- 0, //19
101 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0
-, 0, //20
102 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255
-, 0, //21
103 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,2
-55,255, //22
104 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,2
-55,255, //23
105 };
106 uchar code PIC3[23][24]={ 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 25
-5, 0,255, 0, 255,0, 255, 0, //1,三角形
107 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255, //2
108
109 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 25
-5, 0,255, 0, 255,0, 255, 0, //1,三角形
110 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
111
112 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
113 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
114
115 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
116 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
117
118 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
119 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
120
121 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
122 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
C51 COMPILER V7.00 MAIN 09/24/2007 06:08:38 PAGE 4
-0,255, 0,255, 0, 255, 0, 255,
123
124 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
125 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
126
127 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
128 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
129
130 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
131 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
132
133 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
134 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
135
136 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
137 0,255, 0,255, 0, 55, 0,255, 0,255, 0, 255, 0,255, 0,255,
-0,255, 0,255, 0, 255, 0, 255,
138
139 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0,255, 0, 255, 0,255, 0,
- 255,0, 255, 0, //1,三角形
140 };
141 //**************函数的定义**********
142 void SYS_Init(void);//初始化函数
143 void SCON_Init(void);//串口初始化函数
144 void Send_Data(uchar ucRemoteAdd);//发送数据子函数
145 void Clear_Buf(void);//清发送缓冲区函数
146 //void REST_WDT(void);
147 void Delay_Time(uint TimeCount);
148 void mode1(void);
149 void mode2(void);
150 void mode3(void);
151 void mode4(void);//模式变化函数
152 void deal_quick(void);
153
154 //******主函数***************
155 void main(void)
156 {
157 1 uchar temp;
158 1 SYS_Init();
159 1 SCON_Init();
160 1 while(1)
161 1 {
162 2 temp=P1;
163 2 deal_quick();
164 2 if(MODE1==MODE_ON){ mode1();}
165 2 if(MODE2==MODE_ON){ mode2();}
166 2 if(MODE3==MODE_ON){ mode3();}
167 2 if(MODE4==MODE_ON){ mode4();}
168 2
169 2 }
170 1
171 1 }
172 void deal_quick(void)
C51 COMPILER V7.00 MAIN 09/24/2007 06:08:38 PAGE 5
173 {
174 1 uchar temp;
175 1 QUICK_ENABLE=0;
176 1 Delay_Time(50);
177 1 temp=P0;//读取速度变化位
178 1
179 1
180 1 if(!P0_0){ucQuick=1;return;}
181 1 if(!P0_1){ucQuick=4;return;}
182 1 if(!P0_2){ucQuick=10;return;}
183 1 if(!P0_3){ucQuick=26;return;}
184 1 if(!P0_4){ucQuick=60;return;}
185 1 if(!P0_5){ucQuick=120;return;}
186 1 ucQuick=100;
187 1 QUICK_ENABLE=1;
188 1
189 1 }
190
191
192 //***********系统初始化函数**************
193 void SYS_Init(void)
194 {
195 1 // uchar i;
196 1 time20ms=0;
197 1 Data_Length=0;
198 1 ucRemoteAdd=0xff;
199 1
200 1
201 1 }
202 //***********串口初始花函数**************
203 void SCON_Init(void)
204 {
205 1 PSW=0;
206 1 TMOD=0X01; //TMR0 WORK 1 16BIT
207 1 T2MOD=0X00;
208 1 TH0=0xff;//100us
209 1 TL0=0X38;
210 1 TCON=0X10;
211 1 PCON=0;//波特例不加倍。SMOD=0;
212 1 C_T2=0;
213 1 RCLK=1;
214 1 TCLK=1;
215 1 TF2=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -