📄 16数据解码.lst
字号:
C51 COMPILER V7.08 16数据絖码 08/23/2007 13:48:30 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE 16数据絖码
OBJECT MODULE PLACED IN 16数据解码.OBJ
COMPILER INVOKED BY: D:\单片机~1\C51\Bin\c51.exe 16数据解码.c DB OE SMALL ROM(LARGE)
line level source
*** WARNING C500 IN LINE 1 OF 16数据解码.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
1 #include<reg51.h>
2 #define uchar unsigned char //预定义字符
3 #define uint unsigned int
4
5 void jieshou();
6 void delay1();
7 void delay2();
8 void delay3();
9
10 uchar adr;
11 uint data_y,data_f;
12 sbit flag=P3^4;
13 uchar c;
14 void main()
15 {
16 1 P1=0;
17 1 do{
18 2 delay1();
19 2 delay2();
20 2 delay3();
21 2 jieshou();
22 2 }while(1);
23 1 }
24 void jieshou()
25 {
26 1 //---------判断引导电平--------------
27 1 uchar temp1;
28 1 uint temp2;
29 1 uchar i=5;//--i为循环次数,判断低电平时间
30 1 while(i--)
31 1 {
32 2 delay1();
33 2 if(flag==1) goto exit;
34 2 }
35 1 while(flag==0);//---------等待低电平结束
36 1
37 1 delay2(); //----判断高电平的时间
38 1 if(flag==0) goto exit;
39 1 while(flag==1);//----------等待高电平结束
40 1 //while(flag==0);//----------等待低电平结
41 1
42 1 //--------------接受地址数据---------------------
43 1
44 1 for(i=0;i<8;i++)
45 1 {
46 2 while(flag==0);//----------等待低电平结
47 2 delay3();
48 2 if(flag==1)c=1;
49 2 else c=0;
50 2 temp1=adr<<1;
51 2 adr=temp1+c;
52 2 while(flag==1);//----------等待高电平结束
53 2 }
54 1 //--------------接收16位数据---------------------
C51 COMPILER V7.08 16数据絖码 08/23/2007 13:48:30 PAGE 2
55 1 for(i=0;i<16;i++)
56 1 {
57 2 while(flag==0);//----------等待低电平结
58 2 delay3();
59 2 if(flag==1)c=1;
60 2 else c=0;
61 2 temp2=data_y<<1;
62 2 data_y=temp2+c;
63 2 while(flag==1);//----------等待高电平结束
64 2 }
65 1 //--------------接收16位数据的反码---------------------
66 1 for(i=0;i<16;i++)
67 1 {
68 2 while(flag==0);//----------等待低电平结
69 2 delay3();
70 2 if(flag==1)c=1;
71 2 else c=0;
72 2 temp2=data_f<<1;
73 2 data_f=temp2+c;
74 2 while(flag==1);//----------等待高电平结束
75 2 }
76 1 //----------------验证数据--------------------
77 1 if(data_y=~data_f)data_y=0;//--验证数据错误清零
78 1
79 1 exit: ; //---引导码错误结束解码,退出程序
80 1 }
81
82 //-----------------------------------------------------
83 void delay1(){uint k=5655;while(k--);}
84 void delay2(){uint k=5655;while(k--);}
85 void delay3(){uint k=5655;while(k--);}
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 266 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -