📄 ra8835.lst
字号:
C51 COMPILER V7.06 RA8835 12/11/2008 19:27:22 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE RA8835
OBJECT MODULE PLACED IN ra8835.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE ra8835.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <hnk51.h>
2 #include <lcd_command.h>
3 #include <testchip.h>
4
5 void delay1ms(unsigned int count)
6 {
7 1 int i,j;
8 1 for(i=0;i<=count;i++)
9 1 for(j=0;j<=583;j++);
10 1 }
11
12 void lcd_reset(void)
13 {
14 1
15 1 lcd_RES = 1;
16 1 delay1ms(2);
17 1 // lcd_SEL1 = 0;
18 1 lcd_A0 = 0;
19 1 lcd_WR = 1;
20 1 lcd_RD = 1;
21 1 lcd_CS = 1;
22 1 lcd_RES = 0;
23 1 delay1ms(100);
24 1 lcd_RES = 1;
25 1 delay1ms(500);
26 1
27 1 }
28
29 void lcd_initial(void)
30 {
31 1 lcd_cmdwrite(0x40); //SYSTEM SET
32 1 lcd_datawrite(0x30); //p1
33 1 lcd_datawrite(0x87); //p2
34 1 lcd_datawrite(0x07); //p3
35 1 lcd_datawrite(0x27); //p4
36 1 lcd_datawrite(0x37); //p5
37 1 lcd_datawrite(0xef); //p6
38 1 lcd_datawrite(0x28); //p7
39 1 lcd_datawrite(0x00); //p8
40 1
41 1
42 1 lcd_cmdwrite(0x44); //SCROLL
43 1 lcd_datawrite(0x00); //sa1-L
44 1 lcd_datawrite(0x00); //sa1-H
45 1 lcd_datawrite(0xf0); //sL1
46 1 lcd_datawrite(0x80); //sa2-L
47 1 lcd_datawrite(0x25); //sa2-H
48 1 lcd_datawrite(0xf0); //sL2
49 1 lcd_datawrite(0x00); //sa3-L
50 1 lcd_datawrite(0x3a); //sa3-H
51 1 lcd_datawrite(0x00); //sa4-L
52 1 lcd_datawrite(0x3a); //sa4-H
53 1
54 1 lcd_cmdwrite(0x5a); //HDOT SCR
55 1 lcd_datawrite(0x00);
C51 COMPILER V7.06 RA8835 12/11/2008 19:27:22 PAGE 2
56 1
57 1 lcd_cmdwrite(0x58); //DISP OFF
58 1 lcd_datawrite(0x54);
59 1
60 1 lcd_cmdwrite(0x5d); //CSR FORM
61 1 lcd_datawrite(0x00); //CRX
62 1 lcd_datawrite(0x00); //CRY
63 1
64 1 lcd_cmdwrite(0x59); //DISP ON
65 1 lcd_datawrite(0x54);
66 1
67 1 lcd_cmdwrite(0x5b);
68 1 lcd_datawrite(0x00);
69 1 }
70
71 void lcd_cmdwrite(unsigned char cmdx)
72 {
73 1 // lcd_SEL1 = 0;
74 1 lcd_CMD = cmdx;
75 1 lcd_A0 = 1;
76 1 lcd_CS = 0;
77 1 lcd_WR = 0;
78 1 lcd_WR = 1;
79 1 lcd_CS = 1;
80 1 // lcd_A0 = 0;
81 1 }
82
83 void lcd_datawrite(unsigned char datax)
84 {
85 1 lcd_chkbusy();
86 1
87 1 // lcd_SEL1 = 0;
88 1 lcd_A0 = 0;
89 1 lcd_DATA = datax;
90 1 lcd_CS = 0;
91 1 lcd_WR = 0;
92 1 lcd_WR = 1;
93 1 lcd_CS = 1;
94 1 lcd_A0 = 1;
95 1 }
96
97 unsigned char lcd_cmdread(void)
98 {
99 1 unsigned char address_cmd;
100 1 lcd_DATA=0xff;
101 1 // lcd_SEL1 = 0;
102 1 lcd_A0 = 0;
103 1 lcd_CS = 0;
104 1 lcd_RD = 0;
105 1 address_cmd = lcd_DATA;
106 1 lcd_RD = 1;
107 1 lcd_CS = 1;
108 1 lcd_A0 = 0;
109 1 return(address_cmd);
110 1 }
111
112
113 void lcd_cursorxy(unsigned char x,unsigned char y)
114 {
115 1 //lcd_chkbusy();
116 1 lcd_cmdwrite(0x46);
117 1 lcd_datawrite(x);
C51 COMPILER V7.06 RA8835 12/11/2008 19:27:22 PAGE 3
118 1 lcd_datawrite(y);
119 1 }
120
121 void lcd_chkbusy(void)
122 {
123 1 unsigned char busy;
124 1
125 1 do
126 1 {
127 2 busy =(lcd_cmdread() & 0x40);
128 2
129 2 }while(busy);
130 1
131 1 }
132
133 void lcd_showbig(unsigned char *text,unsigned int x)
134 {
135 1 while(*text != '\0')
136 1 {
137 2 lcd_datawrite(*text);
138 2 ++text;
139 2
140 2 delay1ms(x);
141 2 }
142 1 }
143
144 void lcd_clear(void)
145 {
146 1 unsigned int i;
147 1 lcd_cursorxy(0x00,0x00);
148 1 lcd_cmdwrite(0x42);
149 1 for(i=0;i<0x7fff;i++)
150 1 lcd_datawrite(0x00);
151 1 }
152
153
154
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 385 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -