📄 key7279.lst
字号:
C51 COMPILER V8.08 KEY7279 03/20/2008 12:09:20 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE KEY7279
OBJECT MODULE PLACED IN KEY7279.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE KEY7279.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "KEY7279.h"
2 void delay(unsigned int cnt);
3 uchar ab[8];
4 void delay(unsigned int cnt)
5 {
6 1 while(cnt--);
7 1 }
8 void wbyte(uchar x)
9 {uchar i;
10 1 SFRPAGE=0x0f;
11 1 delay(25);
12 1 delay(50);
13 1 for(i=0;i<8;i++)
14 1 {
15 2 dat=(bit)(x&0x80);
16 2 clk7279 =1;
17 2 delay(6);
18 2 clk7279 =0;
19 2 x<<=1;
20 2 delay(2);
21 2 }
22 1 dat=1;
23 1 }
24 void write7279b(uchar x)
25 {//cs=0;
26 1 wbyte(x);
27 1 //cs=1;
28 1 }
29 void write7279w(uchar com,uchar shu)
30 {//cs=0;
31 1 wbyte(com);
32 1 wbyte(shu);
33 1 delay(50);
34 1 // cs=1;
35 1 }
36 uchar readkey()
37 {uchar i,x;
38 1 SFRPAGE=0x0f;
39 1 //cs=0;
40 1 //delay(25);
41 1 delay(50);
42 1 wbyte(0x15);
43 1 // delay(12);
44 1 delay(20);
45 1 clk7279=1;
46 1 // delay(4);
47 1 delay(6);
48 1 for(i=0;i<8;i++)
49 1 { x<<=1;
50 2 if(dat)x|=0x01;
51 2 clk7279=0;
52 2 // delay(4);
53 2 delay(7);
54 2 clk7279=1;
55 2 delay(7);
C51 COMPILER V8.08 KEY7279 03/20/2008 12:09:20 PAGE 2
56 2 }
57 1 // clk7279=0;
58 1 // cs=1;
59 1 return x;
60 1 }
61
62 void ddtq()
63 {uchar i,j,k=160;
64 1 while(k)
65 1 { j=250;
66 2 while(j)
67 2 { i=250;
68 3 while(i){if(key)return;i--;}
69 3 j--;
70 3 }
71 2 k--;
72 2 }
73 1 return;
74 1 }
75 void play7279(uchar *p)
76 {uchar i;
77 1 for(i=0;i<8;i++)
78 1 {write7279w(i|0x80,p[i]);
79 2 }
80 1 }
81 void qp7279(uchar *p)
82 {uchar i;
83 1 for(i=0;i<8;i++)
84 1 { p[i]=0x0f;
85 2 }
86 1 }
87 void displ(uchar *p,uchar x)
88 {uchar i;
89 1 for(i=7;i>0;i--)
90 1 { p[i]=p[i-1];
91 2 }
92 1 p[i]=x;
93 1 }
94 void keypend()
95 {
96 1 key=1;
97 1 if(!key)
98 1 { delay(5000);//去抖动
99 2 if(!key)
100 2 { displ(ab,readkey());
101 3 // write7279b(0xa4);
102 3 play7279(ab);
103 3 ddtq();
104 3 }
105 2 }
106 1 }
107 /*
108 void main()
109 {uchar ab[8];
110 //P2=0xff;
111 SFRPAGE=0x0f;
112
113 //cs=1;
114 clk=0;
115 write7279b(0xa4);
116 //delayms(10);
117 Delay(6000);
C51 COMPILER V8.08 KEY7279 03/20/2008 12:09:20 PAGE 3
118 //write7279b(0xbf);
119 qp7279(ab);
120 play7279(ab);
121 write7279w(0x84,9);
122 write7279w(0x85,7);
123 write7279w(0x86,2);
124 write7279w(0x87,7);
125
126 //while(1);
127
128 while(1)
129 {key=1;
130 while(key);
131 // delayms(100);
132 Delay(25000);
133 if(!key)
134 { displ(ab,readkey());
135 write7279b(0xa4);
136 play7279(ab);
137 ddtq();
138 }
139 }
140
141 }*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 376 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 8 10
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -