📄 课设4.lst
字号:
C51 COMPILER V7.50 课设4 06/24/2006 19:12:51 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 课设4
OBJECT MODULE PLACED IN 课设4.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 课设4.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #define uchar unsigned char
3 uchar cout, k;//计数标志。
4 unsigned int cout_j;
5 uchar miao = 0; //时间初始化
6 uchar fen = 0;
7 uchar hour = 10;
8 uchar flag,i,key,n=0;
9 sbit P3_0=P3^0;
10 sbit P3_1=P3^1;
11 sbit P3_2=P3^2;
12 sbit P3_3=P3^3;
13 bit flag_arm,flag_1,flag_ma,flag_d,inter;//超过60分报警标志
14 uchar huanchun[6];
15 uchar duanma[11] ={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff};
16 uchar weima[6] ={ 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf};
17 unsigned char code b[]={10,3,2,1,11,6,5,4,12,9,8,7,13,14,0,15};
18 uchar room[8][3];
19 void delay(uchar i,uchar k)
20 {
21 1 do{ if(flag_ma==0)
22 2 { huanchun[0] = miao % 10;
23 3 huanchun[1] = miao / 10;
24 3 huanchun[2] = fen % 10;
25 3 huanchun[3] = fen / 10;
26 3 huanchun[4] = hour % 10;
27 3 huanchun[5] = hour / 10;
28 3 }
29 2 else
30 2 { huanchun[0] = room[k][0] % 10;
31 3 huanchun[1] = room[k][0] / 10;
32 3 huanchun[2] = room[k][1]% 10;
33 3 huanchun[3] = room[k][1] / 10;
34 3 huanchun[4] = room[k][2] % 10;
35 3 huanchun[5] = room[k][2] / 10;
36 3 }
37 2 }while(i--);
38 1 }
39 baocun(uchar i)
40 { room[i][0]=miao;
41 1 room[i][1]=fen;
42 1 room[i][2]=hour;
43 1 }
44 void dingshi()interrupt 1 //定时50ms
45 {
46 1 TH0 = 0xee;
47 1 TL0 = 0x00;
48 1 cout++;
49 1 P0_3=1; //外部定时报警
*** ERROR C202 IN LINE 49 OF 课设4.C: 'P0_3': undefined identifier
50 1 if (cout == 2) // 以秒为单位
51 1 { flag_d=~flag_d;//11min灯
52 2 miao++;
53 2 cout = 0;
54 2 cout_j++;//计数标志。
C51 COMPILER V7.50 课设4 06/24/2006 19:12:51 PAGE 2
55 2 if(cout_j==660)flag_1=1,P0_0=0; //
*** ERROR C202 IN LINE 55 OF 课设4.C: 'P0_0': undefined identifier
56 2 if(cout_j==3600){flag_arm=1;P0_1=0;baocun(n);n++;}//报警开,记录当前时刻,存储单元指向下一个以便下次报警
-记录时间
*** ERROR C202 IN LINE 56 OF 课设4.C: 'P0_1': undefined identifier
57 2 if (miao== 60)
58 2 {
59 3 miao = 0;
60 3 fen++;
61 3 if (fen == 60)
62 3 {
63 4 fen = 0;
64 4 hour++;
65 4 if (hour == 12)
66 4 hour = 0;
67 4 }
68 3 }
69 2 }
70 1 }
71 void xianshi()interrupt 3 using 1 //中断显示
72 {
73 1 TH1=0Xf8; //显示定时两毫秒。
74 1 TL1=0Xcc;
75 1 P1 = weima[i];
76 1 P2 = duanma[huanchun[i]];
77 1 i++;
78 1 if (i==6)i=0;
79 1 }
80 unsigned char scankey(){
81 1 unsigned char k,down,up;
82 1 P3=0x00;
83 1 P3=0xF0;
84 1 k=P3;
85 1 if(k==0xF0)return 0xFF;
86 1 delay(100,key); ////////////
87 1 down=3;
88 1 while(k&0x80)down--,k<<=1;
89 1 P3=0x00;
90 1 P3=0x0F;
91 1 k=P3;
92 1 if(k==0x0F)return 0xFF;
93 1 up=0;
94 1 while(k&0x01)up+=4,k>>=1;
95 1 return b[up+down];
96 1 }//scankey
97 songjian()
98 { unsigned char k;
99 1 while(1)
100 1 { k=scankey();
101 2 if(k==scankey()&&k==0xff)break;
102 2 }
103 1 }
104 void shortb()interrupt 0 using 2 //中断显示
105 {
106 1 P0_3=0;//int0
*** ERROR C202 IN LINE 106 OF 课设4.C: 'P0_3': undefined identifier
107 1 if(flag_1==1){P0_0=flag_d;P0_2=~P0_2;}//11min灯1s闪烁,
*** ERROR C202 IN LINE 107 OF 课设4.C: 'P0_0': undefined identifier
*** ERROR C202 IN LINE 107 OF 课设4.C: 'P0_2': undefined identifier
108 1 if(flag_arm==1)
109 1 { P0_1=~P0_1;
*** ERROR C202 IN LINE 109 OF 课设4.C: 'P0_1': undefined identifier
C51 COMPILER V7.50 课设4 06/24/2006 19:12:51 PAGE 3
110 2 P0_2=1;
*** ERROR C202 IN LINE 110 OF 课设4.C: 'P0_2': undefined identifier
111 2 flag_1=0;
112 2 }
113 1 }
114 void main()
115 {
116 1 IP=0X0A; //T0,T1,INT0,INT1,
117 1 TMOD = 0X11;
118 1 TH0 = 0Xee;
119 1 TL0 = 0X00;
120 1 TH1=0Xf8;
121 1 TL1=0Xcc;
122 1 EA = 1;
123 1 ET0 = 1;
124 1 ET1=1;
125 1 TR1=1;
126 1 TR0 = 1;
127 1 while (1)
128 1 { k=scankey();
129 2 delay(100,key); //////////////////////////////////////////////
130 2 if(k==scankey()&&k!=0xFF)
131 2 { songjian();
132 3 if(k==15)
133 3 { flag_1=0;
134 4 flag_arm=0;
135 4 cout_j=0; //复位,清计数,定时
136 4 }
137 3 else {key=k;flag_ma=~flag_ma; } //显示记录的时间
138 3 }
139 2 }
140 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 8 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -