📄 idle.lst
字号:
C51 COMPILER V6.02 IDLE 11/11/2000 16:22:42 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE IDLE
OBJECT MODULE PLACED IN .\idle.OBJ
COMPILER INVOKED BY: C:\Keil2\C51\BIN\C51.EXE .\idle.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <stdio.h>
2 #include <reg51.h>
3
4 void timer_ISR (void) interrupt 1
5 {
6 1 /* This exits IDLE Mode */
7 1 }
8
9 void main (void)
10 {
11 1 unsigned char i;
12 1
13 1 /*------------------------------------------------
14 1 Setup the serial port for 1200 baud at 20MHz.
15 1 ------------------------------------------------*/
16 1 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
17 1 TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
18 1 TH1 = 0xD5; /* TH1: reload value for 1200 baud @ 20MHz */
19 1 TR1 = 1; /* TR1: timer 1 run */
20 1 TI = 1; /* TI: set TI to send first char of UART */
21 1
22 1 /*------------------------------------------------
23 1 Setup TIMER0 to generate a regular interupt.
24 1 ------------------------------------------------*/
25 1 TR0 = 0; /* Stop Timer 0 */
26 1
27 1 TMOD &= ~0x0F; /* 16-bit, no prescale mode */
28 1 TMOD |= 0x01;
29 1
30 1 TL0 = 0; /* Set T0 */
31 1 TH0 = 0;
32 1
33 1 PT0 = 0; /* Low Priority Interrupt */
34 1 ET0 = 1; /* Enable Timer0 Interrupt */
35 1
36 1 TR0 = 1; /* Start Timer 0 */
37 1 EA = 1; /* Enable Global Interrupts */
38 1
39 1 /*------------------------------------------------
40 1 Check to see if the Power-Off Flag is set. If it
41 1 is, then reset came from a power-up. If it is not,
42 1 then reset was to a powered-on system (after
43 1 power-down mode was entered).
44 1 ------------------------------------------------*/
45 1 if (PCON & 0x10) /* If the Power-Off Flag is set */
46 1 {
47 2 PCON &= ~0x10; /* CLR the Power-Off Flag */
48 2 printf ("Cold Start\n");
49 2 }
50 1 else
51 1 {
52 2 printf ("Warm Start\n");
53 2 }
54 1
55 1 /*------------------------------------------------
C51 COMPILER V6.02 IDLE 11/11/2000 16:22:42 PAGE 2
56 1 ------------------------------------------------*/
57 1 while (1) /* Repeat forever */
58 1 {
59 2 PCON |= 0x01; /* Enter IDLE Mode -- Wake-up every timer interrupt */
60 2 i++;
61 2 printf ("Idle Loop Count = %bu\n", i);
62 2 }
63 1 }
64
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 82 ----
CONSTANT SIZE = 47 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -