📄 lcd.lst
字号:
C51 COMPILER V7.20 LCD 09/18/2008 18:08:21 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE lcd.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"include.h"
2
3 //--------------------------------------------------------
4 //数字字模
5 //每个数字8X16 x+8 page+2 y+16
6 //--------------------------------------------------------
7 uchar code num0[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00};
8 uchar code num1[]={0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00};
9 uchar code num2[]={0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00};
10 uchar code num3[]={0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00};
11 uchar code num4[]={0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00};
12 uchar code num5[]={0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00};
13 uchar code num6[]={0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00};
14 uchar code num7[]={0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00};
15 uchar code num8[]={0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00};
16 uchar code num9[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00};
17 uchar code dot[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00};
18 uchar code hc[]={0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x08,0x38,0xFF,0x38,0x08,0x00};
19
20
21 uchar * code albnum[]={num0,num1,num2,num3,num4,num5,num6,num7,num8,num9,dot,hc};
22
23
24 //汉字
25 uchar code ssd[]={0x00,0x0E,0x0A,0x0E,0xE0,0x10,0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x38,0x00,0x00,
26 0x00,0x00,0x00,0x00,0x03,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x08,0x04,0x00,0x00};
27 uchar code dan1[]={0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,
28 0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00};//单
29 uchar code jia4[]={0x40,0x20,0xF0,0x1C,0x47,0x22,0x10,0xC8,0x04,0x03,0x04,0xD8,0x30,0x60,0x20,0x00,
30 0x00,0x00,0xFF,0x00,0x80,0x60,0x18,0x07,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00};//价
31 uchar code zhong4[]={0x08,0x08,0x0A,0xEA,0xAA,0xAA,0xAA,0xFF,0xA9,0xA9,0xA9,0xE9,0x08,0x08,0x08,0x00,
32 0x40,0x40,0x48,0x4B,0x4A,0x4A,0x4A,0x7F,0x4A,0x4A,0x4A,0x4B,0x48,0x40,0x40,0x00};//重
33 uchar code liang4[]={0x40,0x40,0x40,0xDF,0x55,0x55,0x55,0xD5,0x55,0x55,0x55,0xDF,0x40,0x40,0x40,0x00,
34 0x40,0x40,0x40,0x57,0x55,0x55,0x55,0x7F,0x55,0x55,0x55,0x57,0x50,0x40,0x40,0x00};//量
35 uchar code zong3[]={0x00,0x00,0x00,0xF8,0x89,0x8E,0x88,0x88,0x88,0x8C,0x8B,0xF8,0x00,0x00,0x00,0x00,
36 0x00,0x20,0x38,0x00,0x3C,0x40,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x18,0x30,0x00};//总
37 uchar code ge2[]={0x08,0x88,0x68,0xFF,0x48,0xA8,0x10,0x0C,0x97,0xA4,0x44,0xB4,0x8C,0x00,0x00,0x00,
38 0x02,0x01,0x00,0xFF,0x00,0x01,0x01,0xFF,0x42,0x42,0x42,0x42,0xFE,0x01,0x01,0x00};//格
39 uchar code nian2[]={0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,
40 0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00};//年
41 uchar code yue4[]={0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00,
42 0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00};//月
43 uchar code ri4[]={0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,
44 0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00};//日
45 uchar code dian4[]={0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x05,0xFE,0x44,0x44,0x44,0x44,0x44,0x04,0x00,
46 0x40,0x30,0x0F,0x00,0x00,0x7E,0x22,0x22,0x23,0x22,0x22,0x22,0x7E,0x00,0x00,0x00};//店
47 uchar code yuan2[]={0x00,0x00,0x00,0xE0,0x2F,0x29,0x29,0xA9,0x29,0x29,0x29,0x2F,0xE0,0x00,0x00,0x00,
48 0x00,0x00,0x80,0x8F,0x40,0x20,0x18,0x07,0x08,0x10,0x20,0xE0,0x4F,0x00,0x00,0x00};//员
49 uchar code pin3[]={0x00,0x00,0x00,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,0x00,
50 0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00};//品
51 uchar code ming2[]={0x00,0x40,0x20,0x10,0x08,0x27,0x44,0x84,0x44,0x24,0x14,0x0C,0x04,0x00,0x00,0x00,
52 0x04,0x04,0x04,0x02,0x7E,0x23,0x23,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00};//名
53 uchar code shi2[]={0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
54 0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00};//时
55 uchar code fen1[]={0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,
C51 COMPILER V7.20 LCD 09/18/2008 18:08:21 PAGE 2
56 0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00};//分
57 uchar code miao3[]={0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,0x00,
58 0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00};//秒
59
60 uchar code jin1[]={0x40,0x40,0x20,0x20,0x50,0x48,0x44,0xC3,0x44,0x48,0x50,0x50,0x20,0x60,0x20,0x00,
61 0x40,0x40,0x42,0x42,0x4A,0x72,0x42,0x7F,0x42,0x62,0x5A,0x42,0x42,0x40,0x40,0x00};//金
62 uchar code e2[]={0x00,0x4C,0x24,0x5D,0x96,0xD4,0x34,0x0C,0xF6,0x12,0x1A,0x96,0x12,0x12,0xF2,0x00,
63 0x04,0x04,0x7E,0x23,0x22,0x22,0x3F,0x40,0x4F,0x20,0x18,0x07,0x08,0x10,0x6F,0x00};//额
64
65
66 uchar code shi4[]={0x80,0x80,0x80,0x80,0xBE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBE,0x80,0x80,0x80,0x00,
67 0x00,0x40,0x20,0x10,0x0E,0x10,0x20,0x3F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00};//
68 uchar code fou3[]={0x00,0x82,0x82,0x42,0x62,0x22,0x12,0xFA,0x0E,0x02,0x12,0x22,0x62,0xC2,0x00,0x00,
69 0x00,0x00,0x00,0x7E,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,0x00};//
70 uchar code da3[]={0x10,0x10,0x10,0xFF,0x90,0x50,0x14,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,
71 0x02,0x42,0x81,0x7F,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00};//
72 uchar code yin4[]={0x00,0xFC,0x44,0x44,0x42,0x42,0x42,0x00,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,
73 0x08,0x1F,0x08,0x04,0x04,0x02,0x00,0x00,0xFF,0x00,0x00,0x04,0x08,0x07,0x00,0x00};//
74 uchar code qing1[]={0x10,0x61,0x06,0xE0,0x18,0x20,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xAA,0x2A,0x00,0x00,
75 0x04,0x04,0xFF,0x00,0x00,0x00,0xFF,0x0A,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00};//
76 uchar code wenhao[]={0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
77 0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//
78
79 uchar code qianke[]={0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,
80 0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00};//Kg
81 uchar code yuan22[]={0x00,0x20,0x20,0x22,0x22,0xE2,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x20,0x20,0x00,
82 0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x70,0x00};//元
83
84
85
86 //----------------------------------------------------
87 //液晶初始化
88 //----------------------------------------------------
89 void lcd_init()
90 {
91 1 LCD_RES=1;
92 1 delay(20000);
93 1 lcd_send_cmd(0xE2); //复位
94 1 lcd_send_cmd(0xA2); //d0:Set LCD drive voltage bias ratio 0=1/9bias 1=1/7bias
95 1 lcd_send_cmd(0xC8); //d3:select COM output direction 0=normal 1=reverse
96 1 lcd_send_cmd(0xA0); //d0:select SEG output direction 0=normal 1=reverse
97 1 lcd_send_cmd(0xA6); //d0:0=display normal 1=reverse
98 1 lcd_send_cmd(0xF8); //select booster ratio
99 1 lcd_send_cmd(0x00); //select booster ratio d0&d1:00=4x
100 1 lcd_send_cmd(0x2C); //d2:1=select internal power supply operating mode
101 1 lcd_send_cmd(0x2E);
102 1 lcd_send_cmd(0x2F);
103 1 lcd_send_cmd(0x81); //select the VO output voltage electronic volume register
104 1 lcd_send_cmd(0x14); //select the VO output voltage electronic volume register
105 1 lcd_send_cmd(0x0E); //select the VO output voltage electronic volume register
106 1 lcd_send_cmd(0xAF); //d0:LCD display ON=1/OFF=0
107 1 lcd_send_cmd(0xE0);
108 1 lcd_send_cmd(0x40); //Set the display RAM start line address
109 1 }
110
111 //----------------------------------------------------
112 //发送页地址
113 //----------------------------------------------------
114 void lcd_set_page(uchar dat)
115 {
116 1 lcd_send_cmd(0xb0|dat);
117 1 }
C51 COMPILER V7.20 LCD 09/18/2008 18:08:21 PAGE 3
118
119 //----------------------------------------------------
120 //发送列地址
121 //----------------------------------------------------
122 void lcd_set_colume(uchar dat)
123 {
124 1 uchar tmp;
125 1 tmp=dat>>4;
126 1 lcd_send_cmd(0x10|tmp); //送列地址高四位
127 1 tmp=0x0f&dat;
128 1 lcd_send_cmd(tmp); //送列地址低四位
129 1 }
130
131
132 //----------------------------------------------------
133 //清屏
134 //----------------------------------------------------
135 void lcd_clr()
136 {
137 1 uchar i,j;
138 1 for(i=0;i<8;i++)
139 1 {
140 2 lcd_set_page(i);
141 2 lcd_set_colume(0);
142 2 for(j=0;j<128;j++)
143 2 lcd_send_data(0x00);
144 2 }
145 1 }
146 //----------------------------------------------------
147 //清屏2页的第m列到第n-1列
148 //----------------------------------------------------
149 void lcd_clr_page(uchar page,uchar m,uchar n)
150 {
151 1 uchar i;
152 1 lcd_set_page(page);
153 1 for(i=m;i<n;i++)
154 1 {
155 2 lcd_set_colume(i);
156 2 lcd_send_data(0x00);
157 2 }
158 1 lcd_set_page(page+1);
159 1 for(i=m;i<n;i++)
160 1 {
161 2 lcd_set_colume(i);
162 2 lcd_send_data(0x00);
163 2 }
164 1 }
165 //----------------------------------------------------
166 //发送命令
167 //----------------------------------------------------
168 void lcd_send_cmd(uchar dat)
169 {
170 1 uchar i;
171 1 LCD_CS=0; //片选选通
172 1 LCD_A0=0; //选择发送命令
173 1 LCD_SCK=1;
174 1 for(i=0;i<8;i++)
175 1 {
176 2 dat<<=1; //将要发送位送人CY寄存器
177 2 LCD_DA=CY; //发送CY中字节
178 2 LCD_SCK=0;
179 2 delay(10);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -