📄 alcda.lst
字号:
C51 COMPILER V7.05 ALCDA 02/14/2006 08:47:54 PAGE 1
C51 COMPILER V7.05, COMPILATION OF MODULE ALCDA
OBJECT MODULE PLACED IN ALCDA.OBJ
COMPILER INVOKED BY: C:\SiLabs\MCU\IDEfiles\C51\BIN\C51.exe ALCDA.c DB OE
stmt level source
1 /*参考程序B.LCDA.c程序功能;在该液晶模块上显示二行字符:
2 Welcom To NCD
3 www.xhl.com.cn*/
4 #include <c8051f020.h>
5 unsigned long x; //www.xhl.com.cn
6 unsigned char xdata Netdata[15]={0x77,0x77,0x77,0x2e,0x78,0x68,0x6c,0x2e,0x63,0x6f,//|
7 0x6d,0x2e,0x63,0x6e};// |
8 unsigned char xdata NCDdata[15]={0x57,0x65,0x6c,0x63,0x6f,0x6d,0x65,0x20,0x74,0x6f,//|
9 0x20,0x4e,0x43,0x44};// |
10 unsigned char *lcdpoint; //指向 lcddata数组的指针
11 unsigned char lcd_data_count; //要显示的数据个数
12 void SYSCLK_Init (void);
13 void PORT_Init (void);
14 void LCD_Init(void);
15 void SEND_LCD(unsigned char lcd_data_count);
16 void main (void)
17 {
18 1 static unsigned char data1,data2;
19 1 WDTCN = 0xde;
20 1 WDTCN = 0xad; //禁止看门狗定时器
21 1 SYSCLK_Init (); // 系统时钟初始化
22 1
23 1 PORT_Init (); // 交叉开关和通用I/O口初始化
24 1 while(1){
25 2 LCD_Init(); //LCD初始化
26 2 //P6 = 0x0d; //准备送数据
27 2 for(x=0;x<5000;x++);
28 2 lcdpoint=&NCDdata;
29 2 for(lcd_data_count=14;lcd_data_count>0;lcd_data_count--) //显示第一行字符
30 2 {
31 3 data1=*lcdpoint;
32 3 P7 = data1; //向LCD送数据
33 3 P6 = 0x05;
34 3 P6 = 0x04;
35 3 lcdpoint++;
36 3 for(x=0;x<100;x++);
37 3 }
38 2 P7 = 0xc0;
39 2 P6 = 0x1;
40 2 P6 = 0x0;
41 2 for(x=0;x<1000;x++);
42 2 lcdpoint=&Netdata;
43 2 for(lcd_data_count=14;lcd_data_count>0;lcd_data_count--) //显示第一行字符
44 2 {
45 3 data1=*lcdpoint; //向LCD送数据
46 3 P7 = data1;
47 3 P6 = 0x04;
48 3 P6 = 0x05;
49 3 lcdpoint++;
50 3 for(x=0;x<100;x++);
51 3 }
52 2 }
53 1 }
*** WARNING C280 IN LINE 18 OF ALCDA.C: 'data2': unreferenced local variable
54 //函数名称: SYSCLK_Init ()
C51 COMPILER V7.05 ALCDA 02/14/2006 08:47:54 PAGE 2
55 //函数功能: 系统时钟初始化
56 void SYSCLK_Init (void)
57 {
58 1
59 1 OSCICN = 0x05; // 系统时钟初始化为片内的 24.5MHz / 8
60 1
61 1 }
62 void PORT_Init (void)
63 {
64 1 XBR0 = 0x00; // 没有选择数字外设
65 1 P74OUT = 0xf0; // P6,P7口设为推挽方式
66 1 }
67 void LCD_Init(void) //向LCD送命令
68 {
69 1 P6 = 0x01;
70 1 for(x=0;x<50000;x++);
71 1 //P7 = 0x30; /*一行显示*/
72 1 P7 = 0x38; /*两行显示*/
73 1 P6 = 0x1;
74 1 P6 = 0x0; //向LCD送命令
75 1 for(x=0;x<1000;x++);
76 1 P7 = 0x0e; /*开显示,开光标,字符不闪烁*/
77 1 P6 = 0x1;
78 1 P6 = 0x0;
79 1 for(x=0;x<1000;x++);
80 1 P7= 0x06; /*I/D=1,AC自动增1;S=0,整体显示不移动*/
81 1 P6 = 0x1;
82 1 P6 = 0x0;
83 1 for(x=0;x<5000;x++);
84 1 P7 = 0x01; /*清除DDRAM,置AC=0*/
85 1 P6 = 0x1;
86 1 P6 = 0x0;
87 1 for(x=0;x<5000;x++);
88 1 }
89
90
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 646 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 30 ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -