📄 ra8803.lst
字号:
C51 COMPILER V7.09 RA8803 03/11/2008 10:09:11 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE RA8803
OBJECT MODULE PLACED IN RA8803.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RA8803.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include <reg52.h>
3 #include <intrins.h>
4 #include <absacc.h>
5
6
7 typedef unsigned char uchar;
8 typedef unsigned int uint;
9
10
11 sbit RST=P1^3;
12 sbit CS=P1^4;
13 sbit GO=P3^3;
14 sbit busy=P3^4;
15 /************************************************************************************/
16 unsigned char code TAB[];
17
18 void Delayms(uint s)
19 {
20 1 uint a,b;
21 1 for(a=0;a<s;a++)
22 1 for(b=225;b!=0;b--);
23 1 }
24
25 void Wait()
26 {
27 1 while(1)
28 1 {
29 2 if(GO==0)
30 2 {
31 3 Delayms(150);
32 3 while(~GO);
33 3 return;
34 3 }
35 2 }
36 1 }
37 //-------------------------------------------------------------------------------
38 void WriteCommand(uchar add,uchar cmd)
39 {
40 1 CS=0;
41 1 XBYTE[0xf000]=add;
42 1 CS=1;
43 1 Delayms(3);
44 1 CS=0;
45 1 XBYTE[0xf000]=cmd;
46 1 CS=1;
47 1 Delayms(3);
48 1 }
49
50 //-------------------------------------------------------------------------------
51 void WriteData(uchar d)
52 {
53 1 CS=0;
54 1 while(busy);
55 1 XBYTE[0xf200]=d;
C51 COMPILER V7.09 RA8803 03/11/2008 10:09:11 PAGE 2
56 1 CS=1;
57 1 }
58
59
60 void LCMInitial()
61 {
62 1 CS=0;
63 1 RST=1;
64 1 Delayms(10);
65 1 RST=0;
66 1 Delayms(100);
67 1 RST=1;
68 1 CS=1;
69 1 Delayms(80);
70 1 WriteCommand(0x01,0xF1);//system clock
71 1 WriteCommand(0x02,0x02);//advance power setup register
72 1 WriteCommand(0x03,0x80);//advance display setup register
73 1 WriteCommand(0x10,0x28);//cursor control register
74 1 WriteCommand(0x11,0xf0);//distance of word or lines register
75 1 WriteCommand(0x12,0x91);//memory access mode register
76 1
77 1 WriteCommand(0x21,0X27);//display window right register
78 1 WriteCommand(0x31,0Xef);//display window bottom register
79 1 WriteCommand(0x41,0x00);//display window left register
80 1 WriteCommand(0x51,0x00);//display window top register
81 1
82 1 WriteCommand(0x20,0X27);//active window right register
83 1 WriteCommand(0x30,0XEF);//active window bottom register
84 1 WriteCommand(0x40,0x00);//active window left register
85 1 WriteCommand(0x50,0x00);//active window top register
86 1
87 1 WriteCommand(0x61,0x00);//shift action rang begin segment register
88 1 WriteCommand(0x71,0x00);//shift action rang begin comon register
89 1 WriteCommand(0x72,0x3f);//shift action rang end comon register
90 1 WriteCommand(0x80,0x00);//blink time register
91 1 WriteCommand(0x90,0x06);//shift clock control register
92 1
93 1 WriteCommand(0x81,0x0c);//frame rate polarity change at common_a register
94 1 WriteCommand(0xc0,0x00);//touch panel conrol register
95 1 WriteCommand(0xa0,0x0B);
96 1 WriteCommand(0xa1,0x00);//key scan control register
97 1
98 1 WriteCommand(0xf0,0xa0);//font control register
99 1 WriteCommand(0xd0,0x07);
100 1
101 1 WriteCommand(0x00,0xc5);//display modle
102 1 WriteCommand(0x60,0x00);//cursor position x register
103 1 WriteCommand(0x70,0x00);//cursor position y register
104 1
105 1 }
106
107 Display_v(uchar d)
108 {
109 1 uchar v,h;
110 1 WriteCommand(0x00,0xc5);//display modle
111 1 WriteCommand(0x60,0x00);//cursor position x register
112 1 WriteCommand(0x70,0x00);//cursor position y register
113 1 for(h=0;h<240;h++)
114 1 for(v=0;v<40;v++)
115 1 WriteData(d);
116 1 Wait();
117 1 }
C51 COMPILER V7.09 RA8803 03/11/2008 10:09:11 PAGE 3
118
119 Display_h(uchar d1,uchar d2)
120 {
121 1 uchar v,h;
122 1 WriteCommand(0x00,0xc5);//display modle
123 1 WriteCommand(0x60,0x00);//cursor position x register
124 1 WriteCommand(0x70,0x00);//cursor position y register
125 1 for(h=0;h<240;h++)
126 1 for(v=0;v<40;v++)
127 1 h%2==0?WriteData(d1):WriteData(d2);
128 1 Wait();
129 1 }
130
131 Display_bmp(uchar *ptr)
132 {
133 1 uchar v,h;
134 1 WriteCommand(0x00,0xc5);//display modle
135 1 WriteCommand(0x60,0x00);//cursor position x register
136 1 WriteCommand(0x70,0x00);//cursor position y register
137 1 for(h=0;h<40;h++)
138 1 for(v=0;v<240;v++)
139 1 WriteData(*ptr++);
140 1 Wait();
141 1 }
142
143 void main()
144 {
145 1 LCMInitial();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -