📄 qin.lst
字号:
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 1
DOS C51 COMPILER V3.96, COMPILATION OF MODULE QIN
OBJECT MODULE PLACED IN QIN.OBJ
COMPILER INVOKED BY: C:\C51\BIN\C51.EXE QIN.C DB OE SMALL ROM(LARGE)
stmt level source
1 #include <reg51.h>
2 #include <absacc.h>
3 #include "intrins.h"
4 #define uchar unsigned char
5 #define uint unsigned int
6 #define PM6388 0x8000
7 #define PM4314 0x8800
8 #define RAM_ADDR 0x9000
9 #define LED XBYTE[0x8c03]
10 #define CSCKS XBYTE[0x8c02]
11 #define CSCKM XBYTE[0x8c01]
12 #define CSCRST XBYTE[0x8c00]
13 #define SS_IDLE 0xb //示闲
14 #define SS_HOLD 0x3 //占用
15
16 uchar led_flag ,k,z,h,fsn,ceshi_data[8];
17 sbit RUN_LED=P1^1;
18 void delay (void)
19 {
20 1 xdata unsigned int m,l; /*delay 1/2ms*/
21 1 for(m = 0; m < 500; m++)
22 1 {
23 2 l = (m * 2) / 2;
24 2 }
25 1 }
26
27 void e1_alarm_led(void) /* 点灯 */
28 {
29 1 uint xdata addr_alarm_led;
30 1 uchar xdata led_new,t,l;
31 1 led_new = 0;
32 1 for (t = 8;t > 0;t--)
33 1 {
34 2 addr_alarm_led = PM6388 + (t - 1) * 0x80;
35 2 l = (XBYTE[addr_alarm_led + 0x36] & 0x40) ;
36 2 l = l >> 6;
37 2 led_new = led_new * 2 + l;
38 2 }
39 1 LED = led_new;
40 1 }
41
42 void init_ram (void)
43 {
44 1 uint xdata i;
45 1 for(i = 0;i < 2048;i++)
46 1 {
47 2 XBYTE[RAM_ADDR + i] = 0;
48 2 }
49 1 }
50 void timer0(void) interrupt 1 using 1
51 {
52 1 EA = 0;
53 1 TH0=-40680/256;
54 1 TL0=-40680%256;
55 1 TR0 = 1;
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 2
56 1 led_flag = 1;
57 1 RUN_LED =!RUN_LED;
58 1 EA = 1;
59 1 }
60 void init_pm4314 (void) /* 初始化PMC4314 */
61 {
62 1 uint xdata addr_e1_pm4314; /* 每路e1接口的起始地址 */
63 1 uchar xdata l,k,j;
64 1 uchar xdata i;
65 1 for(j = 0;j < 2;j++)
66 1 {
67 2 for(i = 0;i < 4;i++)
68 2 {
69 3 addr_e1_pm4314 = PM4314 + i * 0x40 + j * 0x200;
70 3 XBYTE[addr_e1_pm4314+0x00] = 0x09;
71 3 XBYTE[addr_e1_pm4314+0x01] = 0x01;
72 3 XBYTE[addr_e1_pm4314+0x02] = 0x0f;
73 3 XBYTE[addr_e1_pm4314+0x05] = 0x04;
74 3 XBYTE[addr_e1_pm4314+0x09] = 0;
75 3 XBYTE[addr_e1_pm4314+0x0a] = 0;
76 3 XBYTE[addr_e1_pm4314+0x0b] = 0;
77 3 XBYTE[addr_e1_pm4314+0x10] = 0;
78 3 XBYTE[addr_e1_pm4314+0x11] = 0;
79 3 XBYTE[addr_e1_pm4314+0x14] = 0;
80 3 XBYTE[addr_e1_pm4314+0x1f] = 0x22;
81 3 XBYTE[addr_e1_pm4314+0x27] = 0;
82 3 XBYTE[addr_e1_pm4314+0x29] = 0;
83 3 XBYTE[addr_e1_pm4314+0x2d] = 0;
84 3 XBYTE[addr_e1_pm4314+0x2c] = 0x80;
85 3 for(k = 0;k < 8;k++)
86 3 {
87 4 if(k < 4) l = 8;
88 4 else l = 0;
89 4 XBYTE[addr_e1_pm4314 + 0x2e] = k;
90 4 XBYTE[addr_e1_pm4314 + 0x2f] = l;
91 4 }
92 3 XBYTE[addr_e1_pm4314+0x2c] = 0x80;
93 3 XBYTE[addr_e1_pm4314+0x30] = 0x01;
94 3 }
95 2 }
96 1 }
97
98 void init_pm6388 (void) /* 初始化PMC6388 */
99 {
100 1 uint xdata addr_e1_pm6388; /* 每路e1接口的起始地址 */
101 1 uchar xdata i,l,k;
102 1 for(i = 0; i < 8; i++)
103 1 {
104 2 addr_e1_pm6388 = PM6388 + i * 0x80;
105 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x01; /* 对寄存器进行复位 */
106 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x01;
107 2 delay();
108 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x00;
109 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x00;
110 2 XBYTE[addr_e1_pm6388 + 0x00] = 0x00; /* 默认值 00 */
111 2 XBYTE[addr_e1_pm6388 + 0x10] = 0x3b;
112 2 //l = XBYTE[addr_e1_pm6388 + 0x10];
113 2 XBYTE[addr_e1_pm6388 + 0x18] = 0x3b;
114 2 XBYTE[addr_e1_pm6388 + 0x02] = 0x00;
115 2 XBYTE[addr_e1_pm6388 + 0x04] = 0x0c;//0x0c
116 2 XBYTE[addr_e1_pm6388 + 0x0c] = 0;
117 2 XBYTE[addr_e1_pm6388 + 0x0e] = 0 ;
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 3
118 2 XBYTE[addr_e1_pm6388 + 0x11] = 0x20 ;
119 2 XBYTE[addr_e1_pm6388 + 0x12] = 0x01;
120 2 XBYTE[addr_e1_pm6388 + 0x14] = 0;
121 2 XBYTE[addr_e1_pm6388 + 0x1c] = 0;
122 2 XBYTE[addr_e1_pm6388 + 0x19] = 0x01;//0x03
123 2 XBYTE[addr_e1_pm6388 + 0x1a] = 0;
124 2 switch (i)
125 2 {
126 3 case 0:
127 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x40;
128 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x48;
129 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x0;
130 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x0;
131 3 break;
132 3 case 1:
133 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x40;
134 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x48;
135 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x01;
136 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x01;
137 3 break;
138 3 case 2:
139 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x40;
140 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x48;
141 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x02;
142 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x02;
143 3 break;
144 3 case 3:
145 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x40;
146 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x48;
147 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x03;
148 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x03;
149 3 break;
150 3 case 4:
151 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x50;
152 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x58;
153 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x0;
154 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x0;
155 3 break;
156 3 case 5:
157 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x50;
158 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x58;
159 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x01;
160 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x01;
161 3 break;
162 3 case 6:
163 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x50;
164 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x58;
165 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x02;
166 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x02;
167 3 break;
168 3 case 7:
169 3 XBYTE[addr_e1_pm6388 + 0x03] = 0x50;
170 3 XBYTE[addr_e1_pm6388 + 0x01] = 0x58;
171 3 XBYTE[addr_e1_pm6388 + 0x13] = 0x03;
172 3 XBYTE[addr_e1_pm6388 + 0x1b] = 0x03;
173 3 break;
174 3 }
175 2 XBYTE[addr_e1_pm6388 + 0x23] = 0x23;
176 2
177 2 XBYTE[addr_e1_pm6388 + 0x27] = 0x23;
178 2 XBYTE[addr_e1_pm6388 + 0x30] = 0x00;
179 2 XBYTE[addr_e1_pm6388 + 0x31] = 0x40;
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 4
180 2 XBYTE[addr_e1_pm6388 + 0x32] = 0;
181 2 XBYTE[addr_e1_pm6388 + 0x33] = 0;
182 2 XBYTE[addr_e1_pm6388 + 0x3b] = 0;
183 2 XBYTE[addr_e1_pm6388 + 0x3e] = 0;
184 2 XBYTE[addr_e1_pm6388 + 0x40] = 0x61;
185 2 XBYTE[addr_e1_pm6388 + 0x41] = 0x80;
186 2 XBYTE[addr_e1_pm6388 + 0x42] = 0xff;
187 2 XBYTE[addr_e1_pm6388 + 0x43] = 0xff;
188 2
189 2 XBYTE[addr_e1_pm6388 + 0x44] = 0;
190 2 XBYTE[addr_e1_pm6388 + 0x46] = 0;
191 2 XBYTE[addr_e1_pm6388 + 0x47] = 0xff;
192 2 XBYTE[addr_e1_pm6388 + 0x07] = 0x00;//*******************//0x0c
193 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x00;
194 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x00;
195 2 XBYTE[addr_e1_pm6388 + 0x49] = 0x05;
196 2 //l = XBYTE[addr_e1_pm6388 + 0x49];
197 2 XBYTE[addr_e1_pm6388 + 0x48] = 0x00;
198 2 XBYTE[addr_e1_pm6388 + 0x28] = 0x00;//0x00 ***********
199 2 XBYTE[addr_e1_pm6388 + 0x29] = 0xff;//0xff ***********
200 2 XBYTE[addr_e1_pm6388 + 0x2a] = 0;
201 2 XBYTE[addr_e1_pm6388 + 0x2b] = 0;
202 2 XBYTE[addr_e1_pm6388 + 0x2c] = 0;
203 2 XBYTE[addr_e1_pm6388 + 0x2d] = 0;
204 2 XBYTE[addr_e1_pm6388 + 0x49] = 0x01;
205 2
206 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x08;
207 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x08;
208 2 XBYTE[addr_e1_pm6388 + 0x50] = 0x42;
209 2 XBYTE[addr_e1_pm6388 + 0x28] = 0x00;//0x00 ************
210 2 XBYTE[addr_e1_pm6388 + 0x29] = 0xff;//0xff ************
211 2 XBYTE[addr_e1_pm6388 + 0x2a] = 0;
212 2 XBYTE[addr_e1_pm6388 + 0x2b] = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -