📄 main.lst
字号:
C51 COMPILER V6.12 MAIN 04/02/2005 20:10:09 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\main.c DEBUG OBJECTEXTEND
stmt level source
1 #include <stdio.h>
2 #include <reg51.h>
3
4 sbit LED = P1^0;
5 sbit INT0_PIN = P3^2;
6 unsigned short Tlow,Thigh;
7 unsigned short Tlow1,Thigh1;
8 char Tactive=0;
9
10 unsigned short timer0_value(void)
11 {
12 1 if(TF0)return 0xFFFF;
13 1 return TH0*256+TL0;
14 1 }
15
16 void timer0_reset(void)
17 {
18 1 TF0 = TH0 = TL0 = 0x00;
19 1 }
20
21 void int0_irq(void) interrupt 0 // 0:INT0 1:TIMER0 2:INT1 3:TIMER1 4:SERIAL
22 {
23 1 EX0 = 0; // disable int0 interrupt
24 1 TR0 = 0; // stop timer0
25 1 Thigh = timer0_value();
26 1 Tlow1 = Tlow;
27 1 Thigh1 = Thigh;
28 1 Tactive = 1;
29 1 timer0_reset();
30 1 TR0 = 1; // start timer0
31 1 while(1)
32 1 {
33 2 if(INT0_PIN)break;
34 2 if(TF0)break;
35 2 }
36 1 TR0 = 0; // stop timer0
37 1 Tlow = timer0_value();
38 1 timer0_reset();
39 1 TR0 = 1; // start timer0
40 1 EX0 = 1; // enable int0 interrupt
41 1 }
42
43 void int0_init(void)
44 {
45 1 IT0 =1; // mode: high to low interrupt
46 1 EX0 =1; // enable int0 interrupt
47 1 }
48
49 void timer0_init(void)
50 {
51 1 TMOD = (TMOD&0xF0)|0x01;
52 1 TF0 = 0;
53 1 TR0 = 1;
54 1 }
55
C51 COMPILER V6.12 MAIN 04/02/2005 20:10:09 PAGE 2
56 void uart_init(void)
57 {
58 1 ES = 0; // Disable Serial Interrupt
59 1 SCON = 0x50; // Mode2,N,8,1
60 1 PCON = 0x80; // double baurdate
61 1 TH1 = 0xFF; // baudrate:57600@11.0592M
62 1 TL1 = 0xFF;
63 1 TMOD= (TMOD&0x0F)|0x20;
64 1 TR1 = 1; // Timer1 Start
65 1 TI = 0;
66 1 }
67
68 void uart_write(unsigned char ch)
69 {
70 1 SBUF=ch;
71 1 while(!TI);
72 1 TI=0;
73 1 }
74
75 void main(void)
76 {
77 1 int0_init();
78 1 timer0_init();
79 1 uart_init();
80 1 EA =1;
81 1 while(1)
82 1 {
83 2 if(Tactive)
84 2 {
85 3 Tactive=0;
86 3 uart_write(Tlow1/256);
87 3 uart_write(Tlow1%256);
88 3 uart_write(Thigh1/256);
89 3 uart_write(Thigh1%256);
90 3 }
91 2 }
92 1 }
93
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 207 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 ----
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 + -