📄 ex14.lst
字号:
C51 COMPILER V6.02 EX14 09/15/2002 22:09:26 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE EX14
OBJECT MODULE PLACED IN .\ex14.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\ex14.c DEBUG OBJECTEXTEND
stmt level source
1 #include <REG52.H> /* special function register declarations */
2 /* for the intended 8051 derivative */
3
4 #include <stdio.h> /* prototype declarations for I/O functions */
5
6
7 #ifdef MONITOR51 /* Debugging with Monitor-51 needs */
char code reserve [3] _at_ 0x23; /* space for serial interrupt if */
#endif /* Stop Exection with Serial Intr. */
10 /* is enabled */
11
12
13 /*------------------------------------------------
14 The main C function. Program execution starts
15 here after stack initialization.
16 ------------------------------------------------*/
17 void main (void) {
18 1
19 1 int month;
20 1 int day;
21 1 /*------------------------------------------------
22 1 Setup the serial port for 1200 baud at 16MHz.
23 1 ------------------------------------------------*/
24 1 #ifndef MONITOR51
25 1 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
26 1 TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
27 1 TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */
28 1 TR1 = 1; /* TR1: timer 1 run */
29 1 TI = 1; /* TI: set TI to send first char of UART */
30 1 #endif
31 1 /*------------------------------------------------
32 1 Note that an embedded program never exits (because
33 1 there is no operating system to return to). It
34 1 must loop and execute forever.
35 1 ------------------------------------------------*/
36 1 printf("please input the month number :");
37 1 scanf("%d",&month ) ;
38 1 switch (month)
39 1 {
40 2 case 1:
41 2 case 3:
42 2 case 5:
43 2 case 7:
44 2 case 8:
45 2 case 10:
46 2 case 12: day=31;
47 2 break;
48 2 case 4:
49 2 case 6:
50 2 case 9:
51 2 case 11:day=30;
52 2 break;
53 2 case 2: day=28;
54 2 break;
55 2 default : day=-1;
C51 COMPILER V6.02 EX14 09/15/2002 22:09:26 PAGE 2
56 2 }
57 1 if(day==-1)
58 1 printf("Invalid month input !\n");
59 1 else
60 1 printf("1999.%d has %d days \n",month,day);
61 1 while (1) {};
62 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 169 ----
CONSTANT SIZE = 80 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
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 + -