📄 1602lib.lst
字号:
C51 COMPILER V7.50 1602LIB 03/19/2009 16:09:24 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 1602LIB
OBJECT MODULE PLACED IN 1602lib.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1602lib.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "1602lib.h"
2
3 static void WriteCmd(uchar tempdata);
4 static void WriteDdr(uchar tempdata);
5 static void CheckBusy(void);
6 static void LCD_Delay(uint N);
7
8 void LCD_Delay(uint N)
9 {
10 1 uint i;
11 1 for(i=0;i<N;i++)
12 1 i=i;
13 1 }
14
15 void WriteCmd(uchar tempdata) /*写命令*/
16 {
17 1 DB0_DB7 = tempdata;
18 1 RS = 0;
19 1 RW = 0;
20 1 E = 0;
21 1 nop;
22 1 E = 1;
23 1 nop;
24 1 CheckBusy();
25 1 }
26
27 void WriteDdr(uchar tempdata) /*写数据*/
28 {
29 1 DB0_DB7 = tempdata;
30 1 RS = 1;
31 1 nop;
32 1 RW = 0;
33 1 E = 0;
34 1 nop;
35 1 E = 1;
36 1 nop;
37 1 CheckBusy();
38 1 }
39 void CheckBusy(void) /*查询忙状态*/
40 {
41 1 uchar tmp;
42 1
43 1 DB0_DB7 = 0xff;
44 1
45 1 RW = 1;
46 1 RS = 0;
47 1 E = 0;
48 1 nop;
49 1 E = 1;
50 1 do
51 1 {
52 2 nop;
53 2 tmp = DB0_DB7;
54 2 }while((tmp&0X80) == 0X80);
55 1 RW = 0;
C51 COMPILER V7.50 1602LIB 03/19/2009 16:09:24 PAGE 2
56 1 }
57
58 void LCD_init() /*LCD初始化*/
59 {
60 1 RS = 0;
61 1 RW = 0;
62 1 E = 1;
63 1 WriteCmd(0x38);
64 1 LCD_Delay(1000);
65 1 WriteCmd(0x38);
66 1 LCD_Delay(1000);
67 1 WriteCmd(0x38);
68 1 WriteCmd(0x0f);
69 1 WriteCmd(0x06);
70 1 WriteCmd(0x01);
71 1 }
72 void DisplayOneChar(uchar X,uchar Y,uchar dat) /*在指定位置显示一个字符函数*/
73 {
74 1 Y&= 0X1;
75 1 X&= 0XF; /*限制X不能大于15,Y不能大于1*/
76 1 if(Y)X|= 0x40; /*当要显示第二行时地址码+0x40*/
77 1 X|=0X80; /*算出指令码*/
78 1 WriteCmd(X); /*这里部检测忙信号,发送地址码*/
79 1 WriteDdr(dat);
80 1 }
81
82 void DisplayString(uchar X,uchar Y,uchar *str) /*在指定位置显示字符串函数*/
83 {
84 1 uchar len = 0;
85 1
86 1 Y&= 0x1;
87 1 X&= 0xF; /*限制X不能大于15,Y不能大于1*/
88 1 while(len<= 15)
89 1 {
90 2 if(X<= 0XF) /*X坐标应小于0xF*/
91 2 {
92 3 DisplayOneChar(X,Y,str[len]); /*显示单个字符*/
93 3 len++;
94 3 X++;
95 3 }
96 2 }
97 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 199 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 7
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 + -