📄 mcu.lst
字号:
C51 COMPILER V7.50 MCU 10/03/2008 17:53:16 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MCU
OBJECT MODULE PLACED IN ..\hex\mcu.obj
COMPILER INVOKED BY: D:\Program Files\KEIL_UV3\C51\BIN\C51.EXE mcu.c LARGE OPTIMIZE(SIZE) BROWSE DEBUG OBJECTEXTEND CODE
- OBJECT(..\hex\mcu.obj)
line level source
1 // *******************************************
2
3 // *******************************************
4
5 #include <stdio.h>
6 #include <stdarg.h>
7 #include "i2c_intf.h"
8 #include "uart_int.h"
9 #include "timer.h"
10 #include "mcu.h"
11 #include "DP_RX_DRV.h"
12
13 bit EX_EN;
14 bit sendRQ;
15
16 bit enable_debug_output;
17 char test;
18
19 PUTCHAR_TYPE putchar(char c)
20 {
21 1 if (!enable_debug_output)
22 1 return c;
23 1 EA = 0;
24 1 if (c == '\n') {
25 2 SBUF = 0x0d;
26 2 while (!TI);
27 2 TI = 0;
28 2 }
29 1 SBUF = c;
30 1 while (!TI);
31 1 TI = 0;
32 1 EA = 1;
33 1 return c;
34 1 // stdout_port = c;
35 1 }
36
37 void debug_puts(char *s)
38 {
39 1 if (enable_debug_output)
40 1 {
41 2 BP_DIR =1;
42 2 puts(s);
43 2 BP_DIR =0;
44 2 }
45 1 }
46
47
48 void SendToPCOneByte(uchar dat)
49 {
50 1 EA = 0;
51 1 BP_DIR =1;
52 1 SBUF=dat;
53 1 while(!TI);
54 1 TI=0;
C51 COMPILER V7.50 MCU 10/03/2008 17:53:16 PAGE 2
55 1 BP_DIR =0;
56 1 EA = 1;
57 1 }
58 //n=1,发送回车符号
59 void SendToPCSomeByte(uchar *dat,uchar j,uchar n)
60 {
61 1 uchar i=0;
62 1 EA = 0;
63 1 BP_DIR =1;
64 1 for(i=0;i<j;i++)
65 1 {
66 2 TI=0;
67 2 SBUF=(*dat); // start sending one byte
68 2 while (!TI); // wait until sent
69 2 TI=0;
70 2 dat++;
71 2 }
72 1 if(n==1)
73 1 {
74 2 TI=0;
75 2 SBUF=0x0a; // start sending one byte
76 2 while (!TI); // wait until sent
77 2 TI=0;
78 2 dat++;
79 2 }
80 1 BP_DIR =0;
81 1 EA = 1;
82 1 }
83
84
85 /*
86 void debug_printf(char *s, ...)
87 {
88 if (enable_debug_output) {
89 va_list v;
90 va_start(v, s);
91 vprintf(s, v);
92 }
93 }
94 */
95 void delay_half_ms(void)
96 {
97 1 unsigned char i;
98 1 for(i = 0; i < 240; i ++)//delay about 0.5 ~ 1 ms
99 1 ;
100 1 }
101 void InitMCU ()
102 {
103 1
104 1 P0M1 = 0x00; // (00001110)push pull except RX
105 1 P0M2 = 0x00; // (11000000)
106 1
107 1 P1M1 = 0x00; //(00101100)push pull except RX
108 1 P1M2 = 0x00;
109 1
110 1 P2M1 = 0x00; // (01011000)push pull 0x58 0x20
111 1 P2M2 = 0x00; // (00100000) 0xff 05.10.17//00 /pull_p23
112 1
113 1 P3M1 = 0x03; // (00000011)push pull 06.06.17
114 1 P3M2 = 0x00; // (00000000)06.06.17
115 1
116 1 DP_RX_HPD_DET = 0;
C51 COMPILER V7.50 MCU 10/03/2008 17:53:16 PAGE 3
117 1 init_serial(BAUD38400);
118 1 init_timer(TINTVAL_8MS);
119 1 start_timer();
120 1 i2c_init();
121 1 EX_EN = 0;
122 1 EX1 = 0;
123 1 ES=1;
124 1 EA = 1; // enable all interrupt
125 1 DP_RX_HPD(0);
126 1 sendRQ=0;
127 1
128 1 }
129
130 void DP_RX_HW_Reset(void)
131 {
132 1 DP_Rx_HW_RESET = 0;
133 1 delay_ms(10);
134 1 DP_Rx_HW_RESET = 1;
135 1 delay_ms(10);
136 1 }
137
138 void DP_RX_HPD(unsigned char high_low)
139 {
140 1 if(high_low)
141 1 {
142 2 DP_RX_HPD_DET = 1;
143 2 //debug_puts("Set HPD high");
144 2 }
145 1 else
146 1 {
147 2 DP_RX_HPD_DET = 0;
148 2 //debug_puts("Set HPD low");
149 2 }
150 1 }
151
C51 COMPILER V7.50 MCU 10/03/2008 17:53:16 PAGE 4
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _putchar (BEGIN)
; SOURCE LINE # 19
;---- Variable 'c' assigned to Register 'R7' ----
; SOURCE LINE # 20
; SOURCE LINE # 21
0000 200001 R JB enable_debug_output,?C0001
; SOURCE LINE # 22
0003 22 RET
0004 ?C0001:
; SOURCE LINE # 23
0004 C2AF CLR EA
; SOURCE LINE # 24
0006 EF MOV A,R7
0007 B40A08 CJNE A,#0AH,?C0003
; SOURCE LINE # 25
000A 75990D MOV SBUF,#0DH
000D ?C0004:
; SOURCE LINE # 26
000D 3099FD JNB TI,?C0004
0010 ?C0005:
; SOURCE LINE # 27
0010 C299 CLR TI
; SOURCE LINE # 28
0012 ?C0003:
; SOURCE LINE # 29
0012 8F99 MOV SBUF,R7
0014 ?C0006:
; SOURCE LINE # 30
0014 3099FD JNB TI,?C0006
0017 ?C0007:
; SOURCE LINE # 31
0017 C299 CLR TI
; SOURCE LINE # 32
0019 D2AF SETB EA
; SOURCE LINE # 33
; SOURCE LINE # 35
001B ?C0002:
001B 22 RET
; FUNCTION _putchar (END)
; FUNCTION _debug_puts (BEGIN)
; SOURCE LINE # 37
;---- Variable 's' assigned to Register 'R1/R2/R3' ----
; SOURCE LINE # 38
; SOURCE LINE # 39
0000 300007 R JNB enable_debug_output,?C0009
; SOURCE LINE # 40
; SOURCE LINE # 41
0003 D287 SETB P0_7
; SOURCE LINE # 42
0005 120000 E LCALL _puts
; SOURCE LINE # 43
0008 C287 CLR P0_7
; SOURCE LINE # 44
; SOURCE LINE # 45
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -