📄 lcd12864.lst
字号:
C51 COMPILER V7.02a LCD12864 12/03/2008 18:04:56 PAGE 1
C51 COMPILER V7.02a, COMPILATION OF MODULE LCD12864
OBJECT MODULE PLACED IN lcd12864.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE lcd12864.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2 #include <intrins.h>
3 //#include <at89x51.h>
4
5 sbit LCD_RS=P1^0;//定义引脚
6 sbit LCD_RW=P1^1;
7 sbit LCD_E=P1^2;
8 sbit PSB =P3^6; //PSB脚为12864-12系列的串、并通讯功能切换,我们使用8位并行接口,PSB=1
9 #define LCD_Data P2
10 #define Busy 0x80 //用于检测LCD状态字中的Busy标识
11
12
13
14 void WriteDataLCD(unsigned char WDLCD);
15 void WriteCommandLCD(unsigned char WCLCD,BuysC);
16 unsigned char ReadDataLCD(void);
17 unsigned char ReadStatusLCD(void);
18 void LCDInit(void);
19 void LCDClear(void);
20 void LCDFlash(void);
21 void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
22 void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
23 void DisplayImage (unsigned char code *DData);
24 void Delay5Ms(void);
25 void Delay400Ms(void);
26
27 code unsigned char uctech[] = {"5 1 单片机实验板"};
28 code unsigned char net[] = {" www.lydz8.com "};
29 code unsigned char mcu[] = {"自学单片机的首选"};
30 code unsigned char qq[] = {" QQ: 52927029 "};
31 code unsigned char tmp[]={//128*64点阵图形数据
32 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
33 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
34 0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
35 0x80,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
36 0x80,0x00,0x8F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
37 0x80,0x00,0xC7,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
38 0x80,0x01,0xEF,0xFF,0x80,0x02,0x08,0x00,0x88,0x02,0x00,0x00,0x00,0x00,0x00,0x01,
39 0x80,0x00,0xFF,0xFF,0x80,0x02,0x08,0x0C,0xC8,0x02,0x00,0x7F,0xE1,0xEF,0xC0,0x01,
40 0x80,0x00,0xFF,0xFF,0x80,0x02,0x08,0x04,0x08,0x3F,0xE0,0x01,0x81,0x29,0x40,0x01,
41 0x80,0x00,0xFF,0xFC,0x40,0x0F,0xFF,0x01,0xFE,0x22,0x20,0x03,0x01,0x29,0x40,0x01,
42 0x80,0x01,0xFF,0xFC,0x20,0x02,0x18,0x10,0x20,0x22,0x20,0x06,0x01,0x29,0x40,0x01,
43 0x80,0x01,0xFF,0xFC,0x00,0x06,0x18,0x18,0x20,0x3F,0xE0,0x06,0x01,0x29,0x40,0x01,
44 0x80,0x01,0xFF,0xF8,0x10,0x07,0x2C,0x01,0xFC,0x22,0x20,0xFF,0xF1,0x2F,0xC0,0x01,
45 0x80,0x01,0xFF,0xFC,0x30,0x0E,0xAE,0x00,0x20,0x22,0x20,0x06,0x01,0x28,0x40,0x01,
46 0x80,0x03,0xFF,0xFC,0x38,0x0A,0x6A,0x00,0x20,0x22,0x20,0x06,0x01,0xE8,0x00,0x01,
47 0x80,0x03,0xFF,0xFE,0x18,0x0A,0x49,0x0F,0xFE,0x3F,0xE0,0x06,0x01,0x28,0x00,0x01,
48 0x80,0x03,0xFF,0xFE,0x18,0x02,0x08,0x08,0x20,0x22,0x00,0x06,0x01,0x08,0x20,0x01,
49 0x80,0x07,0xFF,0xFF,0x17,0x02,0x08,0x18,0x20,0x02,0x08,0x06,0x00,0x08,0x20,0x01,
50 0x80,0x07,0xFF,0xBF,0x8F,0x82,0x08,0x10,0x20,0x03,0xF8,0x0C,0x00,0x07,0xE0,0x01,
51 0x80,0x0F,0xFE,0x03,0xF7,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
52 0x80,0x0F,0xFC,0x00,0x8A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
53 0x80,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
54 0x80,0x07,0xF8,0x00,0x08,0x00,0x00,0x00,0x0C,0x01,0x80,0xE0,0x00,0x00,0x00,0x01,
55 0x80,0x01,0xF8,0x00,0x20,0x00,0x00,0x00,0x04,0x00,0x81,0x20,0x00,0x00,0x00,0x01,
C51 COMPILER V7.02a LCD12864 12/03/2008 18:04:56 PAGE 2
56 0x80,0x00,0xF8,0x00,0x20,0x00,0x00,0x00,0x04,0x00,0x81,0x20,0x00,0x00,0x00,0x01,
57 0x80,0x01,0xF8,0x04,0x80,0x01,0xFF,0xFC,0x04,0xFB,0xBC,0xC0,0x39,0x9F,0x00,0x01,
58 0x80,0x00,0x5C,0x01,0x00,0x01,0x6B,0x58,0x04,0x54,0x89,0x20,0x42,0x55,0x00,0x01,
59 0x80,0x00,0x0E,0x05,0x00,0x00,0xA5,0x28,0x04,0x24,0x91,0x20,0x42,0x55,0x00,0x01,
60 0x80,0x00,0x07,0xE8,0x00,0x00,0xA5,0x29,0x0E,0x43,0xFC,0xC4,0x39,0x95,0x00,0x01,
61 0x80,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x01,
62 0x80,0x00,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
63 0x80,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
64 0x80,0x00,0xFE,0xE8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x01,
65 0x80,0x00,0xFB,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x01,
66 0x80,0x00,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x01,
67 0x80,0x00,0xF7,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x01,
68 0x80,0x00,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x01,
69 0x80,0x01,0xF7,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x01,
70 0x80,0x00,0xFF,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xE0,0x00,0x01,
71 0x80,0x01,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x60,0x00,0x01,
72 0x80,0x01,0xFF,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x20,0x38,0x01,
73 0x80,0x01,0xF7,0xB7,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x30,0xFE,0x01,
74 0x80,0x03,0xFB,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x21,0xFF,0x01,
75 0x80,0x01,0xFD,0xFF,0xC0,0x00,0x40,0x00,0x00,0x13,0x00,0x00,0x03,0x61,0xFF,0x81,
76 0x80,0x03,0xFF,0xFA,0xE0,0x00,0x40,0x27,0xF8,0x22,0x00,0x00,0x01,0x83,0xFF,0x81,
77 0x80,0x07,0xFF,0x7F,0xC0,0x3E,0xFE,0x36,0x48,0x67,0xF0,0x20,0x01,0xC1,0xFF,0x81,
78 0x80,0x07,0xFB,0xDC,0xC0,0x02,0x86,0x06,0x48,0x6C,0x90,0x20,0x01,0x63,0xFF,0x81,
79 0x80,0x03,0x7E,0xFF,0xC0,0x12,0x84,0x06,0x48,0xA0,0x80,0x20,0x03,0x3B,0xFF,0x81,
80 0x80,0x0F,0xDF,0xFE,0x00,0x15,0xA0,0x76,0x48,0x24,0xB0,0x20,0x0E,0x1F,0xFF,0x81,
81 0x80,0x02,0xB7,0xFE,0x00,0x0C,0x20,0x16,0x48,0x2C,0x98,0x20,0x1F,0x07,0xFF,0xCF,
82 0x80,0x03,0xFF,0xBE,0x00,0x0C,0x20,0x16,0x48,0x21,0x80,0x20,0x3F,0x07,0xFF,0x87,
83 0x80,0x0F,0xBF,0xBE,0x00,0x0E,0x30,0x17,0x58,0x02,0x00,0x20,0x3F,0x1F,0xFF,0xC7,
84 0x80,0x3F,0xDF,0xFE,0x00,0x1A,0x70,0x16,0x50,0x2B,0x20,0x20,0x7E,0x1F,0xFF,0xC7,
85 0x81,0xFF,0xFF,0xBF,0x80,0x12,0x48,0x10,0x40,0x49,0x10,0x30,0x1E,0x1F,0xFF,0xC7,
86 0x9F,0xFF,0x3F,0xFF,0xE0,0x30,0x84,0x38,0x00,0x48,0x58,0x00,0x1C,0x1F,0xFF,0xFD,
87 0xDF,0xFF,0x7F,0xBF,0xF0,0x03,0x02,0x47,0xFC,0x4F,0xC0,0x00,0x3C,0x0F,0xFF,0xF5,
88 0xFF,0xFC,0xFF,0xF7,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x0F,0xFF,0x81,
89 0xFF,0xF8,0x7F,0xFB,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x07,0xFE,0x01,
90 0xBF,0xE8,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x03,0xF8,0x01,
91 0x9F,0xA0,0xFF,0xFB,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x01,0x60,0x01,
92 0x80,0x81,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
93 0x80,0x00,0xFF,0xFD,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
94 0x80,0x00,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
95 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
96
97 void main(void)
98 {
99 1 Delay400Ms(); //启动等待,等LCD讲入工作状态
100 1 LCDInit(); //LCM初始化
101 1 Delay5Ms(); //延时片刻(可不要)
102 1 while(1){
103 2 LCDClear();
104 2 DisplayImage(tmp);//显示图形
105 2 Delay400Ms();
106 2 Delay400Ms();
107 2 Delay400Ms();
108 2 Delay400Ms();
109 2 Delay400Ms();
110 2 LCDClear();
111 2 DisplayListChar(0,1,uctech); //显示字库中的中文数字
112 2 DisplayListChar(0,2,net); //显示字库中的中文数字
113 2 DisplayListChar(0,3,mcu); //显示字库中的中文
114 2 DisplayListChar(0,4,qq); //显示字库中的中文数字
115 2 Delay400Ms();
116 2 Delay400Ms();
117 2 Delay400Ms();
C51 COMPILER V7.02a LCD12864 12/03/2008 18:04:56 PAGE 3
118 2 Delay400Ms();
119 2 LCDFlash(); //闪烁效果
120 2 //}
121 2 }
122 1 }
123
124 //写数据
125 void WriteDataLCD(unsigned char WDLCD)
126 {
127 1 ReadStatusLCD(); //检测忙
128 1 LCD_RS = 1;
129 1 LCD_RW = 0;
130 1 LCD_Data = WDLCD;
131 1 LCD_E = 1;
132 1 LCD_E = 1;
133 1 LCD_E = 1;
134 1 LCD_E = 0;
135 1 }
136
137 //写指令
138 void WriteCommandLCD(unsigned char WCLCD,BuysC) //BuysC为0时忽略忙检测
139 {
140 1 if (BuysC) ReadStatusLCD(); //根据需要检测忙
141 1 LCD_RS = 0;
142 1 LCD_RW = 0;
143 1 LCD_Data = WCLCD;
144 1 LCD_E = 1;
145 1 LCD_E = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -