📄 keysquar.lst
字号:
C51 COMPILER V8.08 KEYSQUAR 12/15/2008 16:03:39 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE KEYSQUAR
OBJECT MODULE PLACED IN keySquar.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keySquar.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #define uint unsigned int;
3 #define uchar unsigned char;
4 uchar bai,shi,ge,temp,tt;
5
6 sbit duan=P2^6;
7 sbit wei=P2^7;
8
9 uchar code Num_code[]={ //显示数据编码
10 0xc0,0xF9,0xA4,0xB0,0x99,//0-4
11 0x92,0x82,0xF8,0x80,0x90};//5-9
12 void delay(unsigned int z)
13 {
14 1 unsigned int x,y;
15 1 for(x=z;x>0;x--)
16 1 for(y=110;y>0;y--);
17 1 }
18
19 void display(unsigned char bai,unsigned char shi,unsigned char ge)
20 {
21 1
22 1 P0=0x20;
23 1 wei=1;
24 1 wei=0;
25 1 P0=Num_code[ge];
26 1 duan=1;
27 1 duan=0;
28 1 delay(600);
29 1
30 1
31 1 P0=0x10;
32 1 wei=1;
33 1 wei=0;
34 1 P0=Num_code[shi];
35 1 duan=1;
36 1 duan=0;
37 1 delay(1);
38 1
39 1
40 1 P0=0x08;
41 1 wei=1;
42 1 wei=0;
43 1 P0=Num_code[bai];
44 1 duan=1;
45 1 duan=0;
46 1 delay(1);
47 1
48 1 }
49 void main()
50 {
51 1 tt=0;
52 1 TMOD=0x01;
53 1 TH0=(65536-50000)/256;
54 1 TL0=(65536-50000)%256;
55 1 EA=1;//开总中断
C51 COMPILER V8.08 KEYSQUAR 12/15/2008 16:03:39 PAGE 2
56 1 ET0=1;//允许timer0中断
57 1 TR0=1;//启动timer0
58 1 while(1)
59 1 { // P0=0xff;
60 2 P1=0xef;
61 2 temp=P1;
62 2 temp=temp&0x0f;
63 2 if(temp!=0x0f)
64 2 {
65 3 temp=P1;
66 3 switch(temp)
67 3 {
68 4 case 0xee:bai=0;shi=0;ge=0;break;
69 4 case 0xed:bai=0;shi=0;ge=1;break;
70 4 case 0xeb:bai=0;shi=0;ge=4;break;
71 4 case 0xe7:bai=0;shi=0;ge=9;break;
72 4 }
73 3 display(bai,shi,ge);
74 3
75 3 }
76 2 P1=0xdf;
77 2 temp=P1;
78 2 temp=temp&0x0f;
79 2 if(temp!=0x0f)
80 2 {
81 3 temp=P1;
82 3 switch(temp)
83 3 {
84 4 case 0xde:bai=0;shi=1;ge=6;break;
85 4 case 0xdd:bai=0;shi=2;ge=5;break;
86 4 case 0xdb:bai=0;shi=3;ge=6;break;
87 4 case 0xd7:bai=0;shi=4;ge=9;break;
88 4 }
89 3 display(bai,shi,ge);
90 3
91 3 }
92 2
93 2
94 2 }
95 1 }
96 void timer0() interrupt 1
97 {
98 1
99 1 TH0=(65536-50000)/256;
100 1 TL0=(65536-50000)%256;
101 1 tt++;
102 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 422 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
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 + -