📄 key.lst
字号:
C51 COMPILER V7.09 KEY 08/24/2007 09:37:37 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN Key.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Key.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #include"Config.h"
3 #include"IOCfg.c"
4 #include"TimeDLY.h"
5 #include"Key.h"
6
7
8 //函数:SPI_WriteOneByte()
9 //功能:向SPI总线写数据
10 //说明:写入的数据长度为1字节
11 void SPI_WriteOneByte(INT8U Wdata)
12 {
13 1 INT8U i;
14 1 for(i=0;i<8;i++)
15 1 {
16 2 ZLG7289DIO = (bit)(Wdata&0x80);
17 2 ZLG7289CLK = 1;
18 2 Wdata <<= 1;
19 2 nNop(1);
20 2 ZLG7289CLK = 0;
21 2 nNop(1);
22 2 }
23 1 }
24
25
26 //函数:SPI_ReadOneByte()
27 //功能:从SPI总线读数据
28 //说明:返回1字节数据
29 INT8U SPI_ReadOneByte()
30 {
31 1 INT8U i,temp;
32 1 ZLG7289DIO = 1; //将I/O切换到输入状态
33 1 for(i=0;i<8;i++)
34 1 {
35 2 ZLG7289CLK = 1;
36 2 nNop(5);
37 2 temp <<= 1;
38 2 if(ZLG7289DIO) temp++;
39 2 ZLG7289CLK = 0;
40 2 nNop(5);
41 2 }
42 1 return temp;
43 1 }
44
45 //函数:ZLG7289_Instruc()
46 //功能:执行ZLG7289纯指令
47 //说明:指令长度为1字节
48 void ZLG7289_Instruc(INT8U Instruc)
49 {
50 1 INT8U i;
51 1 i = IE;
52 1 IE &= 0xfa; // Disable external interrupt;
53 1 ZLG7289CS = 0;
54 1 nNop(5);
55 1 SPI_WriteOneByte(Instruc);
C51 COMPILER V7.09 KEY 08/24/2007 09:37:37 PAGE 2
56 1 ZLG7289CS = 1;
57 1 nNop(5);
58 1 IE = i;
59 1 }
60
61
62 //函数:ZLG7289_Instruc_Data
63 //功能:执行ZLG7289带数据指令
64 //说明:指令长度以及数据长度均为1字节
65 void ZLG7289_Instruc_Data(INT8U Instruc,INT8U Data)
66 {
67 1 INT8U i;
68 1 i = IE;
69 1 IE &= 0xfa;
70 1 ZLG7289CS = 0;
71 1 nNop(5);
72 1 SPI_WriteOneByte(Instruc);
73 1 nNop(5);
74 1 SPI_WriteOneByte(Data);
75 1 ZLG7289CS = 1;
76 1 nNop(5);
77 1 IE = i;
78 1 }
79
80
81
82 //函数:ZLG7289_ReadKey()
83 //功能:执行ZLG7289读键盘指令
84 //说明:返回1字节的按键号
85 // 按键号的范围为:0 ~ 63(即0x0 ~ 0x3f)
86 // 若没有按按键被按下了,返回255(即0xff)
87 INT8U ZLG7289_ReadKey()
88 {
89 1 INT8U Key;
90 1 ZLG7289CS = 0;
91 1 nNop(10);
92 1 SPI_WriteOneByte(0x15);
93 1 nNop(5);
94 1 Key = SPI_ReadOneByte();
95 1 nNop(1);
96 1 ZLG7289CS = 1;
97 1 nNop(5);
98 1 return Key;
99 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 193 ----
CONSTANT SIZE = ---- ----
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 + -