📄 a.lst
字号:
C51 COMPILER V8.08 A 03/18/2009 02:33:59 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE A
OBJECT MODULE PLACED IN a.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE a.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //******************************头文件***************************************
2 #include <reg52.h>
3 #include <stdio.h>
4 #include <string.h>
5 #include <intrins.h>
6 #include <absacc.h>
7 #include <main.h>
8 //*********************************初始变量**********************************
9 xdata uchar opention_i[8]; //键盘输入整数存储区
10 xdata uchar opention_f[8]; //键盘输入小数存储区
11 xdata uchar mkey;
12 float float_a1=0;
13 float float_a2=0;
14 xdata uchar float_count=0,int_count=0;
15
16 main()
17 { uchar add,dec,all,del;
18 1 uchar opention_do=0;
19 1 uchar float_c;
20 1 uchar recive1=1;
21 1 uchar tmr,i;
22 1 uchar opention_ti[8]; //为实现输出暂设此缓存
23 1
24 1 for(tmr=0;tmr<0xffff;tmr++); // 等待 BC728x 完成复位
25 1 wr_7281(0x12); //设置7281工作方式
26 1 wr_7281(0x80);
27 1
28 1 while (1)
29 1 {
30 2 if(!key) //有键值
31 2 { wr_7281(0x93);
32 3 mkey= receive(); //键值
33 3 }
34 2 if(mkey==14) //小数点输入
35 2 { float_c=1;
36 3 mkey=16;
37 3 }
38 2 if(mkey==15) //求结果
39 2 {
40 3 opention_do=1;
41 3 mkey=16;
42 3 }
43 2 //***********************************接接收键值**************************
44 2 if(recive1==1 && float_c==0 && mkey<10) //输入整数部分
45 2 {
46 3 opention_i[int_count]=mkey;
47 3 int_count++;
48 3 for(i=0;i<int_count;i++) //交换输入顺序
49 3 {
50 4 opention_ti[int_count-i]=opention_i[i];
51 4 }
52 3 setdisplay(opention_ti,int_count );
53 3 mkey=16;
54 3 }
55 2 if(recive1==1 && float_c==1 && mkey!=14 && mkey<10 ) //输入整数部分
C51 COMPILER V8.08 A 03/18/2009 02:33:59 PAGE 2
56 2 {
57 3 opention_f[float_count]=mkey;
58 3 float_count++;
59 3 opention_i[int_count]=mkey;
60 3 int_count++;
61 3 for(i=0;i<int_count;i++) //交换输入顺序
62 3 {
63 4 opention_ti[int_count-i]=opention_i[i];
64 4 }
65 3 wr_7281(0x18); //设置成显示小数
66 3 wr_7281(p_float[float_count-1]); //显示小数点
67 3 setdisplay(opention_ti,int_count);
68 3 mkey=16;
69 3 }
70 2 //*************************************键盘输入何种算法**************************
71 2 if(mkey==10) //加法
72 2 { mkey=16;
73 3 float_a1=add_all(opention_i,opention_f,int_count);
74 3 out_data[0]=0;
75 3 setdisplay(out_data,1 );
76 3 add=1;
77 3 float_c=0;
78 3 }
79 2 if(mkey==11) //减法
80 2 { mkey=16;
81 3 float_a1=add_all(opention_i,opention_f,int_count);
82 3 out_data[0]=0;
83 3 setdisplay(out_data,1 );
84 3 dec=1;
85 3 float_c=0;
86 3 }
87 2 if(mkey==12) //乘法
88 2 { mkey=16;
89 3 float_a1=add_all(opention_i,opention_f,int_count);
90 3 out_data[0]=0;
91 3 setdisplay(out_data,1 );
92 3 all=1;
93 3 float_c=0;
94 3 }
95 2 if(mkey==13) //除法
96 2 { mkey=16;
97 3 float_a1=add_all(opention_i,opention_f,int_count);
98 3 out_data[0]=0;
99 3 setdisplay(out_data,1 );
100 3 del=1;
101 3 float_c=0;
102 3 }
103 2 //****************************************进入运算******************************
104 2 if(opention_do==1 && add==1)
105 2 { opention_do=0;
106 3 float_c=0;
107 3 add=0;
108 3 float_a1=add_all(opention_i,opention_f,int_count);
109 3 f_data=float_a1+float_a2;
110 3 LED_OUT() ;
111 3 }
112 2 if(opention_do==1 && dec==1)
113 2 { opention_do=0;
114 3 float_c=0;
115 3 dec=0;
116 3 float_a1=add_all(opention_i,opention_f,int_count);
117 3 f_data=float_a1-float_a2;
C51 COMPILER V8.08 A 03/18/2009 02:33:59 PAGE 3
118 3 LED_OUT() ;
119 3 }
120 2 if(opention_do==1 && all==1)
121 2 { opention_do=0;
122 3 float_c=0;
123 3 all=0;
124 3 float_a1=add_all(opention_i,opention_f,int_count);
125 3 f_data=float_a1*float_a2;
126 3 LED_OUT() ;
127 3 }
128 2 if(opention_do==1 && del==1)
129 2 { opention_do=0;
130 3 float_c=0;
131 3 del=0;
132 3 float_a1=add_all(opention_i,opention_f,int_count);
133 3 f_data=float_a1/float_a2;
134 3 LED_OUT() ;
135 3 }
136 2
137 2 }
138 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 900 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 19 ----
PDATA SIZE = ---- ----
DATA SIZE = 8 16
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 + -