📄 lcda1098.lst
字号:
C51 COMPILER V7.20 LCDA1098 10/18/2005 11:14:17 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE LCDA1098
OBJECT MODULE PLACED IN LCDA1098.OBJ
COMPILER INVOKED BY: c:\KEIL\C51\BIN\C51.exe LCDA1098.c DB OE
line level source
1
2 //-----------------------------------------------------------------------------
3 // 版权归新华龙电子公司所有
4 //-----------------------------------------------------------------------------
5 //
6 // 文件名:LCD.c
7 //
8 // 编写人:LC
9 //
10 // 编写时间:2004/12/31
11 //
12 // 目标器件: C8051F31x
13 //
14 // 编译工具: Silicon Laboratories IDE
15 //
16 //-----------------------------------------------------------------------------
17 //程序描述:
18 // 这个程序可以在该液晶模块上显示二行字符:Welcom To NCD,www.xhl.com.cn
19 // 此程序用8位数据线来驱动液晶
20 //
21 //-----------------------------------------------------------------------------
22 // 头文件包含
23 //-----------------------------------------------------------------------------
24 #include <c8051f020.h>
25
26 //-----------------------------------------------------------------------------
27 //全局变量定义
28 //-----------------------------------------------------------------------------
29
30 //---------------------------------------------------
31 unsigned long x; //w w w . x h l . c o |
32 unsigned char xdata Netdata[15]={0x77,0x77,0x77,0x2e,0x78,0x68,0x6c,0x2e,0x63,0x6f,//|
33 0x6d,0x2e,0x63,0x6e};// |
34 //m . c n |
35 //-----------------------------------------------------
36 unsigned char xdata NCDdata[15]={0x57,0x65,0x6c,0x63,0x6f,0x6d,0x65,0x20,0x74,0x6f,//|
37 0x20,0x4e,0x43,0x44};// |
38 unsigned char *lcdpoint; //指向 lcddata数组的指针
39 unsigned char lcd_data_count; //要显示的数据个数
40 //-----------------------------------------------------------------------------
41 // 函数定义
42 //-----------------------------------------------------------------------------
43 void SYSCLK_Init (void);
44 void PORT_Init (void);
45 void LCD_Init(void);
46 void SEND_LCD(unsigned char lcd_data_count);
47 //-----------------------------------------------------------------------------
48 // 主程序
49 //-----------------------------------------------------------------------------
50 void main (void)
51 {
52 1 static unsigned char data1,data2;
53 1 WDTCN = 0xde;
54 1 WDTCN = 0xad; //禁止看门狗定时器
55 1
C51 COMPILER V7.20 LCDA1098 10/18/2005 11:14:17 PAGE 2
56 1 SYSCLK_Init (); // 系统时钟初始化
57 1
58 1 PORT_Init (); // 交叉开关和通用I/O口初始化
59 1 while(1){
60 2 LCD_Init(); //LCD初始化
61 2 P6 = 0x0d; //准备送数据
62 2 for(x=0;x<5000;x++);
63 2 lcdpoint=&NCDdata;
64 2 for(lcd_data_count=14;lcd_data_count>0;lcd_data_count--) //显示第一行字符
65 2 {
66 3 data1=*lcdpoint;
67 3 P7 = data1;
68 3 P6 = 0x0c;
69 3 P6 = 0x0d;
70 3 lcdpoint++;
71 3 for(x=0;x<100;x++);
72 3 }
73 2 P6 = 0x09;
74 2 P7 = 0xc0;
75 2 P6 = 0x08;
76 2 P6 = 0x09;
77 2 //P6 = 0x0c;
78 2 //P6 = 0x0d;
79 2 for(x=0;x<1000;x++);
80 2 lcdpoint=&Netdata;
81 2 for(lcd_data_count=14;lcd_data_count>0;lcd_data_count--) //显示第一行字符
82 2 {
83 3 data1=*lcdpoint;
84 3 P7 = data1;
85 3 P6 = 0x0c;
86 3 P6 = 0x0d;
87 3 lcdpoint++;
88 3 for(x=0;x<100;x++);
89 3 }
90 2 }
91 1 }
*** WARNING C280 IN LINE 52 OF LCDA1098.C: 'data2': unreferenced local variable
92
93 //-----------------------------------------------------------------------------
94 //函数名称: SYSCLK_Init ()
95 //函数功能: 系统时钟初始化
96 //入口参数: 无
97 //出口参数: 无
98 //全局变量引用: 无
99 //调用模块: 无
100 //-----------------------------------------------------------------------------
101 //
102 void SYSCLK_Init (void)
103 {
104 1
105 1 OSCICN = 0x05; // 系统时钟初始化为片内的 24.5MHz / 8
106 1
107 1 }
108
109 //-----------------------------------------------------------------------------
110 //函数名称: PORT_Init ()
111 //函数功能: 通用I/O口及交叉开关初始化
112 //入口参数: 无
113 //出口参数: 无
114 //全局变量引用: 无
115 //调用模块: 无
116 //-----------------------------------------------------------------------------
C51 COMPILER V7.20 LCDA1098 10/18/2005 11:14:17 PAGE 3
117
118 void PORT_Init (void)
119 {
120 1
121 1 XBR0 = 0x00; // 没有选择数字外设
122 1 P74OUT = 0xff; // P0口设为推挽方式
123 1 }
124 //-----------------------------------------------------------------------------
125 // //函数名称: LCD_Init ()
126 //函数功能: LCD初始化
127 //入口参数: 无
128 //出口参数: 无
129 //全局变量引用: 无
130 //调用模块: 无
131 //-----------------------------------------------------------------------------
132 void LCD_Init(void)
133 {
134 1 P6 = 0x09;
135 1 for(x=0;x<50000;x++);
136 1 //P7 = 0x30; /*一行显示*/
137 1 P7 = 0x38; /*两行显示*/
138 1 P6 = 0x08;
139 1 P6 = 0x09;
140 1 for(x=0;x<1000;x++);
141 1 P7 = 0x0e; /*开显示,开光标,字符不闪烁*/
142 1 P6 = 0x08;
143 1 P6 = 0x09;
144 1 for(x=0;x<1000;x++);
145 1 P7= 0x06; /*I/D=1,AC自动增1;S=0,整体显示不移动*/
146 1 P6 = 0x08;
147 1 P6 = 0x09;
148 1 for(x=0;x<5000;x++);
149 1 P7 = 0x01; /*清除DDRAM,置AC=0*/
150 1 P6 = 0x08;
151 1 P6 = 0x09;
152 1 for(x=0;x<5000;x++);
153 1
154 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 657 ----
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 + -