📄 com.lst
字号:
C51 COMPILER V8.08 COM 04/17/2007 09:26:38 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE COM
OBJECT MODULE PLACED IN com.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE com.c OBJECTADVANCED OPTIMIZE(9,SPEED) BROWSE DEBUG CODE
line level source
1 /**********************************************
2
3 IO 口模拟232通讯程序
4
5 占用定时器0
6
7 **********************************************/
8
9 #include <reg51.h>
10
11 #define Fosc 11059200L
12 #define Baud 9600L
13
14 sbit BT_REC =P3^3;
15
16 /*********************************************************************************************************
-*
17
18 ** 函数名称 :Timer0_Interrupt()
19 ** 函数功能 :定时器0中断服务程序
20 ** 入口参数 :无
21 ** 出口参数 :无
22 **********************************************************************************************************
-/
23 unsigned char status=8,Rec_Dat;
24
25 unsigned char Rec_Buf[32],rear;
26
27 void Timer0_Interrupt() interrupt 1
28 {
29 1 CY=BT_REC;
30 1 ACC=Rec_Dat;
31 1 CY=ACC&0x01;
32 1 Rec_Dat=ACC;
33 1 if (status==8)
34 1 {
35 2 TR0=0;
36 2 TL0=TH0=0xaa;
37 2 TR0=1;
38 2 }
39 1 if (--status==0)
40 1 {
41 2 status=8;
42 2 Rec_Buf[rear]=Rec_Dat;
43 2 rear++;
44 2 rear&=0x1f;
45 2 IE1=0;
46 2 EX1=1;
47 2 TR0=0;
48 2 }
49 1 }
50
51 /*
52 *********************************************************************************************************
53
C51 COMPILER V8.08 COM 04/17/2007 09:26:38 PAGE 2
54 ** 函数名称 :Init_INT1()
55 ** 函数功能 :初始化外部中断1
56 ** 入口参数 :无
57 ** 出口参数 :无
58 *********************************************************************************************************
59 */
60
61 void Init_INT1(void)
62 {
63 1 IT1=1;
64 1 EX1=1;
65 1 }
66
67 /*
68 *********************************************************************************************************
69
70 ** 函数名称 :INT1_Interrupt()
71 ** 函数功能 :外部中断1中断
72 ** 入口参数 :无
73 ** 出口参数 :无
74 *********************************************************************************************************
75 */
76 void INT1_Interrupt(void) interrupt 2
77 {
78 1 EX1=0; //收到起始位后,禁止INT1中断
79 1 TR0=0;
80 1 TL0=TH0=0x74;
81 1 TR0=1;
82 1 }
83
84 main()
85 {
86 1 Init_INT1();
87 1 TMOD=0x02;
88 1 ET0=1;
89 1 TR0=0;
90 1 EA=1;
91 1
92 1 while (1);
93 1 }
C51 COMPILER V8.08 COM 04/17/2007 09:26:38 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION Timer0_Interrupt (BEGIN)
PUSH ACC
PUSH PSW
MOV PSW,#00H
PUSH AR0
; SOURCE LINE # 27
; SOURCE LINE # 29
MOV C,BT_REC
; SOURCE LINE # 30
R MOV A,Rec_Dat
; SOURCE LINE # 31
RRC A
; SOURCE LINE # 32
R MOV Rec_Dat,A
; SOURCE LINE # 33
R MOV A,status
R xJNE A,#08H,?C0001
; SOURCE LINE # 34
; SOURCE LINE # 35
CLR TR0
; SOURCE LINE # 36
MOV TH0,#0AAH
MOV TL0,#0AAH
; SOURCE LINE # 37
SETB TR0
; SOURCE LINE # 38
?C0001:
; SOURCE LINE # 39
R DJNZ status,?C0003
; SOURCE LINE # 40
; SOURCE LINE # 41
R MOV status,#08H
; SOURCE LINE # 42
R MOV A,#LOW Rec_Buf
R ADD A,rear
MOV R0,A
R MOV @R0,Rec_Dat
; SOURCE LINE # 43
R INC rear
; SOURCE LINE # 44
R ANL rear,#01FH
; SOURCE LINE # 45
CLR IE1
; SOURCE LINE # 46
SETB EX1
; SOURCE LINE # 47
CLR TR0
; SOURCE LINE # 48
; SOURCE LINE # 49
?C0003:
POP AR0
POP PSW
POP ACC
RETI
; FUNCTION Timer0_Interrupt (END)
; FUNCTION Init_INT1 (BEGIN)
; SOURCE LINE # 61
; SOURCE LINE # 62
C51 COMPILER V8.08 COM 04/17/2007 09:26:38 PAGE 4
; SOURCE LINE # 63
SETB IT1
; SOURCE LINE # 64
SETB EX1
; SOURCE LINE # 65
RET
; FUNCTION Init_INT1 (END)
; FUNCTION INT1_Interrupt (BEGIN)
; SOURCE LINE # 76
; SOURCE LINE # 78
CLR EX1
; SOURCE LINE # 79
CLR TR0
; SOURCE LINE # 80
MOV TH0,#074H
MOV TL0,#074H
; SOURCE LINE # 81
SETB TR0
; SOURCE LINE # 82
RETI
; FUNCTION INT1_Interrupt (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 84
; SOURCE LINE # 85
; SOURCE LINE # 86
R CALL Init_INT1
; SOURCE LINE # 87
MOV TMOD,#02H
; SOURCE LINE # 88
SETB ET0
; SOURCE LINE # 89
CLR TR0
; SOURCE LINE # 90
SETB EA
?C0006:
; SOURCE LINE # 92
R xJMP ?C0006
; FUNCTION main (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 106 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 35 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -