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