📄 lufang.lst
字号:
C51 COMPILER V7.09 LUFANG 08/22/2005 10:37:29 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE LUFANG
OBJECT MODULE PLACED IN lufang.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE lufang.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 //*************************//
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define ulong unsigned long
6 //*******管脚定义************//
7 #define ad P0
8 sbit ad16=P2^0;
9 sbit ad17=P2^1;
10 sbit ale_l=P2^2;
11 sbit ale_h=P2^3;
12 #define key P1
13 sbit clk=P3^4;
14 sbit aden=P2^6;
15 sbit wr=P3^6;
16 sbit daen=P2^7;
17 sbit rd=P3^7;
18 //***********全局变量*************//
19 uchar key_value=0;
20 uchar state=0;
21 uchar ad_h=0;
22 uchar ad_l=0;
23 //*********MS延时子程序*************//
24 void mdelay(uchar j)
25 {
26 1 uchar i;
27 1 for(;j>0;j--)
28 1 {
29 2 for(i=170;i>0;i--);
30 2 }
31 1 }
32 //***********初始化子程序************//
33 void inis(void)
34 {
35 1 ad=0; //地址初始化//
36 1 ad16=0;
37 1 ad17=0;
38 1 ale_l=0;
39 1 ale_l=1;
40 1 ale_l=0;
41 1 ale_h=0;
42 1 ale_h=1;
43 1 ale_h=0;
44 1 clk=1;
45 1 wr=1; //控制信号初始化//
46 1 rd=1;
47 1 aden=1;
48 1 daen=1;
49 1 IT0=1; //外部中断0初始化//
50 1 EX0=1;
51 1 TMOD=0x02; //定时器0初始化//
52 1 TH0=0xc2;
53 1 TL0=0xc2;
54 1 ET0=1;
55 1 PT0=1;
C51 COMPILER V7.09 LUFANG 08/22/2005 10:37:29 PAGE 2
56 1 TR0=1;
57 1 EA=1; //开中断//
58 1 }
59 //***********外部中断0*************//
60 void int0() interrupt 0
61 {
62 1 EX0=0;
63 1 key=0xff;
64 1 mdelay(50);
65 1 key_value=~(key&0x0f);
66 1 key_value=key_value-240;
67 1 switch(key_value)
68 1 {
69 2 case 1: state=1;break;
70 2 case 2: state=2;break;
71 2 case 3: state=0;break;
72 2 default: break;
73 2 }
74 1 EX0=1;
75 1 }
76 //***********定时器中断0*************//
77 void timer0() interrupt 1
78 {
79 1 clk=~clk;
80 1 if(!clk)
81 1 {
82 2 if(state)
83 2 {
84 3 if(state == 1)
85 3 {
86 4 aden=0;
87 4 wr=0;
88 4 ;
89 4 aden=1;
90 4 wr=1;
91 4 }
92 3 else
93 3 {
94 4 rd=0;
95 4 daen=0;
96 4 ;
97 4 rd=1;
98 4 daen=1;
99 4 }
100 3 }
101 2 }
102 1 else
103 1 {
104 2 if(state)
105 2 {ad=ad_l;
106 3 ale_l=1;
107 3 ale_l=0;
108 3 ad=ad_h;
109 3 ale_h=1;
110 3 ale_h=0;
111 3 ad_l++;
112 3 if(ad_l == 0)
113 3 {
114 4 ad_h++;
115 4 if(ad_h == 0)
116 4 {
117 5 ad16=!ad16;
C51 COMPILER V7.09 LUFANG 08/22/2005 10:37:29 PAGE 3
118 5 if(!ad16)
119 5 ad17=!ad17;
120 5 }
121 4 }
122 3 }
123 2 }
124 1 }
125 //********主程序*************//
126 void main(void)
127 {
128 1 inis();
129 1 while(1)
130 1 {
131 2 if(ad17&ad16 && (~ad_h&0xff))
132 2 {
133 3 state=0;
134 3 }
135 2 if(state == 0)
136 2 {
137 3 ad_l=0;
138 3 ad_h=0;
139 3 ad16=0;
140 3 ad17=0;
141 3 }
142 2 }
143 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 241 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -