📄 键盘.lst
字号:
C51 COMPILER V8.02 键盘 07/18/2012 18:05:33 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 键盘
OBJECT MODULE PLACED IN 键盘.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 键盘.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit key1=P1^0;
5 sbit key2=P1^2;
6 sbit key3=P1^4;
7 sbit key4=P1^6;
8 sbit seg0=P2^6;
9 sbit seg1=P2^7;
10 char num,temp;
11 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
12 void delayms(uint x)
13 {
14 1 uint i,j;
15 1 for(i=x;i>0;i--)
16 1 for(j=110;j>0;j--);
17 1 }
18 void display(uchar date)
19 {
20 1 uchar shi,ge;
21 1 shi=date/10;
22 1 ge=date%10;
23 1
24 1 P0=0x00;
25 1 seg0=0;
26 1 P0=table[ge];
27 1 delayms(5);
28 1 seg0=1;
29 1
30 1 P0=0x00;
31 1 seg1=0;
32 1 P0=table[shi];
33 1 delayms(5);
34 1 seg1=1;
35 1
36 1 }
37 void init()
38 {
39 1 seg0=1;
40 1 seg1=1;
41 1 TMOD=0x01;
42 1 TH0=(65536-50000)/256;
43 1 TL0=(65536-50000)%256;
44 1 EA=1;
45 1 ET0=1;
46 1 }
47 void keyscan()
48 {
49 1 if(key1==0)
50 1 {
51 2 delayms(10);
52 2 if(key1==0);
53 2 {
54 3 num++;
55 3 if(num==60)
C51 COMPILER V8.02 键盘 07/18/2012 18:05:33 PAGE 2
56 3 num=0;
57 3 while(!key1);
58 3 }
59 2 }
60 1 if(key2==0)
61 1 {
62 2 delayms(10);
63 2 if(key2==0);
64 2 {
65 3 num--;
66 3 if(num<0)
67 3 num=59;
68 3 while(!key2);
69 3 }
70 2 }
71 1 if(key3==0)
72 1 {
73 2 delayms(10);
74 2 if(key3==0);
75 2 {
76 3 num=0;
77 3 while(!key3);
78 3 }
79 2 }
80 1 if(key4==0)
81 1 {
82 2 delayms(10);
83 2 if(key4==0);
84 2 {
85 3 TR0=~TR0;
86 3 while(!key4);
87 3 }
88 2 }
89 1 }
90 void main()
91 {
92 1 init();
93 1 while(1)
94 1 {
95 2 keyscan();
96 2 display(num);
97 2 }
98 1 }
99 void ser() interrupt 1
100 {
101 1 TH0=(65536-50000)/256;
102 1 TL0=(65536-50000)%256;
103 1 temp++;
104 1 if(temp==20)
105 1 {
106 2 temp=0;
107 2 num++;
108 2 if(num==60)
109 2 num=0;
110 2 }
111 1 }
112
113
114
115
116
117
C51 COMPILER V8.02 键盘 07/18/2012 18:05:33 PAGE 3
118
119
120
121
122
123
124
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 221 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -