📄 lcd1602.lst
字号:
C51 COMPILER V8.02 LCD1602 09/17/2008 20:59:59 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN lcd1602.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd1602.c BROWSE DEBUG OBJECTEXTEND
line level source
1 ////////////////////////////////////////////////////////////////////
2 #include <reg52.h>
3
4 #define lcd_io P0
5 sbit rs = P2^7;
6 sbit rw = P2^6;
7 sbit en = P2^5;
8
9 #define command 0
10 #define lcd_data 1
11
12 extern void delay_ms(unsigned char time);
13
14 unsigned char disp_buf0[16] = {"Out: 1000 Hz"};
15 unsigned char disp_buf1[16] = {"In: Hz"};
16 unsigned char code disp_error[16] = {"out of max range"};
17 unsigned char code disp_init [16] = {"input a frequent"};
18 unsigned char code disp_max [16] = {"WARN: max 70 MHz"};
19
20 void check_busy(void) //忙检查
21 {
22 1 lcd_io = 0xff;
23 1 rs = 0;
24 1 rw = 1;
25 1 en = 1;
26 1 while(lcd_io & 0x80);
27 1 en = 0;
28 1 }
29
30
31 void write_lcd(unsigned char select,unsigned char dat) //写LCD
32 {
33 1 check_busy();
34 1 if (select) // 写数据
35 1 {
36 2 rs = 1;
37 2 rw = 0;
38 2 }
39 1 else // 写指令
40 1 {
41 2 rs = 0;
42 2 rw = 0;
43 2 }
44 1 lcd_io = dat;
45 1 en = 1;
46 1 en = 0;
47 1 }
48
49
50 void display_line(unsigned char y, unsigned char *dat) //显示行数据,y=0(第一行) y=1(第二行)
51 {
52 1 unsigned char cnt;
53 1
54 1 if(y) y = (y | 0x40) - 1;
55 1 y = y | 0x80;
C51 COMPILER V8.02 LCD1602 09/17/2008 20:59:59 PAGE 2
56 1 write_lcd(command,y);
57 1
58 1 for (cnt=0;cnt<16;cnt++)
59 1 {
60 2 write_lcd(lcd_data,dat[cnt]);
61 2 }
62 1
63 1 }
64
65
66 void lcd_init(void) //液晶初始化
67 {
68 1 en = 0;
69 1 delay_ms(50);
70 1 write_lcd(command,0x38);
71 1 write_lcd(command,0x08);
72 1 write_lcd(command,0x01);
73 1 write_lcd(command,0x06);
74 1 write_lcd(command,0x0c);
75 1 }
76
77
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 124 ----
CONSTANT SIZE = 48 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 32 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 + -