📄 lcd.lst
字号:
C51 COMPILER V7.06 LCD 08/02/2007 17:23:20 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN E:\NETBRO~1\TRUNK\NETBRO~1\LCD\LCD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\NETBRO~1\TRUNK\NETBRO~1\LCD\LCD.C DB SB OE
stmt level source
1 //LCD.c
2 #include <reg51.h>
3 #include "time.h"
4 #include "LCD.h"
5 #include "serial.h"
6
7 /******************************************************************************
8 函数:LCD_SendData()
9 功能:主机通过串行总线向LCD发送一个字节的数据
10 参数:
11 uchValue:要发送的数据
12 返回:
13 ******************************************************************************/
14 void LCD_SendData(unsigned char uchValue)
15 {
16 1 LCD_CS = 1;
17 1 Ser_SendByte(0xFA);//11111,01,0 RW=0,RS=1
18 1 Ser_SendByte(uchValue & 0xF0);//高四位
19 1 Ser_SendByte((uchValue & 0x0F)<<4);//低四位
20 1 LCD_CS = 0;
21 1 }
22
23 /******************************************************************************
24 函数:LCD_SendCommand()
25 功能:主机通过串行总线向LCD发送一个字节的控制命令
26 参数:
27 uchCmd:要发送的控制命令
28 返回:
29 ******************************************************************************/
30 void LCD_SendComand(unsigned char uchCmd)
31 {
32 1 LCD_CS = 1;
33 1 Ser_SendByte(0xF8);//11111,00,0 RW=0,RS=0 同步标志
34 1 Ser_SendByte(uchCmd & 0xF0);//高四位
35 1 Ser_SendByte((uchCmd & 0x0F)<<4);//低四位
36 1 LCD_CS = 0;
37 1 }
38
39 /******************************************************************************
40 函数:LCD_Init()
41 功能:LCD初始化:上电、开背光、初始配置
42 参数:
43 返回:
44 ******************************************************************************/
45 void LCD_Init()
46 {
47 1 LCD_CS = 0;
48 1 Delay_ms(1); //启动等待,等LCM讲入工作状态
49 1 LCD_CS = 1;
50 1 LCD_BACKLIGHT = 0;
51 1 LCD_SendComand(0x30);//功能设置,一次送8位数据,基本指令集
52 1 LCD_SendComand(0x0C);//0000,1100 整体显示,游标off,游标位置off
53 1 LCD_SendComand(0x01);//0000,0001 清DDRAM
54 1 LCD_SendComand(0x02);//0000,0010 DDRAM地址归位
55 1 LCD_SendComand(0x80);//1000,0000 设定DDRAM 7位地址000,0000到地址计数器AC
C51 COMPILER V7.06 LCD 08/02/2007 17:23:20 PAGE 2
56 1 }
57
58 /******************************************************************************
59 函数:LCD_Display()
60 功能:控制LCD在指定位置显示指定内容
61 参数:
62 uchX_Add:指定位置
63 uchValue1、uchValue2:显示内容的码
64 返回:
65 ******************************************************************************/
66 void LCD_Display(unsigned char uchX_Add,unsigned int uiValue)
67 {
68 1 unsigned char uchValue1,uchValue2;
69 1 uchValue1 = (uiValue >> 8) & 0x00ff;
70 1 uchValue2 = uiValue & 0x00ff;
71 1
72 1 LCD_SendComand(uchX_Add);
73 1 LCD_SendData(uchValue1);
74 1 LCD_SendData(uchValue2);
75 1 }
76
77
78
79
C51 COMPILER V7.06 LCD 08/02/2007 17:23:20 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
_Ser_SendByte. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_Delay_ms. . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_LCD_SendData. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
uchValue . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
LCD_BACKLIGHT. . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
LCD_Init . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
LCD_CS . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
_LCD_Display . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
uchX_Add . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
uiValue. . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
uchValue1. . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
uchValue2. . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
_LCD_SendComand. . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
uchCmd . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 117 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
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 + -