📄 mcu51_set.lst
字号:
C51 COMPILER V8.01 MCU51_SET 12/13/2008 17:52:30 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE MCU51_SET
OBJECT MODULE PLACED IN mcu51_set.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE mcu51_set.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS
line level source
1 /*----------------------------------------------------------
2 系统时钟取11.059M
3 串口在初始时取9600发送,延时操作和下一级协调,然后按相机的的要求
4 设置
5 ----------------------------------------------------------*/
6
7 #include <general.h>
8 void GlobalSet()
9 {
10 1 AUXR = 1; //全增益和外部存储器输出关闭
11 1 P1=P2=P3=P4=0xff;
12 1 }
13 void IntSet()
14 {
15 1 EX0=0,EX1=0,EX2=0,EX3=0; //中断四个外部全关闭
16 1
17 1 ET0=1,ET1=0;ET2=0;ES=1; //定时器0暂时先关闭,以后有日历后开启
18 1 IPH=0;IP=0x10; //串口为1定时器0为0级
19 1 XICON=0; //不允许外部23中断
20 1 }
21
22 void IntEnable(void)
23 {
24 1 EA=1; //全局开
25 1 }
26 void IntDisable(void)
27 {
28 1 EA=0; //全局关
29 1 }
30 void TimerSet(void)
31 {
32 1
33 1 TCON=0;
34 1 TMOD=0x21; //定时器0工作于16位定时器定时器1工作于8位重装
35 1 T2CON=0x20; //定时器于波特率方式TCLK=0,RCLK=1
36 1 //定时器工作于接收用2发送用1的溢出率来表示
37 1 //全都工作于内部计数C/T_=0
38 1 }
39 void SciSet(void)
40 {
41 1 SCON=0x50; //定义串口工作方式
42 1
43 1 PCON=0x80; //定时器1溢出/2,=0x80则直接采用溢出率
44 1 }
45
46
47 /*------------------------------------------------------
48
49 串行口计算公式如下;
50 RCLK=1接收采用定时器2 Baud=Frequence/2/(65536-T2)/16
51 TCLK=0发送采用定时器1 Baud=Frequence/12/(256-TH1)/16
52 定时器1溢出=Frequence/12/(256-TH1)
53
54
55 --------------------------------------------------------*/
C51 COMPILER V8.01 MCU51_SET 12/13/2008 17:52:30 PAGE 2
56 void TxdBaud19200()
57 {
58 1 TH1=-3; //重装值
59 1 TL1=TH1;
60 1 }
61 void TxdBaud9600()
62 {
63 1 TH1=-6; //重装值
64 1 TL1=TH1;
65 1 }
66 void TxdBaud4800()
67 {
68 1 TH1=-12; //重装值
69 1 TL1=TH1;
70 1 }
71 void TxdBaud2400()
72 {
73 1 TH1=-24; //重装值
74 1 TL1=TH1;
75 1 }
76
77 void RxdBaud19200(void)
78 {
79 1 int x;
80 1
81 1 x=-18;
82 1 RCAP2L=(unsigned char)x;
83 1 RCAP2H=(unsigned char)(x>>8);
84 1
85 1 }
86 void RxdBaud9600(void)
87 {
88 1 int x;
89 1
90 1 //为默认的最初方式,baudrate=f/32/T2溢出率
91 1 x=-36; //晶振取11.059M
92 1 RCAP2L=(unsigned char)x;
93 1 RCAP2H=(unsigned char)(x>>8);
94 1
95 1 }
96
97
98 void RxdBaud4800(void)
99 {
100 1 int x;
101 1
102 1 x=-72;
103 1 RCAP2L=(unsigned char)x;
104 1 RCAP2H=(unsigned char)(x>>8);
105 1
106 1 }
107 void RxdBaud2400(void)
108 {
109 1 int x;
110 1
111 1 x=-144;
112 1 RCAP2L=(unsigned char)x;
113 1 RCAP2H=(unsigned char)(x>>8);
114 1
115 1 }
116 void T0Start(void)
117 {
C51 COMPILER V8.01 MCU51_SET 12/13/2008 17:52:30 PAGE 3
118 1 TR0=1;
119 1
120 1 }
121 void T0Stop(void)
122 {
123 1 TR0=0;
124 1 //计数关
125 1 }
126 void T1Start(void)
127 {
128 1 TR1=1;
129 1
130 1 }
131 void T1Stop(void)
132 {
133 1 TR1=0;
134 1 //计数关
135 1 }
136 void T2Start(void)
137 {
138 1 TR2=1;
139 1 }
140 void T2Stop(void)
141 {
142 1 TR2=0;
143 1 }
C51 COMPILER V8.01 MCU51_SET 12/13/2008 17:52:30 PAGE 4
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION GlobalSet (BEGIN)
; SOURCE LINE # 8
; SOURCE LINE # 9
; SOURCE LINE # 10
0000 758E01 MOV AUXR,#01H
; SOURCE LINE # 11
0003 75E8FF MOV P4,#0FFH
0006 75B0FF MOV P3,#0FFH
0009 75A0FF MOV P2,#0FFH
000C 7590FF MOV P1,#0FFH
; SOURCE LINE # 12
000F ?C0001:
000F 22 RET
; FUNCTION GlobalSet (END)
; FUNCTION IntSet (BEGIN)
; SOURCE LINE # 13
; SOURCE LINE # 14
; SOURCE LINE # 15
0000 C2A8 CLR EX0
0002 C2AA CLR EX1
0004 C2C2 CLR EX2
0006 C2C6 CLR EX3
; SOURCE LINE # 17
0008 D2A9 SETB ET0
000A C2AB CLR ET1
000C C2AD CLR ET2
000E D2AC SETB ES
; SOURCE LINE # 18
0010 75B700 MOV IPH,#00H
0013 75B810 MOV IP,#010H
; SOURCE LINE # 19
0016 75C000 MOV XICON,#00H
; SOURCE LINE # 20
0019 ?C0002:
0019 22 RET
; FUNCTION IntSet (END)
; FUNCTION IntEnable (BEGIN)
; SOURCE LINE # 22
; SOURCE LINE # 23
; SOURCE LINE # 24
0000 D2AF SETB EA
; SOURCE LINE # 25
0002 ?C0003:
0002 22 RET
; FUNCTION IntEnable (END)
; FUNCTION IntDisable (BEGIN)
; SOURCE LINE # 26
; SOURCE LINE # 27
; SOURCE LINE # 28
0000 C2AF CLR EA
; SOURCE LINE # 29
0002 ?C0004:
0002 22 RET
; FUNCTION IntDisable (END)
; FUNCTION TimerSet (BEGIN)
C51 COMPILER V8.01 MCU51_SET 12/13/2008 17:52:30 PAGE 5
; SOURCE LINE # 30
; SOURCE LINE # 31
; SOURCE LINE # 33
0000 758800 MOV TCON,#00H
; SOURCE LINE # 34
0003 758921 MOV TMOD,#021H
; SOURCE LINE # 35
0006 75C820 MOV T2CON,#020H
; SOURCE LINE # 38
0009 ?C0005:
0009 22 RET
; FUNCTION TimerSet (END)
; FUNCTION SciSet (BEGIN)
; SOURCE LINE # 39
; SOURCE LINE # 40
; SOURCE LINE # 41
0000 759850 MOV SCON,#050H
; SOURCE LINE # 43
0003 758780 MOV PCON,#080H
; SOURCE LINE # 44
0006 ?C0006:
0006 22 RET
; FUNCTION SciSet (END)
; FUNCTION TxdBaud19200 (BEGIN)
; SOURCE LINE # 56
; SOURCE LINE # 57
; SOURCE LINE # 58
0000 758DFD MOV TH1,#0FDH
; SOURCE LINE # 59
0003 858D8B MOV TL1,TH1
; SOURCE LINE # 60
0006 ?C0007:
0006 22 RET
; FUNCTION TxdBaud19200 (END)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -