📄 mcu51_set.lst
字号:
C51 COMPILER V7.50 MCU51_SET 11/03/2008 11:24:33 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MCU51_SET
OBJECT MODULE PLACED IN mcu51_set.OBJ
COMPILER INVOKED BY: D:\Program Files\uv2\C51\BIN\C51.EXE mcu51_set.c OPTIMIZE(0,SPEED) DEBUG OBJECTEXTEND CODE SYMBOLS
line level source
1 /*----------------------------------------------------------
2 系统时钟取11.059M
3 串口初始时取9600
4 键盘按四种波特分别发修改波特的命令,总有一个是相符合的波特,
5 键盘的波特可以用软件来实现也可由硬件来实现波特预置
6 球机开机时访问内部的IIC存储器取波特数,本程序现在还未编IIC部分
7 利用上电机的RAM为零可以来启动电机的转动方向,看门狗复位时各变量保持
8 不变因些作记忆功能
9 各口作初始设置要考虑能耗和外部的输出是否有影响
10 ----------------------------------------------------------*/
11
12
13 #include <general.h>
14 void GlobalSet()
15 {
16 1 AUXR = 1;
17 1 }
18 void WDT_cls(void)
19 {
20 1 WDT_CONTR=0xff; //0xff; 启动看门狗看门狗清零
21 1 }
22 void INT_set(void)
23 {
24 1 EX0=1,EX1=1,EX2=1,EX3=1; //中断四个外部
25 1 IT0=1,IT1=1,IT2=1,IT3=1;
26 1 //脉冲方式下降触发
27 1 ET0=1,ET1=1;ES=1; //两个定时器开串口开,全局后开
28 1 IPH=0xc0;
29 1 PX3=1,PX2=0,PX1=1; //中断优先按外部3210顺序3最先
30 1 }
31 void INT_enable(void)
32 {
33 1 EA=1; //全局开
34 1 }
35 void INT_disable(void)
36 {
37 1 EA=0; //全局关
38 1 }
39 void timer_set(void)
40 {
41 1 TMOD=0x11; //定时器01工作于方式1也就是16位方式 要在中断程序中重装
42 1 T2CON=0x30; //定时器于波特率方式TCLK,RCLK=1
43 1 //全都工作于内部计数C/T_=0
44 1 }
45 void SCI_set(void)
46 {
47 1 SCON=0x50; //8位数据位的T2定时器16位重装方式
48 1 }
49 void baud_9600(void)
50 {
51 1 int x;
52 1 TR2=0;
53 1 //为默认的最初方式,baudrate=f/32/T2溢出率
54 1 x=-36; //晶振取11.059M
55 1 RCAP2L=(unsigned char)x;
C51 COMPILER V7.50 MCU51_SET 11/03/2008 11:24:33 PAGE 2
56 1 RCAP2H=(unsigned char)(x>>8);
57 1 TR2=1;
58 1 }
59
60 void baud_19200(void)
61 {
62 1 int x;
63 1 TR2=0;
64 1 x=-18;
65 1 RCAP2L=(unsigned char)x;
66 1 RCAP2H=(unsigned char)(x>>8);
67 1 TR2=1;
68 1 }
69 void baud_4800(void)
70 {
71 1 int x;
72 1 TR2=0;
73 1 x=-72;
74 1 RCAP2L=(unsigned char)x;
75 1 RCAP2H=(unsigned char)(x>>8);
76 1 TR2=1;
77 1 }
78 void baud_2400(void)
79 {
80 1 int x;
81 1 TR2=0;
82 1 x=-144;
83 1 RCAP2L=(unsigned char)x;
84 1 RCAP2H=(unsigned char)(x>>8);
85 1 TR2=1;
86 1 }
87
88 void T0_start(void)
89 {
90 1 TR0=1; //计数开
91 1 }
92 void T0_stop(void)
93 {
94 1 TR0=0;
95 1 P2=0; //计数关 关闭电机输出
96 1 }
97 void T1_start(void)
98 {
99 1 TR1=1;
100 1
101 1 }
102 void T1_stop(void)
103 {
104 1 TR1=0;
105 1 P2=0; //计数关 关闭电机输出
106 1 }
107 void T2_start(void)
108 {
109 1 TR2=1;
110 1 }
111 void T2_stop(void)
112 {
113 1 TR2=0;
114 1 }
115 /*
116 void AutoTest(void)
117 {
C51 COMPILER V7.50 MCU51_SET 11/03/2008 11:24:33 PAGE 3
118 if(P1_0)
119 {
120 WDT_CONTR=0xff; //0xff; 启动看门狗看门狗清零
121 if(!cDirectHorizon)
122 cDirectHorizon=1;
123 cAutoScan=1;
124 T0_start();
125 if(!cDirectVertical)
126 cDirectVertical=1
127 cAutoTestVertical=1
128 T1_start();
129 }
130 else
131 {
132 cAutoScan=0;
133 cAutoTestVertical=0;
134 T1_stop();
135 T0_stop();
136 CameraStop();
137 }
138 }
139 */
C51 COMPILER V7.50 MCU51_SET 11/03/2008 11:24:33 PAGE 4
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION GlobalSet (BEGIN)
; SOURCE LINE # 14
; SOURCE LINE # 15
; SOURCE LINE # 16
0000 758E01 MOV AUXR,#01H
; SOURCE LINE # 17
0003 ?C0001:
0003 22 RET
; FUNCTION GlobalSet (END)
; FUNCTION WDT_cls (BEGIN)
; SOURCE LINE # 18
; SOURCE LINE # 19
; SOURCE LINE # 20
0000 75E1FF MOV WDT_CONTR,#0FFH
; SOURCE LINE # 21
0003 ?C0002:
0003 22 RET
; FUNCTION WDT_cls (END)
; FUNCTION INT_set (BEGIN)
; SOURCE LINE # 22
; SOURCE LINE # 23
; SOURCE LINE # 24
0000 D2A8 SETB EX0
0002 D2AA SETB EX1
0004 D2C2 SETB EX2
0006 D2C6 SETB EX3
; SOURCE LINE # 25
0008 D288 SETB IT0
000A D28A SETB IT1
000C D2C0 SETB IT2
000E D2C4 SETB IT3
; SOURCE LINE # 27
0010 D2A9 SETB ET0
0012 D2AB SETB ET1
0014 D2AC SETB ES
; SOURCE LINE # 28
0016 75B7C0 MOV IPH,#0C0H
; SOURCE LINE # 29
0019 D2C7 SETB PX3
001B C2C3 CLR PX2
001D D2BA SETB PX1
; SOURCE LINE # 30
001F ?C0003:
001F 22 RET
; FUNCTION INT_set (END)
; FUNCTION INT_enable (BEGIN)
; SOURCE LINE # 31
; SOURCE LINE # 32
; SOURCE LINE # 33
0000 D2AF SETB EA
; SOURCE LINE # 34
0002 ?C0004:
0002 22 RET
; FUNCTION INT_enable (END)
; FUNCTION INT_disable (BEGIN)
C51 COMPILER V7.50 MCU51_SET 11/03/2008 11:24:33 PAGE 5
; SOURCE LINE # 35
; SOURCE LINE # 36
; SOURCE LINE # 37
0000 C2AF CLR EA
; SOURCE LINE # 38
0002 ?C0005:
0002 22 RET
; FUNCTION INT_disable (END)
; FUNCTION timer_set (BEGIN)
; SOURCE LINE # 39
; SOURCE LINE # 40
; SOURCE LINE # 41
0000 758911 MOV TMOD,#011H
; SOURCE LINE # 42
0003 75C830 MOV T2CON,#030H
; SOURCE LINE # 44
0006 ?C0006:
0006 22 RET
; FUNCTION timer_set (END)
; FUNCTION SCI_set (BEGIN)
; SOURCE LINE # 45
; SOURCE LINE # 46
; SOURCE LINE # 47
0000 759850 MOV SCON,#050H
; SOURCE LINE # 48
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -