📄 8-
字号:
C51 COMPILER V9.00 JDKZ 04/10/2012 15:23:14 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE JDKZ
OBJECT MODULE PLACED IN jdkz.OBJ
COMPILER INVOKED BY: F:\keil\C51\BIN\C51.EXE jdkz.c DEBUG OBJECTEXTEND
line level source
1 #include "reg52.h"
2 sfr AUXR=0X8E;
3 sbit k1=P1^7;
4 sbit k2=P1^6;
5 sbit k3=P1^5;
6 sbit k4=P1^4;
7 sbit k5=P3^2;
8 sbit k6=P3^3;
9 sbit k7=P3^4;
10 sbit k8=P3^5;
11 #define uchar unsigned char
12 #define uint unsigned int
13 uchar Tdata[]={"a11111111c"};
14 uchar Rdata[]={"a11111111c"};
15 uchar a,b,c,d,e,f,g,h;
16 void UartInit(void);
17 void relay(void);
18 main()
19 {
20 1 uchar i;
21 1 P1|=0xf0;
22 1 P3|=0x3c;
23 1 a=1,b=1,c=1,d=1;
24 1 e=1,f=1,g=1,h=1;
25 1 UartInit();
26 1 EA=1;
27 1 while(1)
28 1 {
29 2 for(i=0;i<10;i++)
30 2 {
31 3 ES=0;
32 3 SBUF=Tdata[i];
33 3 while(!TI);
34 3 TI=0;
35 3 ES=1;
36 3 }
37 2 relay();
38 2 }
39 1 }
40
41 void relay(void)
42 {
43 1 if((Rdata[0]=='a')&(Rdata[9]=='c'))
44 1 {
45 2 if(Rdata[1]=='0')
46 2 a=0,k1=0;
47 2 if(Rdata[1]=='1')
48 2 a=1,k1=1;
49 2 if(Rdata[2]=='0')
50 2 b=0,k2=0;
51 2 if(Rdata[2]=='1')
52 2 b=1,k2=1;
53 2 if(Rdata[3]=='0')
54 2 c=0,k3=0;
55 2 if(Rdata[3]=='1')
C51 COMPILER V9.00 JDKZ 04/10/2012 15:23:14 PAGE 2
56 2 c=1,k3=1;
57 2 if(Rdata[4]=='0')
58 2 d=0,k4=0;
59 2 if(Rdata[4]=='1')
60 2 d=1,k4=1;
61 2 if(Rdata[5]=='0')
62 2 e=0,k5=0;
63 2 if(Rdata[5]=='1')
64 2 e=1,k5=1;
65 2 if(Rdata[6]=='0')
66 2 f=0,k6=0;
67 2 if(Rdata[6]=='1')
68 2 f=1,k6=1;
69 2 if(Rdata[7]=='0')
70 2 g=0,k7=0;
71 2 if(Rdata[7]=='1')
72 2 g=1,k7=1;
73 2 if(Rdata[8]=='0')
74 2 h=0,k8=0;
75 2 if(Rdata[8]=='1')
76 2 h=1,k8=1;
77 2 }
78 1 Tdata[1]=d+'0';
79 1 Tdata[2]=c+'0';
80 1 Tdata[3]=b+'0';
81 1 Tdata[4]=a+'0';
82 1 Tdata[5]=e+'0';
83 1 Tdata[6]=f+'0';
84 1 Tdata[7]=g+'0';
85 1 Tdata[8]=h+'0';
86 1 }
87 void UartInit(void) //9600bps@11.0592MHz
88 {
89 1 PCON &= 0x7f; //波特率不倍速
90 1 SCON = 0x50; //8位数据,可变波特率
91 1 AUXR |= 0x40; //定时器1时钟为Fosc,即1T
92 1 AUXR &= 0xfe; //串口1选择定时器1为波特率发生器
93 1 TMOD &= 0x0f; //清除定时器1模式位
94 1 TMOD |= 0x20; //设定定时器1为8位自动重装方式
95 1 TL1 = 0xD9; //设定定时初值
96 1 TH1 = 0xD9; //设定定时器重装值
97 1 ET1 = 0; //禁止定时器1中断
98 1 TR1 = 1; //启动定时器1
99 1 }
100
101 com_interrupt(void) interrupt 4 using 3
102 {
103 1 uchar j;
104 1 if(RI)
105 1 {
106 2 RI=0;
107 2 Rdata[j]=SBUF;
108 2 j++;
109 2 if(j==10)
110 2 j=0;
111 2 }
112 1 if(TI)
113 1 TI=0;
114 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V9.00 JDKZ 04/10/2012 15:23:14 PAGE 3
CODE SIZE = 368 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 30 1
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 + -