电脑死机后伟福打开后全是乱码。
#include <main.h>中间好多源代码都不见了。中间修候改改好多次了。没有程序怎么办。我能不能告他们。具体过程。vw编译好程序。用stc下载。VW没有关闭。串口线用usb车串口HL340.下载中出现蓝屏。程序源文件就成这副德行了.
/*********************************************************************/
/* */
/* *串口信号切换函数* */
/* */
/*********************************************************************/
void source_switch(uint08 sbuf)
{ uint08 temp[23];
uint16 usTimes;
uint16 usNum = 0;
temp[0]= sbuf;
while (1)//(ucNum < 14)
{
usTimes = 50000;
while ((0 == RI)&&(0 != usTimes))
{
usTimes--;
}
if (0 == usTimes) break;
RI = 0;
usNum++;
temp[usNum] = SBUF;
if(usNum>=23){break; }
}
ES=0;
if(temp[2]>17){send(10); ES=1;return;}
if(0xff != temp[1]){send(11); ES=1;return;}
if((0x0d!=temp[temp[2]+4])) {send(11); ES=1;return;}
//if(0x0!=(serial.cmdinfo.len-16)%36) { ES=1;return;}
// if(serial.sbuf[serial.cmdinfo.len+5]!=0x00){ ES=1; return;}
switch(temp[3])
{ caseC51 COMPILER V6.23a MAIN 08/30/2012 12:55:36 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN F:\DVI\MAIN\BOARD\MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\DVI\MAIN\BOARD\MAIN.C DB SB OE
stmt level source
1 #include <main.h>
2 sbit flag03=P2^7;
3 extern void initronghe() ;
4 extern void sendbyte(uint08 buf);
5 extern void setcom(uint08 buf) ;
6 extern void senddata();
7 extern bit w_onebyte(unsigned char address,unsigned char ddata);
8 void resolutioninput(void);
9 void send(unsigned char sbuf);
10 void domode3(uint08 i);
11 bit domodeE0(void);
12 void domoderonghe(void);
13 void senvgadvi(void);
14 //bit flag=0;
15
16
17 sbit cardreset= P1^4;
18 sbit cardclear= P1^0 ;
19
20 void sleep()
21 {uint08 i,j;
22 1 for (i=0;i<200;i++){
23 2 for(j=0;j<200;j++); }
24 1
25 1 }
26 void main(void)
27 { int usNum;
28 1 P4SW =0x70;
29 1 cardreset=1;
30 1 cardclear=1;
31 1 domodeno();
32 1
33 1 serialinit();
34 1
35 1
36 1 Init();
37 1 serial_port_initial();
38 1 setcom(0x20);
39 1
40 1
41 1 /* Rmt_SentCode(RIGHT);
42 1 sleep();
43 1 sleep();
44 1 sleep();
45 1 sleep();
46 1 sleep();
47 1 Rmt_SentCode(RIGHT);
48 1 sleep();
49 1 sleep();
50 1 sleep();
51 1 sleep();
52 1 sleep();
53 1 Rmt_SentCode(RIGHT);
54 1 sleep();
55 1 sleep();
C51 COMPILER V6.23a MAIN 08/30/2012 12:55:36 PAGE 2
56 1 sleep();
57 1 sleep();
58 1 sleep();
59 1 Rmt_SentCode(ENTER); */
60 1
61 1 while(1)
62 1 {
63 2 // senddata();
64 2 }
65 1
66 1
67 1
68 1 }
*** WARNING C280 IN LINE 27 OF F:\DVI\MAIN\BOARD\MAIN.C: 'usNum': unreferenced local variable
69
70 /****************外部中断0************************
71 void exter0() interrupt 0
72 {
73 EX0=0; //要不要关
74 num_exter0++;
75 fre_hbyonev=num_exter2;
76 num_exter2=0;
77 EX0=1;
78 }
79
80 /****************外部中断1************************ //行频判断,计数次数为行频2倍
81 void exter1() interrupt 2
82 {
83 EX1=0;
84 num_exter1++;
85 num_exter2++;
86 EX1=1;
87 }
88 /****************定时器0************************
89 void timer0() interrupt 1
90 {
91 TH0 = 0x4c; //定时一次溢出为50ms
92 TL0 = 0x00;
93
94 t0++;
95 if(t0==20) //0.5s
96 {
97 t0=0;
98 en_read=1;
99 fre_hsync=num_exter1;
100 num_exter1=0;
101 fre_vsync=num_exter0;
102 num_exter0=0;
103 }
104 }
105 */
106
107 /*********************************************************************/
108 /* */
109 /* *设置参数* */
110 /* */
111 /*********************************************************************/
112 void Init(void)
113 { uint16 usNum = 0;
114 1 Init8113();
115 1 cardreset=0;
116 1
C51 COMPILER V6.23a MAIN 08/30/2012 12:55:36 PAGE 3
117 1 DF_SerMem_Read(&serial.sbuf, A_BASE_DATAFLASH , 512);
118 1 DF_SerMem_Read(&serial.sbuf[512], A_BASE_DATAFLASH+DATAFLASH_LEN, 512);
119 1 if(serial.mode.flag!=0x01)
120 1 {serial.cmdinfo.len=0x10;
121 2 serial.sbuf[0]=0x01;
122 2
123 2 DF_Sector_Erase(A_BASE_DATAFLASH);
124 2 DF_Sector_Erase(A_BASE_DATAFLASH+DATAFLASH_LEN);
125 2 DF_SerMem_Write(&serial.sbuf, A_BASE_DATAFLASH , 512);
126 2 DF_SerMem_Write(&serial.sbuf[512], A_BASE_DATAFLASH+DATAFLASH_LEN, 512);
127 2 sleep();
128 2 cardreset=1;
129 2
130 2 }else
131 1 {
132 2 //for(usNum=0;usNum<100;usNum++)
133 2 // sleep();
134 2 // domodeno();
135 2 // sleep();
136 2 cardreset=1;
137 2 // for(usNum=0;usNum<500;usNum++)
138 2 // sleep();
139 2 // domode2();
140 2 for(usNum=0;usNum<500;usNum++)
141 2 sleep();
142 2
143 2
144 2 domode1();
145 2
146 2 }
147 1 }
148
149
150 /*********************************************************************/
151 /* */
152 /* *串口初始化* */
153 /* */
154 /*****************************************************************/
155 void serial_port_initial() //串口初始化
156 {
157 1 SCON = 0x50;
158 1 TMOD=0x21;
159 1 TH1= RELOAD_COUNT ;
160 1 TL1= RELOAD_COUNT ;
161 1 TR1=1;
162 1 ES =1; //允许串口中断
163 1 EA =1; //开总中断
164 1 //TH0 = 0x4c; //定时一次溢出为50ms
165 1 //TL0 = 0x00; //时间=(1/11.0592X1000000)X12 //65536-46080
166 1 //ET0 = 1; // 开定时器中断0
167 1 //TR0 = 1; //开定时器0
168 1 //EX0 = 1;
169 1 //EX1 = 1;
170 1 // IT0 = 1; //下降沿触发
171 1 //IT1 = 1; //下降沿触发
172 1 //PS=1;
173 1
174 1 }
175 /*********************************************************************/
176 /* */
177 /* *串口数据验证函数* */
178 /* */
C51 COMPILER V6.23a MAIN 08/30/2012 12:55:36 PAGE 4
179 /*********************************************************************/
180 uint08 cmdcheck(void)
181 {uint16 i;
182 1 uint08 sum=0;
183 1 for(i=0;i<serial.cmdinfo.len;i++)
184 1 sum=sum+serial.sbuf[5+i];
185 1
186 1 return sum;
187 1 }
188 void send(unsigned char sbuf)
189 {
190 1 TI=0;
191 1 SBUF=sbuf;
192 1 while(TI==0);
193 1 TI=0;
194 1 }
195 /********************************************* _nop_();
_nop_();
_nop_();
}
pusCode++;
usCode = *pusCode;
while (0 != usCode)
{
P_REM = 1;
usCode--;
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
NOP12();
//加
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
// _nop_();
}
usLen--;
}
} */