📄 课设1.lst
字号:
C51 COMPILER V7.50 课设1 06/24/2006 19:09:00 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 课设1
OBJECT MODULE PLACED IN 课设1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 课设1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #define uchar unsigned char
3 uchar cout, liudong, k,cout_j;//计数标志。
4 uchar miao = 0;
5 uchar fen = 0;
6 uchar hour = 10;
7 uchar flag,i;
8 sbit P1_0=P1^0;
9 bit flag_arm;//超过60分报警标志
10 uchar huanchun[6];
11 uchar duanma[11] =
12 {
13 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0xff
14 };
15 uchar weima[6] =
16 {
17 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf
18 };
19 unsigned char code b[]={10,3,2,1,11,6,5,4,12,9,8,7,13,14,0,15};
20 void delay(uchar i)
21 {
22 1 do{
23 2 huanchun[0] = miao % 10;
24 2 huanchun[1] = miao / 10;
25 2 huanchun[2] = fen % 10;
26 2 huanchun[3] = fen / 10;
27 2 huanchun[4] = hour % 10;
28 2 huanchun[5] = hour / 10;
29 2 }while(i--);
30 1 }
31 void Delay(unsigned char a)
32 {
33 1 //1
34 1 unsigned char b;
35 1 while (--a != 0)
36 1 {
37 2 //2
38 2 for (b = 0; b < 125; b++)
39 2 ;
40 2 } //2
41 1 } //1
42 void dingshi()interrupt 1
43 {
44 1 TH0 = 0xEE;
45 1 TL0 = 0x00;
46 1 cout++;
47 1 if (cout == 200)
48 1 {
49 2 miao++;
50 2 cout = 0;
51 2 // flag=1;
52 2 if (miao == 60)
53 2 {
54 3 miao = 0;
55 3 fen++;
C51 COMPILER V7.50 课设1 06/24/2006 19:09:00 PAGE 2
56 3 cout_j++;//计数标志。
57 3 if(cout==6)flag_arm=1;
58 3 if (fen == 60)
59 3 {
60 4 fen = 0;
61 4 hour++;
62 4 if (hour == 12)
63 4 hour = 0;
64 4 }
65 3 }
66 2 }
67 1 }
68 void xianshi()interrupt 3 using 1 //中断显示
69 {
70 1 TH1=0Xf8; //显示定时两毫秒。
71 1 TL1=0Xcc;
72 1 P1 = weima[i];
73 1 P2 = duanma[huanchun[i]];
74 1 i++;
75 1 if (i == 6)i = 0;
76 1 }
77 //11msbj()
78 //{
79 unsigned char scankey(){
80 1 unsigned char k,down,up;
81 1 P3=0x00;
82 1 P3=0xF0;
83 1 k=P3;
84 1 if(k==0xF0)return 0xFF;
85 1 delay(100);
86 1 down=3;
87 1 while(k&0x80)down--,k<<=1;
88 1 P3=0x00;
89 1 P3=0x0F;
90 1 k=P3;
91 1 if(k==0x0F)return 0xFF;
92 1 up=0;
93 1 while(k&0x01)up+=4,k>>=1;
94 1 return b[up+down];
95 1 }//scankey
96 songjian()
97 { unsigned char k;
98 1 while(1)
99 1 { k=scankey();
100 2 P1_0=~P1_0;
101 2 if(k==scankey()&&k==0xff){P1_0=1;break;}
102 2 }
103 1 }
104 void main()
105 {
106 1 uchar j = 0;
107 1 TMOD = 0X11;
108 1 TH0 = 0XEE;
109 1 TL0 = 0X00;
110 1 TH1=0Xf8; //
111 1 TL1=0Xcc;
112 1 EA = 1;
113 1 ET0 = 1;
114 1 ET1=1;
115 1 TR1=1;
116 1 TR0 = 1;
117 1 while (1)
C51 COMPILER V7.50 课设1 06/24/2006 19:09:00 PAGE 3
118 1 { k=scankey();
119 2 if(k==scankey()&&k!=0xFF)
120 2 songjian();
121 2 }
122 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 324 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 32 1
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -