📄 zlg7289.lst
字号:
C51 COMPILER V7.01 ZLG7289 01/04/1999 22:11:18 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE ZLG7289
OBJECT MODULE PLACED IN Zlg7289.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Zlg7289.c OPTIMIZE(2,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************************************************
2 * File:ZLG7289.C
3 * 功能:ZLG7289A键盘显示芯片显示驱动程序。
4 * 说明:MCS-51单片机,晶振不要大于12MHz。
5 ****************************************************************************/
6
7 #include <Reg51.h>
8 #include "ZLG7289.H"
9
10 // 定义控制口线,用户根据自已的系统相应更改
11 sbit ZLG7289_CS = P2^3;
12 sbit ZLG7289_CLK = P2^4;
13 sbit ZLG7289_DIO = P2^5;
14
15
16
17 /****************************************************************************
18 * 名称:Delay8uS
19 * 功能:8uS软件延时
20 * 说明:用户根据自已的系统相应更改
21 ****************************************************************************/
22 void Delay8uS(void)
23 { uchar i;
24 1 for(i=0; i<4; i++);
25 1 }
26
27
28 /****************************************************************************
29 * 名称:Delay50uS
30 * 功能:50uS软件延时
31 * 说明:用户根据自已的系统相应更改
32 ****************************************************************************/
33 void Delay50uS(void)
34 { uchar i;
35 1 for(i=0; i<25; i++);
36 1 }
37
38
39 /****************************************************************************
40 * 名称:ZLG7289_SendByte
41 * 功能:发送字节数据,高位在前,符合ZLG7289传输协议。
42 * 入口参数:dat 待发送的数据
43 * 注意:使用此函数前要选择ZLG7289,即ZLG7289_CS = 0;
44 * 本函数不操作ZLG7289_CS
45 ****************************************************************************/
46 void ZLG7289_SendByte(uchar dat)
47 { uchar i;
48 1 Delay50uS(); // 延时,T1
49 1 for(i=0; i<8; i++)
50 1 { if( (dat&0x80)==0 ) ZLG7289_DIO = 0;
51 2 else ZLG7289_DIO = 1;
52 2 dat = dat<<1; // 数据移位
53 2 ZLG7289_CLK = 1; // 发送CLK脉冲
54 2 Delay8uS(); // 延时,T2
55 2 ZLG7289_CLK = 0;
C51 COMPILER V7.01 ZLG7289 01/04/1999 22:11:18 PAGE 2
56 2 Delay8uS(); // 延时,T3
57 2 }
58 1
59 1 ZLG7289_DIO = 0;
60 1 }
61
62
63 /****************************************************************************
64 * 名称:ZLG7289_SendCommand
65 * 功能:向ZLG7289发送命令。
66 * 入口参数:com 待发送的命令字
67 ****************************************************************************/
68 void ZLG7289_SendCommand(uchar com)
69 { ZLG7289_CLK = 0;
70 1 ZLG7289_CS = 0;
71 1 ZLG7289_SendByte(com); // 将命令发送出去
72 1 ZLG7289_CS = 1;
73 1 }
74
75 /****************************************************************************
76 * 名称:ZLG7289_SendData
77 * 功能:向ZLG7289发送数据。即带数据的命令。
78 * 入口参数:com 待发送的命令字
79 * dat 待发送的数据
80 ****************************************************************************/
81 void ZLG7289_SendData(uchar com, uchar dat)
82 { ZLG7289_CLK = 0;
83 1 ZLG7289_CS = 0;
84 1 ZLG7289_SendByte(com);
85 1 Delay50uS(); // 延时,T4
86 1 ZLG7289_SendByte(dat);
87 1 ZLG7289_CS = 1;
88 1 }
89
90
91 /****************************************************************************
92 * 名称:ZLG7289_SendBuf
93 * 功能:向ZLG7289发送显示数据,8字节,不译码。
94 * 入口参数:buf 显示数据缓冲区指针
95 ****************************************************************************/
96 void ZLG7289_SendBuf(uchar *buf)
97 { uchar i;
98 1 for(i=0; i<8; i++)
99 1 { ZLG7289_SendData(Z_DISPADR0+i, *buf++);
100 2 }
101 1 }
102
103
104 /****************************************************************************
105 * 名称:ZLG7289_FillDat
106 * 功能:显示填充。显示不译码。
107 * 入口参数:dat 待填充的显示数据
108 ****************************************************************************/
109 void ZLG7289_SendFillDat(uchar dat)
110 { uchar i;
111 1 for(i=0; i<8; i++)
112 1 { ZLG7289_SendData(Z_DISPADRX+i, dat);
113 2 }
114 1 }
115
116
117
C51 COMPILER V7.01 ZLG7289 01/04/1999 22:11:18 PAGE 3
118
119
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 191 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 13
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 + -