📄 system.lst
字号:
C51 COMPILER V8.02 SYSTEM 11/08/2007 02:06:33 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE SYSTEM
OBJECT MODULE PLACED IN system.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE system.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3 #include<string.h>
4
5
6 bit clock=0;
7 sbit ACC7=ACC^7;
8 sbit ACC0=ACC^0;
9 bit flag=0;
10 unsigned char k=0;
11
12 bit i=1;
13 void play_respond();
14 unsigned char code AC_TABLE[]={
15 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
16 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
17 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
18 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
19 };
20 void move();
21 unsigned char hour_sound,minute_sound;
22 unsigned char print[7]={33,35,18,11,2,4,97};
23
24
25
26 unsigned char temp[2],Count;
27 void beeping(unsigned char frequence,unsigned char length);
28 void Delay_xMs(unsigned char x);
29 void getch();
30 void showtime(unsigned char *print);
31 void delay(unsigned int t) //延时程序
32 {
33 1 while( t!= 0 )
34 1 {
35 2 unsigned int i;
36 2 for(i=0; i<100; i++);
37 2 t--;
38 2 }
39 1 }
40
41
42
43
44
45
46
47
48
49
50 ////注意每次调用getch();要清零flag
51 ////////////////////////////////////////////////////////// 音乐按键
52 /* 音乐按键模块 用定时器0 */
53 ////////////////////////////////////////////////////////
54 void getch ( )
55 { unsigned char X,Y,Z;
C51 COMPILER V8.02 SYSTEM 11/08/2007 02:06:33 PAGE 2
56 1 P2=0xff;
57 1 P2=0x0f; //先对P2置数 行扫描
58 1 if(P2!=0x0f) //判断是否有键按下
59 1 {delay(50); //延时,软件去干扰
60 2 if(P2!=0x0f) //确认按键按下X = P2;
61 2 {
62 3 flag=1;
63 3 X=P2; //保存行扫描时有键按下时状态
64 3 P2=0xf0; //列扫描
65 3 Y=P2; //保存列扫描时有键按下时状态
66 3 Z=X|Y; //取出键值
67 3 switch ( Z ) //判断键值(那一个键按下)
68 3 {
69 4 case 0xee: k=0; beeping(k+1,20);break; //对键值赋值
70 4 case 0xde: k=1;beeping(k,20); break;
71 4 case 0xbe: k=2;beeping(k,20); break;
72 4 case 0x7e: k=3; beeping(k,20);break;
73 4 case 0xed: k=4; beeping(k,20);break;
74 4 case 0xdd: k=6;beeping(k,20); break;
75 4 case 0xbd: k=7; beeping(k,20);break;
76 4 case 0x7d: k=8;beeping(k,20); break;
77 4 case 0xeb: k=9; beeping(k,20);break;
78 4 case 0xdb: k=7; beeping(k,20);break;
79 4 case 0xbb: k=10;beeping(k,20);break;
80 4 case 0x7b: k=11;beeping(k,20);break;
81 4 case 0xe7: k=12;beeping(k,20);break;
82 4 case 0xd7: k=13;beeping(k,20);break;
83 4 case 0xb7: k=14;beeping(k,20);break;
84 4 case 0x77: k=15;beeping(k,20);break;
85 4 }
86 3 while(P2!=0xf0);
87 3 }
88 2
89 2 }
90 1
91 1
92 1 }
93
94 void change() ////修改时间
95 {
96 1 unsigned char i=0,temp[7],temp3[3],x,y;
97 1 v_BurstR1302T(print);
*** WARNING C206 IN LINE 97 OF SYSTEM.C: 'v_BurstR1302T': missing function-prototype
*** ERROR C267 IN LINE 97 OF SYSTEM.C: 'v_BurstR1302T': requires ANSI-style prototype
98 1 for(i=0;i<7;i++)
99 1 {temp[i]=print[i];}
100 1 i=0;
101 1
102 1 showtime(temp);
103 1 while(k!=15)
104 1 {
105 2 getch();
106 2 if(flag==1&&k==13) {flag=0;i++;i=i%7;k=0;}
107 2
108 2
109 2 if(flag==1&&k==9){flag=0;temp[6-i]++;}
*** ERROR C187 IN LINE 109 OF SYSTEM.C: not an lvalue
110 2 if(flag==1&&k==8){flag=0;temp[6-i]--; }
*** ERROR C187 IN LINE 110 OF SYSTEM.C: not an lvalue
111 2 if(flag==1&&k==11){flag=0;clock=1;}
112 2 temp3[0]=time[temp[6-i]/10];
*** ERROR C202 IN LINE 112 OF SYSTEM.C: 'time': undefined identifier
C51 COMPILER V8.02 SYSTEM 11/08/2007 02:06:33 PAGE 3
113 2 temp3[1]=time[temp[6-i]%10];
*** ERROR C202 IN LINE 113 OF SYSTEM.C: 'time': undefined identifier
114 2 temp3[2]='\0';
115 2
116 2 switch(i)
117 2 {case 0:{x=0;y=1;break;}
118 3 case 1:{ x=2,y=0;break;}
119 3 case 2: {x=0;y=3;break;}
120 3 case 3:{x=0;y=5;break;}
121 3 case 4: {x=2;y=1;break;}
122 3 case 5: {x=2;y=3;break;}
123 3 case 6: {x=2;y=5;break;}
124 3
125 3 }
126 2
127 2
128 2
129 2
130 2 showtime(temp) ;
131 2
132 2
133 2
134 2
135 2
136 2
137 2 }
138 1
139 1 if(clock==0)v_BurstW1302T(temp);
140 1 else
141 1 {hour_sound=temp[2];minute_sound=temp[1];play_respond();}
142 1 k=0;flag=0;
143 1
144 1 }
145
146
147
148
149
150
151
152
153
154
155
156
157 void showtime(unsigned char *print)
158 {
159 1 unsigned char temp3[3],*temp4;
160 1 //unsigned char temp2[]={print[6]/10,print[6]%10}//'Y',' ',,time[print[4]%10],'M',time[print[3]/10],t
-ime[print[3]%10]}; 年拾个年点
161 1
162 1 temp3[0]=time[2];
163 1 temp3[1]=time[0];
164 1 temp3[2]='\0';
165 1 PutStr(0,0,temp3);
166 1 temp3[0]=time[print[6]/10];
167 1 temp3[1]=time[print[6]%10];
168 1 temp3[2]='\0';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -