📄 main_trans.lst
字号:
C51 COMPILER V7.06 MAIN_TRANS 08/16/2004 09:46:35 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN_TRANS
OBJECT MODULE PLACED IN main_trans.OBJ
COMPILER INVOKED BY: D:\Program\Keil\C51\BIN\C51.EXE main_trans.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<REG51.H>
2 typedef unsigned char uchar;
3
4 sbit RW = P1^0;
5 sbit CS0 = P1^1;
6 sbit RS = P1^2;
7 sbit FI2 = P1^3;
8 sbit D0 = P1^4;
9 sbit D1 = P1^5;
10 sbit D2 = P1^6;
11 sbit D3 = P1^7;
12 sbit TEST = P3^7;
13
14 uchar st , buff;
15
16 char Read_Status();
17 char Read_Data();
18 void Write_Control(uchar);
19 void Write_Data(uchar);
20 void delay();
21 void Ins_delay();
22 void Serial_Init();
23
24
25
26 void extern0_ISR() interrupt 0{} /* not used */
27
28 void timer0_ISR () interrupt 1{} /* not used */
29
30 void extern1_ISR() interrupt 2
31 {
32 1 Read_Status();
33 1 st = 0;
34 1 }
35
36 void timer1_ISR () interrupt 3{} /* not used */
37
38
39
40 void serial_ISR () interrupt 4
41 {
42 1 if(RI)
43 1 {
44 2 RI = 0;
45 2 buff = SBUF;
46 2 }
47 1 else
48 1 TI = 0;
49 1 }
50
51 main()
52 {
53 1 buff = 0xFF;
54 1 st = 1;
55 1 delay();
C51 COMPILER V7.06 MAIN_TRANS 08/16/2004 09:46:35 PAGE 2
56 1
57 1 Serial_Init();
58 1
59 1 IT1 = 1;
60 1 EX1 = 1;
61 1 TI = 1;
62 1
63 1 Read_Status();
64 1 Write_Control(0x00);
65 1 Write_Control(0xD0);
66 1 Write_Control(0x00);
67 1 Read_Status();
68 1
69 1 while(1)
70 1 {
71 2 if(buff != 0xFF)
72 2 {
73 3 buff *= 16;
74 3
75 3 Write_Data(buff);
76 3 buff = 0xFF;
77 3
78 3 /*delay();
79 3 TEST = 1;
80 3 st = Read_Status();
81 3 while(!(st & 0x20))
82 3 {
83 3 delay();
84 3 st = Read_Status();
85 3 }
86 3 TEST = 0;
87 3 */
88 3 }
89 2 delay();
90 2 }
91 1 }
92
93 char Read_Status()
94 {
95 1 char ReSt;
96 1
97 1 P1 = 0xF5;
98 1
99 1 FI2 = 1;
100 1 Ins_delay();
101 1 ReSt = P1;
102 1 FI2 = 0;
103 1
104 1 CS0 = 1;
105 1
106 1 ReSt &= 0xF0;
107 1 return ReSt;
108 1 }
109 char Read_Data()
110 {
111 1 char ReSt;
112 1
113 1 P1 = 0xF1;
114 1
115 1 FI2 = 1;
116 1 Ins_delay();
117 1 ReSt = P1;
C51 COMPILER V7.06 MAIN_TRANS 08/16/2004 09:46:35 PAGE 3
118 1 FI2 = 0;
119 1
120 1 CS0 = 1;
121 1
122 1 ReSt &= 0xF0;
123 1 return ReSt;
124 1 }
125
126 void Write_Control(uchar WC)
127 {
128 1 WC &= 0xF0;
129 1 WC |= 0x04;
130 1 P1 = WC;
131 1 Ins_delay();
132 1 FI2 = 1;
133 1 Ins_delay();
134 1 FI2 = 0;
135 1 Ins_delay();
136 1
137 1 P1 = 0xF7;
138 1 }
139
140 void Write_Data(uchar WC)
141 {
142 1 WC &= 0xF0;
143 1 WC |= 0x00;
144 1 P1 = WC;
145 1 Ins_delay();
146 1 FI2 = 1;
147 1 Ins_delay();
148 1 FI2 = 0;
149 1 Ins_delay();
150 1
151 1 P1 = 0xF7;
152 1 }
153
154 void delay()
155 {
156 1 int i = 0;
157 1 for(i = 0; i < 100;)
158 1 i++;
159 1 for(i = 0; i < 100;)
160 1 i++;
161 1 }
162
163 void Ins_delay()
164 {
165 1 uchar i;
166 1 i = 0;
167 1 for(; i < 10; i++)
168 1 ;
169 1 }
170 void Serial_Init()
171 {
172 1 PCON = 0;
173 1 SCON = 0xD0;
174 1 TMOD = 0x20;
175 1 TH1 = 0xFD;
176 1 TL1 = 0xFD;
177 1 EA = 1;
178 1 ES = 1;
179 1 TR1 = 1; //T1 Running flag
C51 COMPILER V7.06 MAIN_TRANS 08/16/2004 09:46:35 PAGE 4
180 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 281 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -