📄 sc_t6963.lst
字号:
C51 COMPILER V7.20 SC_T6963 03/28/2008 14:02:55 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE SC_T6963
OBJECT MODULE PLACED IN SC_T6963.OBJ
COMPILER INVOKED BY: D:\setup\keil\C51\BIN\C51.EXE SC_T6963.c LARGE DEBUG OBJECTEXTEND
line level source
1 /**************************************************************************
2 Copyright (c) HUST ESRI 1999. All Rights Reserved.
3
4 当前版本: V1.1
5 作者: SeaCow
6 完成日期: 2007.6.24
7
8 取代版本: T6963driver_1.c
9 原作者: 魏雪
10 完成日期: 2007.4
11
12 摘要: NS240128A(T6963C控制器,32K显存)液晶屏的驱动
13
14 [相关定义]
15 1.需要在事件在单片机引脚定义文件中添加以下引脚定义:
16 //LCD控制信号寄存器
17 #define T6963_COMMAND_REG P4 //DB0-7口
18 //LCD数据端口寄存器
19 #define T6963_WRITE_CODE_REG P5 //控制口0-4,依次为WR、RD、CE、CD、RST
20 #define T6963_WRITE_DATA_REG P5
21 #define T6963_READ_STATE_REG P5
22 #define T6963_READ_DATA_REG P5
23 2.需在工程中包含"SC_T6963.c"文件
24 3.需在主程序文件中加入:
25 #include "inc\SC_T6963.h" //LCD相关
26 **************************************************************************/
27 #include "inc\ConstDef.h" //硬件相关常数定义
28 #include "inc\SC_T6963.h"
29
30 //----------------------------------------------------------------------------------//
31 //--------------------------------基本输入输出函数----------------------------------//
32 //----------------------------------------------------------------------------------//
33 /***************************************************************
34 Function: // T6963_WriteCode
35 Description:// 向T6963控制器写入一个命令字节
36 Input: // CODE:需要写入的命令字节
37 ***************************************************************/
38 void T6963_WriteCode(uchar uCode)
39 {
40 1 T6963_COMMAND_REG |= T6963_COMMAND_WRITE;
41 1 T6963_COMMAND_REG &= T6963_CE_ENABLE;
42 1 T6963_COMMAND_REG &= T6963_WR_ENABLE;
43 1 T6963_COMMAND_REG |= T6963_RD_DISABLE;
44 1 T6963_WRITE_CODE_REG = uCode;
45 1 // T6963_Delay(5); //at least 80ns
46 1 T6963_COMMAND_REG |= T6963_WR_DISABLE;
47 1 T6963_COMMAND_REG |= T6963_CE_DISABLE;
48 1 }
49
50 /***************************************************************
51 Function: // T6963_WriteData
52 Description:// 向T6963控制器写入一个数据字节
53 Input: // DATA:需要写入的数据字节
54 ***************************************************************/
55 void T6963_WriteData(uchar uData)
C51 COMPILER V7.20 SC_T6963 03/28/2008 14:02:55 PAGE 2
56 {
57 1 T6963_COMMAND_REG &= T6963_DATA_WRITE;
58 1 T6963_COMMAND_REG &= T6963_CE_ENABLE;
59 1 T6963_COMMAND_REG &= T6963_WR_ENABLE;
60 1 T6963_COMMAND_REG |= T6963_RD_DISABLE;
61 1 T6963_WRITE_CODE_REG = uData;
62 1 // T6963_Delay(5); //at least 80ns
63 1 T6963_COMMAND_REG |= T6963_WR_DISABLE;
64 1 T6963_COMMAND_REG |= T6963_CE_DISABLE;
65 1 }
66
67 /***************************************************************
68 Function: // T6963_ReadState
69 Description:// 从T6963控制器读取状态字节
70 Return: // STATE:状态字节
71 ***************************************************************/
72 uchar T6963_ReadState(void)
73 {
74 1 uchar uSTATE = 0;
75 1 T6963_COMMAND_REG |= T6963_STATE_READ;
76 1 T6963_COMMAND_REG &= T6963_CE_ENABLE;
77 1 T6963_COMMAND_REG |= T6963_WR_DISABLE;
78 1 T6963_COMMAND_REG &= T6963_RD_ENABLE;
79 1 // T6963_Delay(5);
80 1 T6963_READ_STATE_REG = 0xFF;
81 1 uSTATE = T6963_READ_STATE_REG;
82 1 T6963_COMMAND_REG |= T6963_RD_DISABLE;
83 1 T6963_COMMAND_REG |= T6963_CE_DISABLE;
84 1 return uSTATE;
85 1 }
86
87 /***************************************************************
88 Function: // T6963_ReadData
89 Description:// 从T6963控制器读取一个数据字节
90 Return: // DATA:数据字节
91 ***************************************************************/
92 uchar T6963_ReadData(void)
93 {
94 1 uchar uData = 0;
95 1 T6963_COMMAND_REG &= T6963_DATA_READ;
96 1 T6963_COMMAND_REG &= T6963_CE_ENABLE;
97 1 T6963_COMMAND_REG |= T6963_WR_DISABLE;
98 1 T6963_COMMAND_REG &= T6963_RD_ENABLE;
99 1 // T6963_Delay(5);
100 1 T6963_READ_DATA_REG = 0xFF;
101 1 uData = T6963_READ_DATA_REG;
102 1 T6963_COMMAND_REG |= T6963_RD_DISABLE;
103 1 T6963_COMMAND_REG |= T6963_CE_DISABLE;
104 1 return uData;
105 1 }
106
107 //----------------------------------------------------------------------------------//
108 //----------------------------------检查状态函数------------------------------------//
109 //----------------------------------------------------------------------------------//
110 /***************************************************************
111 Function: // T6963_CheckRDWR
112 Description:// 读写状态检查
113 Calls: // T6963_ReadState
114 ***************************************************************/
115 void T6963_CheckRDWR(void)
116 {
117 1 uchar uSTATE;
C51 COMPILER V7.20 SC_T6963 03/28/2008 14:02:55 PAGE 3
118 1 do
119 1 {
120 2 uSTATE = T6963_ReadState();
121 2 uSTATE &= 0x03;
122 2 }while(uSTATE != 0x03);
123 1 }
124
125 /***************************************************************
126 Function: // T6963_CheckAutoRD
127 Description:// 自动读状态检查
128 Calls: // T6963_ReadState
129 ***************************************************************/
130 void T6963_CheckAutoRD(void)
131 {
132 1 uchar uSTATE;
133 1 do
134 1 {
135 2 uSTATE = T6963_ReadState();
136 2 uSTATE &= 0x04;
137 2 }while(uSTATE != 0x04);
138 1 }
139
140 /***************************************************************
141 Function: // T6963_CheckAutoWR
142 Description:// 自动写状态检查
143 Calls: // T6963_ReadState
144 ***************************************************************/
145 void T6963_CheckAutoWR(void)
146 {
147 1 uchar uSTATE;
148 1 do
149 1 {
150 2 uSTATE = T6963_ReadState();
151 2 uSTATE &= 0x08;
152 2 }while(uSTATE != 0x08);
153 1 }
154
155 //----------------------------------------------------------------------------------//
156 //--------------------------------读写函数(命令,数据)----------------------------//
157 //----------------------------------------------------------------------------------//
158 /***************************************************************
159 Function: // T6963_OutData
160 Description:// 输出数据
161 Calls: // T6963_CheckRDWR T6963_WriteData
162 ***************************************************************/
163 void T6963_OutData(uchar uData)
164 {
165 1 T6963_CheckRDWR();
166 1 T6963_WriteData(uData);
167 1 }
168
169 /***************************************************************
170 Function: // T6963_InData
171 Description:// 读入数据
172 Calls: // T6963_CheckRDWR T6963_ReadData
173 Return: // DATA
174 ***************************************************************/
175 uchar T6963_InData(void)
176 {
177 1 uchar uData;
178 1 T6963_CheckRDWR();
179 1 uData = T6963_ReadData();
C51 COMPILER V7.20 SC_T6963 03/28/2008 14:02:55 PAGE 4
180 1 return uData;
181 1 }
182
183 /***************************************************************
184 Function: // T6963_OutCommand0byte
185 Description:// 写无参数命令
186 Calls: // T6963_CheckRDWR T6963_WriteCode
187 ***************************************************************/
188 void T6963_OutCommand0byte(uchar uCommand)
189 {
190 1 T6963_CheckRDWR();
191 1 T6963_WriteCode(uCommand);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -