?? wg26.lst
字號:
C51 COMPILER V7.50 WG26 10/16/2008 12:05:56 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE WG26
OBJECT MODULE PLACED IN wg26.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE wg26.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<string.h>
3 #include<intrins.h>
4 #define uchar unsigned char
5 #define p2 P2
6 sbit DATA0=P1^0; //d0
7 sbit DATA1=P1^1; //d1
8 uchar temp; //標(biāo)志位
9 uchar buf[27]; //韋根26數(shù)據(jù)存儲位
10 uchar table[]={0,0,0}; //卡號存儲數(shù)組
11 void main(void)
12 {
13 1 uchar i,j,even=0,odd=1;
14 1 EX0=1; //允許外中斷0
15 1 PX0=1; //置為最高優(yōu)先級
16 1 IT0=1; //負(fù)邊沿觸發(fā)中斷
17 1 EA=1; //開總中斷
18 1 temp=0; //初始化標(biāo)志位
19 1 while(temp<26); //等待讀取完26位
20 1 even=0; //判斷奇偶校驗(yàn)是否正確
21 1 for(j=1;j<13;j++)
22 1 {
23 2 if(buf[j]==1)
24 2 even=(~even)&0x01;
25 2 }
26 1 if(even!=buf[0])
27 1 {
28 2 temp=0; //清除標(biāo)志
29 2 goto end;
30 2 }
31 1 odd=1;
32 1 for(i=13;i<25;i++)
33 1 {
34 2 if(buf[i]==1)
35 2 odd=(~odd)&0x01;
36 2 }
37 1 if(odd!=buf[25])
38 1 {
39 2 temp=0; //清除標(biāo)志
40 2 goto end;
41 2 }
42 1 temp=0;//清除標(biāo)志
43 1 for(i=0;i<3;i++)
44 1 {
45 2 for(j=(i*8);j<i*8+8;j++)
46 2 {
47 3
48 3 table[i]=table[i]<<1|buf[j+1];
49 3 }
50 2 }
51 1 p2=table[0];
52 1 end:
53 1 temp=0;
54 1 }
55 void wigenISR (void) interrupt 0 using 1
C51 COMPILER V7.50 WG26 10/16/2008 12:05:56 PAGE 2
56 {
57 1 if(DATA0)
58 1 buf[temp++]=1; //如果DATA0=1,則表示DATA1=0;
59 1 else
60 1 buf[temp++]=0;
61 1 IE0=0;
62 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 186 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 31 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -