📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 10/14/2004 21:37:10 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE c51\main.c BROWSE INCDIR(C:\EZST\EasyStudy51\ES51-II\Target\INC\) DEBUG OBJ
-ECTEXTEND PRINT(.\main.lst) OBJECT(main.obj)
stmt level source
1 // EasyStudy51-II 综合测试程序
2 // 编写:wolfe
3 // 日期:2008.10
4
5 #include "ES51_II.h"
6
7
8
9 unsigned char SIO_BUFF[16];
10
11 unsigned char BUFF[4];
12
13 #define TEST_24C '1'
14 #define TEST_UART '2'
15 #define TEST_BUZZ '3'
16 #define TEST_LED '4'
17 #define TEST_INT0KEY '6'
18 #define TEST_COUNTKEY '5'
19
20
21 // 初始化
22 void ES51_II_Init(void);
23
24 // KEY1~KEY4处理函数
25 void Key_Poll(void);
26
27
28 void Uncall(void)
29 {
30 1 unsigned char i;
31 1 LoopLEDON(LEDMIDDLELOOP,7);
32 1 LoopLEDOFF();
33 1 INT0_Init_KeyINT0();
34 1 INT1_Init_KeyShare();
35 1 DelayS(1);
36 1
37 1 for( i=0;i<8;i++)
38 1 SIO_BUFF[i] = i+'0';
39 1 PutData_(8,&SIO_BUFF);
40 1 while( bTxDone != TRUE);
41 1
42 1 GetData_(1,&SIO_BUFF);
43 1 while( bRxDone != TRUE);
44 1
45 1 PutStr_("Hello,World!");
46 1 while( bTxDone != TRUE);
47 1
48 1 GetStr_(&SIO_BUFF);
49 1 while( bRxDone != TRUE);
50 1
51 1 GetStr_(&SIO_BUFF);
52 1 while( bRxDone != TRUE);
53 1
54 1 GetStr(&SIO_BUFF);
C51 COMPILER V7.06 MAIN 10/14/2004 21:37:10 PAGE 2
55 1 PutStr("123");
56 1
57 1 TurnOnLED(1);
58 1 TurnOffLED(1);
59 1 SMGDisplayOFF();
60 1 }
61
62 void main()
63 {
64 1
65 1 bit none=0;
66 1
67 1 ES51_II_Init();
68 1 EA = 1; // 允许中断
69 1
70 1 SMGBuffWrite(1,4,0,"8888"); // 数码管全部显示:8888
*** WARNING C206 IN LINE 70 OF C51\MAIN.C: 'SMGBuffWrite': missing function-prototype
*** ERROR C267 IN LINE 70 OF C51\MAIN.C: 'SMGBuffWrite': requires ANSI-style prototype
71 1 SMGDisplayON(); // 打开数码管显示
72 1
73 1
74 1 if( none == 1)
75 1 Uncall();
76 1
77 1 while(1)
78 1 {
79 2
80 2 Key_Poll(); // 按键处理
81 2 }
82 1 }
83
84 // 初始化
85 void ES51_II_Init(void)
86 {
87 1 unsigned char i;
88 1
89 1 for(i=0; i<4;i++)
90 1 BUFF[i] = 0; // 缓冲区初始化
91 1
92 1 //INT0_Init_KeyINT0(); // 中断0初始化
93 1 //INT1_Init_KeyShare(); // 中断1初始化
94 1 InitSerialPort(); // 串行口初始化
95 1 }
96
97
98
99 //
100 void Key_Poll(void)
101 {
102 1 unsigned char keyval,tmp;
103 1
104 1 static unsigned char ledtype = 0; //
105 1 static unsigned int count_keyint0 = 0; // INT0键计数
106 1 static unsigned int count_keycount = 0; // COUNT键计数
107 1 static unsigned int count_Txd = 0; // 字符串发送计数
108 1 static unsigned int count_WR24 = 0; //
109 1 static unsigned int count_Bell = 0;
110 1
111 1 keyval = GetKeyVal();
112 1
113 1 if( keyval != VAL_KEYNULL ) // 是否有键按下
114 1 {
C51 COMPILER V7.06 MAIN 10/14/2004 21:37:10 PAGE 3
115 2 switch( keyval )
116 2 {
117 3 case VAL_KEY4: // 执行流水灯
118 3 BUFF[0] = TEST_LED;
119 3 LoopLEDON(ledtype,5);
120 3 BUFF[1] = BUFF[2] = '0';
121 3 BUFF[3] = ledtype+'0'; // 最低位显示跑马灯样式
122 3 if( ++ledtype > 3 )
123 3 ledtype = 0;
124 3 break;
125 3 case VAL_KEY3: // 执行蜂鸣器
126 3 BUFF[0] = TEST_BUZZ;
127 3 if( ++count_Bell == 999 ) // 计数加1
128 3 count_Bell = 0;
129 3 tmp = count_Bell/100;
130 3 BUFF[1] = tmp+'0'; // 百
131 3 BUFF[2] = (count_Bell-tmp*100)/10+'0';// 十
132 3 BUFF[3] = count_Bell%10+'0'; // 个
133 3 SMGBuffWrite(1,4,0,&BUFF); //
134 3 SMGBuffWrite(1,1,1,&BUFF);
135 3 Buzzer(1,2);
136 3 break;
137 3 case VAL_KEY2: // 执行串行口发送数据
138 3 BUFF[0] = TEST_UART; //
139 3 if( bTxDone == TRUE ) // 判断前一字符串是否发送完毕
140 3 {
141 4 count_Txd++; // 发送次数加1;
142 4 PutStr_("Welcome to EasyStudy51-II!\n\r");
143 4 }
144 3 tmp = count_Txd/100;
145 3 BUFF[1] = tmp+'0'; // 百
146 3 BUFF[2] = (count_Txd-tmp*100)/10+'0';// 十
147 3 BUFF[3] = count_Txd%10+'0'; // 个
148 3
149 3 break;
150 3 case VAL_KEY1: // 执行24C01读写程序
151 3 BUFF[0] = TEST_24C;
152 3 EA = 0; // 关闭中断,在读写24时若被中断会引起读写不正常
153 3 WriteEEPROM_OneByte(ADDR_24,0x00,0x55);
154 3 DelayMS(10);
155 3 tmp = ReadEEPROM_OneByte(ADDR_24,0x00);
156 3 EA = 1; //
157 3 if( tmp == 0x55)
158 3 {
159 4 count_WR24++;
160 4 tmp = count_WR24/100;
161 4 BUFF[1] = tmp+'0'; // 百
162 4 BUFF[2] = (count_WR24-tmp*100)/10+'0';// 十
163 4 BUFF[3] = count_WR24%10+'0'; // 个
164 4 }
165 3 else // 错误
166 3 BUFF[1] = BUFF[2]= BUFF[3] = '0';
167 3 break;
168 3 case VAL_KEYINT0:
169 3 if( ++count_keyint0 == 999 ) // 计数加1
170 3 count_keyint0 = 0;
171 3 BUFF[0] = TEST_INT0KEY;
172 3 tmp = count_keyint0/100;
173 3 BUFF[1] = tmp+'0'; // 百
174 3 BUFF[2] = (count_keyint0-tmp*100)/10+'0';// 十
175 3 BUFF[3] = count_keyint0%10+'0'; // 个
176 3 break;
C51 COMPILER V7.06 MAIN 10/14/2004 21:37:10 PAGE 4
177 3 case VAL_KEYCOUNT:
178 3 if( ++count_keycount == 999 ) // 计数加1
179 3 count_keycount = 0;
180 3 BUFF[0] = TEST_INT0KEY;
181 3 tmp = count_keycount/100;
182 3 BUFF[1] = tmp+'0'; // 百
183 3 BUFF[2] = (count_keycount-tmp*100)/10+'0';// 十
184 3 BUFF[3] = count_keycount%10+'0';// 个
185 3 break;
186 3 default:
187 3 break;
188 3 }
189 2 SMGBuffWrite(1,4,0,&BUFF); //
190 2 SMGBuffWrite(1,1,1,&BUFF); //
191 2 }
192 1 }
C51 COMPILATION COMPLETE. 1 WARNING(S), 1 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -