📄 mcu51_set.lst
字号:
C51 COMPILER V8.01 MCU51_SET 01/09/2009 17:53:58 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
line level source
1 /*----------------------------------------------------------
2 系统时钟取11.059M
3 串口在初始时取9600发送,延时操作和下一级协调,然后按相机的的要求
4 设置
5 ----------------------------------------------------------*/
6
7 #include <general.h>
8 volatile unsigned char bdata bflag;
9 sbit bflag_0=bflag^0; sbit bflag_1=bflag^1; sbit bflag_2=bflag^2;
10 sbit bflag_3=bflag^3; sbit bflag_4=bflag^4; sbit bflag_5=bflag^5;
11 sbit bflag_6=bflag^6;sbit bflag_7=bflag^7;
12 extern volatile unsigned char flagTxd;
13 extern volatile unsigned char countTxd;
14 extern volatile unsigned int comTxd ;
15 void TxdString(unsigned int com)
16 {
17 1 if(flagTxd==0xee)
18 1 {
19 2 flagTxd=0xff;
20 2 countTxd=0;
21 2 comTxd=com;
22 2 SBUF=0xff;
23 2 }
24 1 }
25 void GlobalSet()
26 {
27 1 AUXR = 1; //全增益和外部存储器输出关闭
28 1 P0=P1=P2=P3=P4=0xff;
29 1 }
30 void IntSet()
31 {
32 1 EX0=0,EX1=0,EX2=0,EX3=0; //中断四个外部全关闭
33 1
34 1 ET0=1,ET1=0;ET2=1;ES=1; //定时器02开
35 1 TCON=0;
36 1 IPH=0x10;IP=0x30; //串口为3定时器0为1级2:2
37 1 XICON=0; //不允许外部23中断
38 1 }
39 void IntEnable(void)
40 {
41 1 EA=1; //全局开
42 1 }
43 void IntDisable(void)
44 {
45 1 EA=0; //全局关
46 1 }
47 void TimerSet(void)
48 {
49 1 TCON=0;
50 1 TMOD=0x23; //定时器0工作于模式3两个定时器,定时器1工作于8位重装
51 1 T2CON=0; //定时器2自动重装
52 1
53 1
54 1 }
55 void SciSet(void)
C51 COMPILER V8.01 MCU51_SET 01/09/2009 17:53:58 PAGE 2
56 {
57 1 SCON=0x50; //定义串口工作方式
58 1 PCON=0x80; //定时器1溢出/2,=0x80则直接采用溢出率
59 1 }
60
61 void HIntSet()
62 {
63 1 EX0=0,EX1=0,EX2=1,EX3=0;
64 1
65 1 ET0=0,ET1=0;ET2=1;ES=0;
66 1 TCON=0;
67 1 IPH=0x40;IP=0;
68 1 XICON=0x0d;
69 1 }
70 void VIntSet()
71 {
72 1 EX0=1,EX1=1,EX2=0,EX3=0;
73 1
74 1 ET0=1,ET1=0;ET2=0;ES=0;
75 1 TCON=5;
76 1 IPH=0x01;IP=0x05;
77 1 XICON=0;
78 1 }
79 /*------------------------------------------------------
80
81 串行口计算公式如下;
82 RCLK=1接收采用定时器2 Baud=Frequence/2/(65536-T2)/16
83 TCLK=0发送采用定时器1 Baud=Frequence/12/(256-TH1)/16
84 定时器1溢出=Frequence/12/(256-TH1)
85
86
87 --------------------------------------------------------*/
88 void TxdBaud19200()
89 {
90 1 TH1=-3; //重装值
91 1 TL1=TH1;
92 1 }
93 void TxdBaud9600()
94 {
95 1 TH1=-6; //重装值
96 1 TL1=TH1;
97 1 }
98 void TxdBaud4800()
99 {
100 1 TH1=-12; //重装值
101 1 TL1=TH1;
102 1 }
103 void TxdBaud2400()
104 {
105 1 TH1=-24; //重装值
106 1 TL1=TH1;
107 1 }
108
109
110 void T0Start(void)
111 {
112 1 TR0=1;
113 1 }
114 void T0Stop(void)
115 {
116 1 TR0=0;
117 1 //计数关
C51 COMPILER V8.01 MCU51_SET 01/09/2009 17:53:58 PAGE 3
118 1 }
119 void T1Start(void)
120 {
121 1 TR1=1;
122 1 }
123 void T1Stop(void)
124 {
125 1 TR1=0;
126 1 //计数关
127 1 }
128 void T2Start(void)
129
130 {
131 1 TR2=1;
132 1 }
133 void T2Stop(void)
134 {
135 1 TR2=0;
136 1 }
137 void Delay()
138 {
139 1 unsigned int x;
140 1 for(x=0;x<0xffff;x++)
141 1 WdtCls();
142 1 }
143 void HVolecity( unsigned int x)
144 {
145 1
146 1 RCAP2L=(unsigned char)x;
147 1 RCAP2H=(unsigned char)(x>>8);
148 1 }
149 void VVolecity(unsigned char x)
150 {
151 1
152 1 TL0=x;
153 1
154 1 }
155 void BeginCharOut()
156 {
157 1
158 1 STB6464=1;CLK6464=1;STB6464=0; CLK6464=0;
159 1 DATA6464=1;CLK6464=1;CLK6464=0;
160 1 DATA6464=1;CLK6464=1;CLK6464=0;
161 1 DATA6464=0;CLK6464=1;CLK6464=0;
162 1 DATA6464=0;CLK6464=1;CLK6464=0;
163 1 DATA6464=0;CLK6464=1;CLK6464=0;
164 1 DATA6464=0;CLK6464=1;CLK6464=0;
165 1 DATA6464=0;CLK6464=1;CLK6464=0;
166 1 DATA6464=0;CLK6464=1;
167 1 }
168 void SecCharOut(unsigned char x)
169 {
170 1 CLK6464=0;
171 1 DATA6464=(0x80&x);CLK6464=1;CLK6464=0;
172 1 DATA6464=(0x40&x);CLK6464=1;CLK6464=0;
173 1 DATA6464=(0x20&x);CLK6464=1;CLK6464=0;
174 1 DATA6464=(0x10&x);CLK6464=1;CLK6464=0;
175 1 DATA6464=(0x08&x);CLK6464=1;CLK6464=0;
176 1 DATA6464=(0x04&x);CLK6464=1;CLK6464=0;
177 1 DATA6464=(0x02&x);CLK6464=1;CLK6464=0;
178 1 DATA6464=(1&x) ; CLK6464=1;
179 1 }
C51 COMPILER V8.01 MCU51_SET 01/09/2009 17:53:58 PAGE 4
180 void EndCharOut()
181 {
182 1 STB6464=1;
183 1 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -