📄 lcd_19264_driver.lst
字号:
C51 COMPILER V7.20 LCD_19264_DRIVER 09/20/2008 06:44:13 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE LCD_19264_DRIVER
OBJECT MODULE PLACED IN LCD_19264_Driver.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD_19264_Driver.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //************************************************************************************
2 // JHD19264A驱动源文件
3 //作 者:张迎
4 //修改者:sjm
5 //时 间:2008.5.10
6 //说 明:
7 // 1.配合头文件使用;
8 // 2.使用专门的字模生成软件.
9 //屏幕坐标说明:
10 //水平坐标: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 每个坐标包含8个点,一共24*8=192
-个点
11 // -------------------------------
12 // | page0 | page0 | page0 |
13 // 垂 | page1 | page1 | page1 |
14 // 直 | page2 | page2 | page2 |
15 // 坐 | page3 | page3 | page3 |
16 // 标 | page4 | page4 | page4 |
17 // | page5 | page5 | page5 |
18 // 每一页的垂直 | page6 | page6 | page6 |
19 // 点阵有8个 | page7 | page7 | page7 |
20 // -------------------------------
21 // 第一片 第二片 第三片
22 //*************************************************************************************
23 #include"8051f020.h"
24 #include"LCD_JHD19264A.h"
25 /*
26 sbit C4001_E = P2^0;
27 sbit C4001_G = P2^1;
28 sbit A16 = P2^3;
29 sbit A17 = P2^4;
30 sbit A18 = P2^5;
31 */
32 sbit C29040_OE = P2^0;
33 sbit C29040_CE = P2^1;
34 sbit A16 = P2^3;
35 sbit A17 = P2^4;
36 sbit A18 = P2^5;
37
38
39 uchar xdata TAB_274001_1[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x10,0x18,0x08,0x0
-8,
40 0x08,0x18,0x10,0x20,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
41 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
42 0x00,0x00,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x38,
43 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
44 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
45 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
46 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
47 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
48 0x00,0xF0,0x22,0x44,0x88,0x90,0x20,0x20,0x40,0xFE,0x40,0xC2,0x44,0xFC,0x00,0x80,
49 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
50 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
51 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,
52 0x00,0x00,0xC0,0xF0,0xF8,0xFD,0xFF,0xFE,0xFC,0xF4,0xF8,0xE8,0xD8,0x90,0x20,0x40,
53 0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x70,0x08,
C51 COMPILER V7.20 LCD_19264_DRIVER 09/20/2008 06:44:13 PAGE 2
54 0x04,0x07,0x07,0x47,0x23,0x01,0x11,0x11,0x8F,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
55 0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,
56 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
57 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0xF8,
58 0xFC,0xFC,0xFC,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFC,0xFC,0xFC,0xF8,0xF0,0xE0,
59 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
60 0x00,0x11,0x3F,0x10,0x08,0x00,0x01,0x01,0x00,0x7F,0x00,0x10,0x20,0x7F,0x01,0x00,
61 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
62 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
63 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,
64 0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,
65 0xF8,0xC3,0xCC,0xF0,0xE0,0xF0,0xF0,0xF8,0xFC,0xFC,0xFE,0xFE,0x1F,0x07,0x22,0x00,
66 0x82,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
67 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x03,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,
68 0xC0,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,
69 0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0xBC,0xFF,0xFF,0xFF,0xFF,
70 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
71 0xFF,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xC0,0x00,
72 0x00,0xE0,0x11,0x12,0x12,0x12,0x10,0x80,0x00,0xFC,0x80,0x80,0xFE,0x80,0x80,0x80,
73 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
74 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
75 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x0C,0x30,0x40,0x80,
76 0x00,0x00,0x00,0x80,0x07,0x0F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x7F,
77 0xFF,0xBF,0xFF,0xDF,0xFF,0xEF,0xFF,0xF7,0xF7,0xFB,0xFB,0xFD,0xFC,0xFC,0xFE,0xFF,
78 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
79 0xFF,0x7F,0x3F,0x1F,0x07,0x00,0xC0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,
80 0x07,0x04,0x04,0x06,0x0F,0x1F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x0F,0x07,0x07,0x07,
81 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x8F,0x4F,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,
82 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
83 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
84 0x00,0x0F,0x18,0x28,0x61,0x23,0x11,0x00,0x00,0x3F,0x00,0x00,0x7F,0x00,0x00,0x00,
85 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
86 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
87 0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x04,0x02,0x82,0xC1,0xE1,0xF1,
88 0xF9,0xFD,0xFC,0xFE,0xFF,0xFF,0xFD,0xFD,0xF9,0xF9,0xFD,0xFF,0xFE,0xFE,0xFF,0xFF,
89 0xFF,0xFF,0xFF,0x7F,0x7F,0x3F,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
90 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xCF,0xC7,0x87,0xC3,
91 0xC1,0xE0,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x8F,0x01,0x00,0x00,
92 0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF0,0xF0,0xE0,0x30,0xD0,0xE8,0xE8,0xE8,0x64,0x84,
93 0x04,0x84,0x84,0x84,0x84,0x84,0x0E,0x7D,0x76,0x1B,0x08,0x04,0x00,0x01,0x03,0x03,
94 0x07,0x0F,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
95 0xFF,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x1F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,
96 0x00,0x04,0x08,0x10,0x20,0x20,0x40,0x40,0x40,0x80,0xFF,0x80,0x80,0x80,0x80,0x80,
97 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
98 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
99 0xC0,0x70,0x0E,0x03,0x00,0x00,0x00,0x00,0xE0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,
100 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0x3F,0x1F,0x8F,0xCF,0x7F,0x0F,
101 0x03,0x01,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,
102 0x0F,0x01,0x01,0x00,0x00,0x00,0x1C,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x3E,0x1E,0xCD,
103 0xE5,0xF7,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xE3,0xC0,0x80,0x00,
104 0x00,0x00,0x00,0x0F,0x3F,0x3F,0x3F,0x3F,0x1F,0x00,0x2F,0x2C,0x1E,0x5A,0x5A,0x42,
105 0x42,0x42,0x42,0x42,0x42,0x44,0xC4,0xF4,0xB8,0x40,0x40,0x80,0x80,0x00,0x00,0x00,
106 0x06,0x0F,0x9F,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
107 0xF8,0xF8,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,
108 0x00,0x70,0x18,0x08,0x04,0x02,0x02,0x01,0x01,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
109 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
110 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
111 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
112 0xFF,0xFF,0xFF,0xBF,0x7F,0x5F,0x2F,0x37,0x13,0x09,0x0C,0x06,0x03,0x00,0x00,0x00,
113 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,
114 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0xF8,0xF8,0xFF,0xFF,
115 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
C51 COMPILER V7.20 LCD_19264_DRIVER 09/20/2008 06:44:13 PAGE 3
116 0xFE,0x98,0x80,0x80,0xC0,0xE0,0xF0,0xF0,0xF0,0xE0,0xE0,0xC0,0xC0,0xC0,0x80,0x80,
117 0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x82,0x85,0x81,0xC2,0xE0,0xF0,0xF8,0xFC,0xFE,
118 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
119 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,
120 0x00,0x00,0x08,0xF8,0x08,0xF8,0x00,0xFF,0x00,0x08,0xF8,0x08,0xF8,0x00,0xFE,0x00,
121 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
122 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
123 0x03,0x0C,0x18,0x30,0x20,0x20,0x20,0x30,0x10,0x18,0x08,0x05,0x07,0x03,0x03,0x01,
124 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
125 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
126 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0F,
127 0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x00,
128 0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x0F,0x0F,0x0F,0x1F,0x1F,0x1F,0x1F,0x1F,
129 0x3F,0x3F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,0xFF,0xFF,0xFF,0xFF,
130 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
131 0xFF,0xFF,0x2F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x03,0x01,0x00,
132 0x00,0x0A,0x09,0x09,0x09,0x09,0x08,0x7F,0x20,0x09,0x09,0x09,0x09,0x08,0x3F,0x00,
133 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
134 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
135 };
136 uchar xdata TAB_274001_2[]={0x00,
137 };
138
139
140 //*******************************************
141 //函数名称:以下是单片机初始化函数
142 //函数功能:
143 //形式参数:
144 //行参说明:
145 //返回参数:
146 //使用说明:
147 //*******************************************
148 void Reset_Sources_Init()
149 {
150 1 WDTCN = 0xDE;
151 1 WDTCN = 0xAD;
152 1 }
153
154 void Port_IO_Init()
155 {
156 1 P0MDOUT = 0xFF;
157 1 P1MDOUT = 0xFF;
158 1 P2MDOUT = 0xFF;
159 1 P3MDOUT = 0xFF;
160 1 P74OUT = 0xC0; //P7输出
161 1 XBR2 = 0xC0;
162 1 }
163
164 void Oscillator_Init()
165 {
166 1 int i = 0;
167 1 OSCXCN = 0x67;
168 1 for (i = 0; i < 3000; i++);
169 1 while ((OSCXCN & 0x80) == 0);
170 1 OSCICN = 0x0C;
171 1 }
172
173 void Init_Device(void)
174 {
175 1 Reset_Sources_Init();
176 1 Port_IO_Init();
177 1 Oscillator_Init();
C51 COMPILER V7.20 LCD_19264_DRIVER 09/20/2008 06:44:13 PAGE 4
178 1 }
179
180
181 void delay1ms(void)
182 { unsigned char i,j,k;
183 1 for(i=5;i>0;i--)
184 1 for(j=6;j>0;j--)
185 1 for(k=100;k>0;k--);
186 1 }
187
188 //*******************************************
189 //函数名称:void LCD_JHD19264A_Busy(void)
190 //函数功能:LCD读忙标志
191 //形式参数:无
192 //行参说明:无
193 //返回参数:无
194 //使用说明:DB7=1:BUSY
195 // DB7=0:READY
196 //*******************************************
197 void LCD_JHD19264A_Busy(void)
198 {
199 1 uchar uccode;
200 1 LCD_JHD19264A_RS = 0;
201 1 LCD_JHD19264A_RW = 1; //读状态
202 1 do
203 1 {
204 2 P0 = 0xff; //P0置1,做好读准备
205 2 P0MDOUT = 0x00; //P0口设为漏极开路
206 2 LCD_JHD19264A_E = 1;
207 2 uccode = P0;
208 2 LCD_JHD19264A_E = 0;//下降沿,读状态有效
209 2 uccode &= 0x80; //得到DB7数据位
210 2 }
211 1 while(uccode); //等待直到不忙
212 1 P0MDOUT = 0xff; //P0口重新设为推挽输出
213 1 }
214
215 //*******************************************
216 //函数名称:void LCD_JHD19264A_Init(void)
217 //函数功能:LCD初始化
218 //形式参数:无
219 //行参说明:无
220 //返回参数:无
221 //使用说明:无
222 //*******************************************
223 void LCD_JHD19264A_Init(void)
224 {
225 1 uchar ucfdback;
226 1 LCD_JHD19264A_RST = 0; //复位LCD,低电平有效
227 1 LCD_JHD19264A_RST = 1; //拉高,停止复位
228 1
229 1 LCD_JHD19264A_RS = 0;
230 1 LCD_JHD19264A_RW = 1; //读状态
231 1 do
232 1 {
233 2 P0 = 0xff;
234 2 LCD_JHD19264A_E = 1;
235 2 ucfdback = P0;
236 2 LCD_JHD19264A_E = 0;
237 2 ucfdback &= 0x10; //取走第四位数据,复位状态位,数据有效
238 2 }
239 1 while(!ucfdback); //DB4=0表示复位正在进行,DB4=1表示复位结束
C51 COMPILER V7.20 LCD_19264_DRIVER 09/20/2008 06:44:13 PAGE 5
240 1
241 1 LCD_JHD19264A_CSB = 0;
242 1 LCD_JHD19264A_CSA = 0; //开片选00
243 1 LCD_JHD19264A_Busy();
244 1 LCD_JHD19264A_RS = 0;
245 1 LCD_JHD19264A_RW = 0; //送指令
246 1 LCD_JHD19264A_E = 1;
247 1 P0 = LCD_JHD19264A_DISPLAY_ON; //开显示
248 1 LCD_JHD19264A_E = 0; //指令有效
249 1
250 1 LCD_JHD19264A_CSB=1;
251 1 LCD_JHD19264A_CSA=0; //开片选01
252 1 LCD_JHD19264A_Busy();
253 1 LCD_JHD19264A_RS=0;
254 1 LCD_JHD19264A_RW=0; //送指令
255 1 LCD_JHD19264A_E=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -