📄 lcd.lst
字号:
C51 COMPILER V7.01 LCD 11/27/2002 09:50:51 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "reg66x.h"
2 #include "absacc.h"
3
4 #define uchar unsigned char
5
6 uchar j=0;
7 uchar flash;
8 bit addbit=1;
9
10 uchar code zhou[]={
11 /*-- 文字: 周 --*/
12 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
13 0x00,0x10,0x18,0x0F,0x01,0x05,0x1D,0x15,0x15,0x1D,0x1D,0x01,0x3F,0x38,0x00,0x00,
14 0x00,0x00,0x00,0xE0,0xE0,0x60,0x60,0xF0,0xF0,0x60,0x60,0x60,0xF0,0x20,0x00,0x00,
15
16 /*-- 文字: 立 --*/
17 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
18 0x00,0x18,0x18,0x18,0x08,0x0F,0x08,0x08,0x08,0x1F,0x19,0x18,0x18,0x38,0x18,0x08,
19 0x00,0x00,0x40,0x40,0x40,0xC0,0x40,0x70,0x70,0xC0,0xC0,0x40,0x40,0x40,0x00,0x00,
20
21 /*-- 文字: 功 --*/
22 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
23 0x04,0x04,0x06,0x06,0x33,0x12,0x1A,0x0E,0x16,0x13,0x11,0x18,0x1C,0x07,0x01,0x00,
24 0x00,0x40,0x40,0x40,0xC0,0x40,0x40,0x40,0x40,0x40,0xF0,0x70,0x80,0x80,0x80,0x00,
25 };
26 uchar code li[]=
27 {
28 /*-- 文字: 单 --*/
29 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
30 0x00,0x0C,0x0C,0x04,0x07,0x06,0x06,0x1F,0x3F,0x06,0x06,0x06,0x0D,0x0C,0x0C,0x00,
31 0x00,0x00,0x00,0x40,0xC0,0xD0,0xB0,0xC0,0xC0,0xB0,0xD0,0xC0,0xE0,0x00,0x00,0x00,
32
33 /*-- 文字: 片 --*/
34 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
35 0x00,0x18,0x08,0x0C,0x07,0x01,0x01,0x01,0x3F,0x3F,0x01,0x01,0x03,0x03,0x03,0x01,
36 0x00,0x00,0x00,0x00,0xF0,0xC0,0x40,0x40,0x70,0x60,0x40,0x40,0x40,0x00,0x00,0x00,
37
38 /*-- 文字: 机 --*/
39 /*-- 隶书12; 此字体下对应的点阵为:宽x高=16x16 --*/
40 0x00,0x04,0x06,0x03,0x3F,0x03,0x12,0x1C,0x0F,0x00,0x00,0x0F,0x18,0x18,0x18,0x08,
41 0x00,0x00,0x40,0x40,0xF0,0x40,0x40,0x00,0xE0,0x20,0x20,0xE0,0x20,0x00,0x00,0x00,
42 };
43
44 void delay(uchar k) //延时
45 {
46 1 uchar i,j;
47 1 for(i=0;i<k;i++)
48 1 for(j=0;j<250;j++);
49 1 }
50
51 void c_send(uchar a) //输入指令
52 {
53 1 XBYTE[0xFC01]=0; //RS输出0
54 1 XBYTE[0xFC03]=a; //指令
55 1 delay(5);
C51 COMPILER V7.01 LCD 11/27/2002 09:50:51 PAGE 2
56 1 }
57 void d_send(uchar a) //输入数据
58 {
59 1 XBYTE[0xFC01]=1; //RS输出1
60 1 XBYTE[0xFC03]=a; //数据
61 1 delay(5);
62 1 }
63 main()
64 {
65 1 uchar i;
66 1 delay(200);
67 1 delay(200);
68 1 delay(200);
69 1 //黑屏
70 1 XBYTE[0XFC00]=1; //片选选择左半屏
71 1 c_send(0X3F);
72 1 c_send(0xc0);
73 1 c_send(0xb8);
74 1 for(j=0;j<8;j++)
75 1 {
76 2 c_send(0xb8+j);
77 2 for(i=0;i<64;i++)
78 2 d_send(0xff);
79 2 }
80 1 XBYTE[0XFC00]=2; //片选选择右半屏
81 1 c_send(0X3F);
82 1 c_send(0xc0);
83 1 c_send(0xb8);
84 1 for(j=0;j<8;j++)
85 1 {
86 2 c_send(0xb8+j);
87 2 for(i=0;i<64;i++)
88 2 d_send(0xff);
89 2 }
90 1 //显示输出
91 1 XBYTE[0XFC00]=1; //输出显示周立功
92 1 c_send(0X3F);
93 1 c_send(0xc0);//
94 1 c_send(0x50);
95 1 c_send(0xb9);
96 1 flash=0x50;
97 1 for(i=0;i<96;i++)
98 1 {
99 2 if(i%16==0)
100 2 {
101 3 if(addbit)
102 3 {
103 4 // flash[1]=0xc0+(i/2);
104 4 flash=0x50+(i/2);
105 4 c_send(0xc0);
106 4 c_send(flash);
107 4 }
108 3 else
109 3 {
110 4 c_send(0xc0);
111 4 c_send(flash);
112 4 }
113 3 c_send(0xb8+(uchar)addbit);
114 3 addbit=~addbit;
115 3 }
116 2 d_send(zhou[i]);
117 2 }
C51 COMPILER V7.01 LCD 11/27/2002 09:50:51 PAGE 3
118 1 XBYTE[0XFC00]=2; //输出显示单片机
119 1 c_send(0X3F);
120 1 c_send(0xc0);
121 1 c_send(0x40);
122 1 c_send(0xb9);
123 1 flash=0x40;
124 1 for(i=0;i<96;i++)
125 1 {
126 2 if(i%16==0)
127 2 {
128 3 if(addbit)
129 3 {
130 4 // flash[1]=0xc0+(i/2);
131 4 flash=0x40+(i/2);
132 4 c_send(0xc0);
133 4 c_send(flash);
134 4 }
135 3 else
136 3 {
137 4 c_send(0xc0);
138 4 c_send(flash);
139 4 }
140 3 c_send(0xb8+(uchar)addbit);
141 3 addbit=~addbit;
142 3 }
143 2 d_send(li[i]);
144 2 }
145 1 while(1);
146 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 299 ----
CONSTANT SIZE = 192 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -