📄 aaa.lst
字号:
C51 COMPILER V7.08 AAA 08/09/2005 03:56:00 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE AAA
OBJECT MODULE PLACED IN aaa.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE aaa.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 接法:
3 data_port.0,data_port.7 ---D0 - D7
4 P3.2---CD1,command; 0,data
5 P3.3---WR低电平有效
6 P3.4---RD低电平有效
7 */
8 #include <reg51.h>
9 #include <absacc.h>
10 #define uchar unsigned char
11 #define uint unsigned int
12 #define data_port P0
13 sbit lcdCD = P2^3;
14 sbit lcdWR = P2^0;
15 sbit lcdRD = P2^1;
16 sbit lcdCE=P2^2;
17 sbit light = P3^4;
18 void dely_100ms(void) interrupt 1 using 1
19 {
20 1 TH0 = (65536 - 50000)/256;
21 1 TL0 = (65536 - 50000)%256;
22 1 //light=~light;
23 1 }
24 uchar lcdRead(void)
25 {
26 1 uchar status;
27 1 EA = 0;
28 1 //data_port = 0xff;
29 1 lcdCD = 1;
30 1 //lcdWR = 1;
31 1 lcdRD = 0;
32 1 status = data_port;
33 1 lcdRD = 1;
34 1 EA = 1;
35 1 return status;
36 1 }
37 /*更改,
38 状态检查
39 写命令
40 写数据
41 */
42 uchar lcdStatus( uchar chan)
43 {
44 1 uchar data temp = 0;
45 1 do
46 1 {
47 2 if((lcdRead()&chan)==chan)
48 2 {
49 3 break;
50 3 }
51 2 temp++;
52 2 }
53 1 while(temp<10);
54 1 return 0;
55 1 }
C51 COMPILER V7.08 AAA 08/09/2005 03:56:00 PAGE 2
56 void lcd_1_write(bit CD, uchar writeIn)
57 {
58 1 lcdStatus(0x03);
59 1 EA=0;
60 1 lcdCD = CD;
61 1 // lcdRD = 1;
62 1 lcdWR = 0;
63 1 data_port = writeIn;
64 1 lcdWR = 1;
65 1 EA=1;
66 1 }
67 void lcd_2_write(uchar paraA, uchar paraB)
68 {
69 1 lcd_1_write(0,paraA);
70 1 lcd_1_write(1,paraB);
71 1 }
72 void lcd_3_write(uchar paraA, uchar paraB, uchar paraC)
73 {
74 1 lcd_1_write(0,paraA);
75 1 lcd_1_write(0,paraB);
76 1 lcd_1_write(1,paraC);
77 1 }
78 void lcdInit(void)
79 {
80 1 lcd_3_write(0x00, 0x00, 0x21);// 指针位置设置
81 1 lcd_3_write(0x00, 0x00, 0x40);// 文本显示区首地址
82 1 lcd_3_write(0x1e, 0x00, 0x41);// 文本显示区宽度
83 1 lcd_3_write(0x00, 0x00, 0x42);// 图形显示区首地址
84 1 lcd_3_write(0x1e, 0x00, 0x43);// 图形显示区宽度
85 1 lcd_1_write(1,0xa1);// 光标形状光标开头为8 点(列)×1 行
86 1 lcd_1_write(1,0x80);// 显示方式设置
87 1 lcd_1_write(1,0x98);// 显示开关设置启用图形方式,禁止文本,禁止光标
88 1 }
89 void lcdCLS()
90 {
91 1 uint data clsCount;
92 1 lcd_1_write(1,0xb0);// 设置自动写
93 1 lcd_3_write(0x00, 0x00, 0x24);// 地址指针设置
94 1 for(clsCount=0; clsCount<3840; clsCount++)
95 1 {
96 2 lcdStatus(0x08);// 先检查,再写
97 2 lcd_1_write(0,0x00);
98 2 }
99 1 lcd_1_write(1,0xb2);// 自动写结束
100 1 }
101 void showPic(void)
102 {
103 1 /*
104 1 uint data clsCount;
105 1 lcd_1_write(1,0xb0);// 设置自动写
106 1 lcd_3_write(0x00, 0x00, 0x24);// 地址指针设置
107 1 for(clsCount=0; clsCount<750; clsCount++)
108 1 {
109 1 lcdStatus(0x08);// 先检查,再写
110 1 lcd_1_write(0,hello[clsCount]);
111 1 }
112 1 lcd_1_write(1,0xb2);
113 1 */
114 1 uchar xdata in[32]=
115 1 {
116 1 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x71,0xF0,0x30,0xD8,
117 1 0x30,0xD8,0x30,0xD8,0x30,0xD8,0x79,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
C51 COMPILER V7.08 AAA 08/09/2005 03:56:00 PAGE 3
118 1 };
119 1 uint xdata i;
120 1 uchar addr_L,addr_H;
121 1 addr_H = 0x00;
122 1 addr_L = 0x00;
123 1 for(i=0; i<16; i++)
124 1 {
125 2 lcd_3_write(addr_L, addr_H, 0x24);
126 2 lcd_2_write(in[i*2],0xC0);// in[i*2]
127 2 lcd_2_write(in[i*2+1],0xC0);// in[i*2+1]
128 2 addr_L+=30;
129 2 if(addr_L<30)
130 2 {
131 3 addr_H++;
132 3 }
133 2
134 2 }
135 1 }
136 void main(void)
137 {
138 1 uchar data i=0;
139 1 light = 0;
140 1 TMOD = 0x61;
141 1 TH0 = (65536 - 50000)/256;
142 1 TL0 = (65536 - 50000)%256;
143 1 IP = 0x08;
144 1 EA = 1;
145 1 ET0 = 1;
146 1 TR0 = 1;// 在定时器中断里闪灯,有时不知道程序是否在运行
147 1 for(i=1000; i>0; i--)// 认为够长的延时,用的6M晶振。
148 1 {
149 2 ;
150 2 }
151 1 i=0;
152 1 while(i<5)
153 1 {
154 2 lcdInit();
155 2 i++;
156 2 }
157 1
158 1 lcdCLS();
159 1
160 1 //for(i=0; i<10; i++)
161 1 showPic();
162 1 //light=1;
163 1 showPic();
164 1 light=1;
165 1 for(;;)
166 1 {
167 2 showPic();
168 2 //light = !light;
169 2
170 2 }
171 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 389 ----
CONSTANT SIZE = 32 ----
XDATA SIZE = ---- 34
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
C51 COMPILER V7.08 AAA 08/09/2005 03:56:00 PAGE 4
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 + -