📄 3310.lst
字号:
C51 COMPILER V6.23a 3310 09/21/2007 14:21:25 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE 3310
OBJECT MODULE PLACED IN 3310.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 3310.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 /*;接脚资料:
3 ;Pin Signal Description Port
4 ;1:VDD
5 ;Power Input. Logic supply voltage range VDD to GND : 2.7 to 3.3 V
6 2:SCLK
7 ;Serial clock. Input for the clock signal: 0.0 to 4.0 Mbits/s.
8 3:SDIN
9 Serial data. Input for the data line.
10 4:D/C
11 Mode Select. To select either command/address or data input.
12 5:SCE
13 Chip enable input. The enable pin allows data to be clocked in. The signal is
14 active LOW.
15 6:GND
16 Ground
17 7:VOUT
18 Ouptut voltage. Add external 1-10 uF electrolytic capacitor from VOUT to GND
19 8:RES
20 External reset. This signal will reset the device and must be applied to
21 properly
22 initialize the chip. The signal is active LOW.
23 控制芯片:
24 PCD8544
25 宽×高(像素): 84×48
26 */
27 /******************************************************************************
28 Copyright 2007
29 All rights reserved.
30
31 文件名 :3310.c
32 模块名称:3310液晶显示屏C51测试程序
33 功能概要:
34 cpu: stc89le58 主频:11.0592Mhz
35 取代版本:0.0.1
36 修改人 :pulan
37 完成日期:2007.07.08
38 升级说明:create
39
40 硬件连接:
41
42
43 ******************************************************************************/
44 #include <reg52.h>
45 #define uchar unsigned char
46 #define uint unsigned int
47
48 sbit sclk=P1^7; //时钟
49 sbit sdin=P1^6; //数据
50 sbit dc=P1^5; //1写数据,0写指令
51 sbit sce=P1^3; //片选
52 sbit res=P1^4; //复位,0复位
53 uchar code bitmap1[];
54 void delayus(uchar us);
55 void delayms(uchar ms);
C51 COMPILER V6.23a 3310 09/21/2007 14:21:25 PAGE 2
56 void lcm_writebyte(uchar dd,bit a);
57 /******************************************************************************************
58 * 函数名称 :
59 * 功能描述 :
60 * 参数 : 参数名称: 输入/输出? 类型 描述
61 *
62 * 返回值 :
63 * 作者 :
64 * 创建日期 :2006-12-19
65 * 全局变量 :
66 * 全局静态变量:
67 * 局部静态变量:
68 *----------------------------------------修改历史------------------------------------------
69 * 当前版本 : 修改人: 修改日期:
70 * 修改说明 :
71 ******************************************************************************************/
72 void delayus(uint us)
73 {
*** WARNING C235 IN LINE 73 OF 3310.C: parameter 1: different types
74 1 while(us--);
75 1 }
76 /******************************************************************************************
77 * 函数名称 :
78 * 功能描述 :
79 * 参数 : 参数名称: 输入/输出? 类型 描述
80 *
81 * 返回值 :
82 * 作者 :
83 * 创建日期 :2006-12-19
84 * 全局变量 :
85 * 全局静态变量:
86 * 局部静态变量:
87 *----------------------------------------修改历史------------------------------------------
88 * 当前版本 : 修改人: 修改日期:
89 * 修改说明 :
90 ******************************************************************************************/
91 void delayms(uint ms)
92 {
*** WARNING C235 IN LINE 92 OF 3310.C: parameter 1: different types
93 1 uchar i;
94 1 while(ms--)
95 1 for(i=0; i<125; i++);
96 1 }
97 /******************************************************************************************
98 * 函数名称 :lcm_init
99 * 功能描述 :LCM初始化
100 * 参数 : 参数名称: 输入/输出? 类型 描述
101 *
102 * 返回值 :
103 * 作者 :
104 * 创建日期 :2006-12-19
105 * 全局变量 :
106 * 全局静态变量:
107 * 局部静态变量:
108 *----------------------------------------修改历史------------------------------------------
109 * 当前版本 : 修改人: 修改日期:
110 * 修改说明 :
111 ******************************************************************************************/
112 void lcm_init(void)
113 {
114 1 res=0;
115 1 delayus(100);
C51 COMPILER V6.23a 3310 09/21/2007 14:21:25 PAGE 3
116 1 res=1;
117 1 sce=1;
118 1 sdin=1;
119 1 sclk=1;
120 1
121 1 lcm_writebyte(0x21,0);//初始化Lcd,功能设定使用扩充指令
122 1 lcm_writebyte(0xd5,0);//设定液晶偏置电压(高--低)
123 1 lcm_writebyte(0x20,0);//使用基本指令
124 1 lcm_writebyte(0x0C,0);//设定显示模式,正常显示
125 1 }
126
127 /******************************************************************************************
128 * 函数名称 :lcm_writebyte
129 * 功能描述 :写一字节 mod="0",命令模式
130 * 参数 : 参数名称: 输入/输出? 类型 描述
131 *
132 * 返回值 :
133 * 作者 :
134 * 创建日期 :2006-12-19
135 * 全局变量 :
136 * 全局静态变量:
137 * 局部静态变量:
138 *----------------------------------------修改历史------------------------------------------
139 * 当前版本 : 修改人: 修改日期:
140 * 修改说明 :
141 ******************************************************************************************/
142 void lcm_writebyte(uchar datatemp,bit mod)
143 {
144 1 uchar i=8;
145 1 sce=0;
146 1 dc=mod;
147 1 while (i--)
148 1 {
149 2 if (datatemp&0x80)
150 2 {
151 3 sdin=1;
152 3 }
153 2 else
154 2 {
155 3 sdin=0;
156 3 }
157 2 sclk=0;
158 2 sclk=1;
159 2 datatemp<<=1;
160 2 }
161 1 dc=1;
162 1 sce=1;
163 1 sdin=1;
164 1 }
165 /******************************************************************************************
166 * 函数名称 :lcm_write
167 * 功能描述 :写一字节 mod="0",命令模式
168 * 参数 : 参数名称: 输入/输出? 类型 描述
169 *
170 * 返回值 :
171 * 作者 :
172 * 创建日期 :2006-12-19
173 * 全局变量 :
174 * 全局静态变量:
175 * 局部静态变量:
176 *----------------------------------------修改历史------------------------------------------
177 * 当前版本 : 修改人: 修改日期:
C51 COMPILER V6.23a 3310 09/21/2007 14:21:25 PAGE 4
178 * 修改说明 :
179 ******************************************************************************************/
180 void lcm_write(uchar bytes,bit mod)
181 {
182 1 uchar i,datatemp;
183 1 sce=0;
184 1 dc=mod;
185 1 while (bytes--)
186 1 {
187 2 while (i--)
188 2 {
189 3 if (datatemp&0x80)
190 3 {
191 4 sdin=1;
192 4 }
193 3 else
194 3 {
195 4 sdin=0;
196 4 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -