📄 display.lst
字号:
C51 COMPILER V8.02 DISPLAY 12/29/2007 12:48:34 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE display.c COMPACT BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #define LCD_Data P0 //LCD数据与控制线
3
4 sbit LCD_RS=P2^2; //液晶控制
5 sbit LCD_RW=P2^1; //液晶写入
6 sbit LCD_E=P2^0; //液晶使能
7
8 extern void Delay(long int time);
9 void WriteCommandLCD(unsigned char WCLCD);
10 void WriteDataLCD(unsigned char WDLCD);
11
12 /*******************************以下是显示驱动******************************/
13
14 void LCDInit(void) //LCM初始化
15 {
16 1 LCD_Data = 0x00;
17 1 WriteCommandLCD(0x38);
18 1 Delay(50);
19 1 WriteCommandLCD(0x38); //显示模式设置,开始要求每次检测忙信号
20 1 WriteCommandLCD(0x08); //关闭显示
21 1 WriteCommandLCD(0x06); // 显示光标移动设置
22 1 WriteCommandLCD(0x01); //显示清屏
23 1 WriteCommandLCD(0x0f); // 显示开及光标设置
24 1 }
25
26 void WriteCommandLCD(unsigned char WCLCD)
27 {
28 1 Delay(50);
29 1 LCD_Data = WCLCD;
30 1 LCD_RS = 0;
31 1 LCD_RW = 0;
32 1 LCD_E = 1;
33 1 Delay(50);
34 1 LCD_E = 0;
35 1 }
36
37 //读状态
38
39 void WriteDataLCD(unsigned char WDLCD)
40 {
41 1 Delay(50);
42 1 LCD_Data = WDLCD;
43 1 LCD_RS = 1;
44 1 LCD_RW = 0;
45 1
46 1 LCD_E = 1; //-----!!!问题一直出在这里!!!
47 1 Delay(50);
48 1 LCD_E = 0;
49 1 }
50
51 void charadds(unsigned long a)
52 {
53 1 unsigned long c,p=0;
54 1 c=a/1000000000;
55 1 if(c!=0)
C51 COMPILER V8.02 DISPLAY 12/29/2007 12:48:34 PAGE 2
56 1 {
57 2 WriteDataLCD(c+0x30);
58 2 p=1;
59 2 }
60 1 c=(a%1000000000)/100000000;
61 1 if(c!=0 || p==1)
62 1 {
63 2 WriteDataLCD(c+0x30);
64 2 p=1;
65 2 }
66 1 c=(a%100000000)/10000000;
67 1 if(c!=0 || p==1)
68 1 {
69 2 WriteDataLCD(c+0x30);
70 2 p=1;
71 2 }
72 1 c=(a%10000000)/1000000;
73 1 if(c!=0 || p==1)
74 1 {
75 2 WriteDataLCD(c+0x30);
76 2 p=1;
77 2 }
78 1 c=(a%1000000)/100000;
79 1 if(c!=0 || p==1)
80 1 {
81 2 WriteDataLCD(c+0x30);
82 2 p=1;
83 2 }
84 1 c=(a%100000)/10000;
85 1 if(c!=0 || p==1)
86 1 {
87 2 WriteDataLCD(c+0x30);
88 2 p=1;
89 2 }
90 1 c=(a%10000)/1000;
91 1 if(c!=0 || p==1)
92 1 {
93 2 WriteDataLCD(c+0x30);
94 2 p=1;
95 2 }
96 1 c=(a%1000)/100;
97 1 if(c!=0 || p==1)
98 1 {
99 2 WriteDataLCD(c+0x30);
100 2 p=1;
101 2 }
102 1 c=(a%100)/10;
103 1 if(c!=0 || p==1)
104 1 {
105 2 WriteDataLCD(c+0x30);
106 2 }
107 1 c=a%10+0x30;
108 1 WriteDataLCD(c);
109 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1164 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- 14
DATA SIZE = ---- ----
C51 COMPILER V8.02 DISPLAY 12/29/2007 12:48:34 PAGE 3
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 + -