📄 lin_hal.lst
字号:
C51 COMPILER V7.06 LIN_HAL 08/11/2003 10:39:29 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LIN_HAL
OBJECT MODULE PLACED IN lin_hal.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE lin_hal.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #define LIN_HAL_GLOBALS
2
3 #include "reg52.h"
4 #include "lin_cfg.h"
5
6 sbit P1_1=P1^1;
7 l_u8 time_couter;
8 l_u8 time_cout_l;
9 l_u8 time_cout_h;
10 l_u8 rec_cout;
11
12 unsigned char display(unsigned char *sd)
13 {unsigned char disp_buf[8];
14 1 EA=0;
15 1 disp_buf[0] = (sd[0]%16); // 装载" dp-932"
16 1 disp_buf[1] = (sd[0]/16);
17 1 disp_buf[2] = 31;
18 1 disp_buf[3] = (sd[1]%16);
19 1 disp_buf[4] = (sd[1]/16);
20 1 disp_buf[5] = 31;
21 1 disp_buf[6] = (sd[2]%16);
22 1 disp_buf[7] = (sd[2]/16);
23 1 ZLG7290_SendBuf(disp_buf,8);
24 1 EA=1;
25 1 return 0;
26 1 }
27 l_bool l_sys_init(void)
28 {
29 1 l_u8 i;
30 1 //INT1
31 1 IT1=1; //下降沿触发
32 1 PX1=0;
33 1 //T0;
34 1 TMOD=TMOD|0X01; //16位定时器
35 1 PT0=0X01;
36 1 //T1;
37 1 TMOD=TMOD|0X20; //8位之装载定时器
38 1 TH1=BAUDRATERELOADVAL;
39 1 //T2
40 1 T2CON=0;
41 1 TH2=0XEE;
42 1 TL2=0;
43 1 //COM
44 1 PCON=0X80;
45 1 //********************
46 1 TH0=-25000/256;
47 1 TL0=-25000%256;
48 1 TR0=1;
49 1 do
50 1 {
51 2 TXD=1;
52 2 RXD=1;
53 2 SLNP=0;
54 2 i=200;
55 2 while(i--);
C51 COMPILER V7.06 LIN_HAL 08/11/2003 10:39:29 PAGE 2
56 2 SLNP=1;
57 2 i=200;
58 2 while(i--);
59 2 }
60 1 while(RXD==0&&TF0==0);
61 1 TR0=0;
62 1 if(TF0==1)
63 1 {
64 2 TF0=0;
65 2 return(1);
66 2 }
67 1 TF0=0;
68 1 //INTERRUPT
69 1 //EX1=1;//INT1
70 1 ET2=1;
71 1 EA=1;
72 1 return (0);
73 1 }
74
75 void l_delay(l_u8 tm)
76 {
77 1 while(tm--);
78 1 }
79
80 l_u8 checksum8(l_u8 *chk8,l_u8 num)
81 {
82 1 l_u8 temp=0;
83 1 for( ;num>0;num--)
84 1 {
85 2 temp=temp+*chk8;
86 2 if(temp<*chk8)
87 2 temp++;
88 2 chk8++;
89 2 }
90 1 return(0xff-temp);
91 1 }
92 l_bool l_send_break(void)
93 {
94 1
95 1 if(BAUDRATERELOADVAL<128)
96 1 {
97 2 PCON=PCON&0X7F;
98 2 }
99 1 TH1=255-(TICKSPERBIT*2);
100 1 TL1=TH1;
101 1 TR1=1;
102 1 SCON=0X40;
103 1 SBUF=0X80;
104 1 while(TI==0);
105 1 PCON=PCON|0X80;
106 1 TH1=BAUDRATERELOADVAL;
107 1 TL1=TH1;
108 1 TR1=1;
109 1 SCON=0X50;
110 1 return(0);
111 1 }
112
113 void l_send_bytes(l_u8 DATA)
114 {
115 1
116 1 TR1=1;
117 1 TL1=TH1;
C51 COMPILER V7.06 LIN_HAL 08/11/2003 10:39:29 PAGE 3
118 1 SCON=0X50;
119 1 SBUF=DATA;
120 1 while(TI==0);
121 1 TI=0;
122 1 TR1=0;
123 1 SCON=0X00;
124 1 }
125 l_bool l_rec_data(l_u8 * temp,l_u8 num)
126 {
127 1 l_u8 l_chksum;
128 1 PCON=PCON|0X80;
129 1 TH1=BAUDRATERELOADVAL;
130 1 TL1=TH1;
131 1 TR1=1;
132 1 SCON=0X50;
133 1 rec_cout=0;
134 1 time_couter=0;
135 1 time_cout_h=0;//MAXFRAMETIME_H;
136 1 time_cout_l=0;//MAXFRAMETIME_L;
137 1 TH0=time_cout_h;
138 1 TL0=time_cout_l;
139 1 TR0=1;
140 1 ET0=1;
141 1 for(l_chksum=0;l_chksum<num;l_chksum++)
142 1 {
143 2 while(RI==0&&time_couter!=MAXFRAMETIME_HH);
144 2 temp[l_chksum]=SBUF;
145 2 RI=0;
146 2 }
147 1 while(RI==0&&time_couter!=MAXFRAMETIME_HH);
148 1 RI=0;
149 1 TR0=0;
150 1 ET0=0;
151 1 l_chksum=SBUF;
152 1 temp[2]=l_chksum;
153 1
154 1 SCON=0X00;
155 1 if(time_couter!=MAXFRAMETIME_HH)
156 1 {
157 2 if(l_chksum==checksum8(temp,num))
158 2 {
159 3
160 3 return(0);
161 3 }
162 2 else
163 2 {
164 3 return(1);
165 3 }
166 2 }
167 1 else
168 1 {
169 2 return(1);
170 2 }
171 1 }
172 void l_send_data(l_u8 * temp,l_u8 num)
173 {
174 1 l_u8 l_chksum;
175 1 TR1=1;
176 1 TL1=TH1;
177 1 SCON=0X50;
178 1 for(l_chksum=0;l_chksum<num;l_chksum++)
179 1 {
C51 COMPILER V7.06 LIN_HAL 08/11/2003 10:39:29 PAGE 4
180 2 SBUF=*temp;
181 2 while(TI==0);
182 2 TI=0;
183 2 temp++;
184 2 }
185 1 temp=temp-num;
186 1 SBUF=checksum8(temp,num);
187 1 while(TI==0);
188 1 TI=0;
189 1 // TR1=0;//
190 1 // SCON=0X00;//
191 1 }
192 void T0_ISR() interrupt 1
193 {
194 1
195 1 TF0=0;
196 1 TH0=time_cout_l;
197 1 TL0=time_cout_h;
198 1 time_couter++;
199 1 }
200
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 447 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 11
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 + -