键盘.lst
来自「内容包含4*4键盘、ADC0808、DAC0832和流水灯」· LST 代码 · 共 99 行
LST
99 行
C51 COMPILER V8.05a 键盘 08/04/2007 14:02:41 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 键盘
OBJECT MODULE PLACED IN 键盘.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE 键盘.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <AT89X51.h>
2 unsigned char a[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,},b[
-4],c=0x01;
3 unsigned int jianzhi;
4 void Delay1ms(unsigned int count)
5 {
6 1 unsigned int i,j;
7 1 for(i=0;i<count;i++)
8 1 for(j=0;j<120;j++);
9 1 }
10 void show(void)
11 {
12 1 unsigned int r;
13 1 for(r=0;r<4;r++)
14 1 {
15 2 P2=(c<<r);
16 2 P0=b[r];
17 2 Delay1ms(1);
18 2
19 2 }
20 1 }
21
22 void key(void)
23 {
24 1 unsigned int hengzhi,leizhi=0,n,r=0x01;
25 1
26 1 if(P3_0==0)
27 1 hengzhi=0;
28 1 if(P3_1==0)
29 1 hengzhi=1;
30 1 if(P3_2==0)
31 1 hengzhi=2;
32 1 if(P3_3==0)
33 1 hengzhi=3;
34 1 for(n=0;n<4;n++)
35 1 {
36 2 P1=~(r<<n);
37 2 if((P3_0&&P3_1&&P3_2&&P3_3)!=1)
38 2 leizhi=n;
39 2 }
40 1
41 1 jianzhi=hengzhi*4+leizhi;
42 1
43 1 }
44
45 void main(void)
46 {
47 1 while(1)
48 1 {
49 2 P1=0x00;
50 2 jianche:
51 2 while((P3_0&&P3_1&&P3_2&&P3_3)==1)
52 2 {
53 3 show();
54 3 }
C51 COMPILER V8.05a 键盘 08/04/2007 14:02:41 PAGE 2
55 2 Delay1ms(10);
56 2 if((P3_0&&P3_1&&P3_2&&P3_3)==1)
57 2 goto jianche;
58 2
59 2 key();
60 2 P1=0x00;
61 2 while((P3_0&&P3_1&&P3_2&&P3_3)!=1)
62 2 {
63 3 show();
64 3 }
65 2 b[3]=b[2];
66 2 b[2]=b[1];
67 2 b[1]=b[0];
68 2 b[0]=a[jianzhi];
69 2 }
70 1 }
71
72
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 320 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 23 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?