?? lcd1602.lst
字號:
C51 COMPILER V7.07 LCD1602 07/17/2007 23:36:11 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN lcd1602.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE lcd1602.c BROWSE DEBUG OBJECTEXTEND TABS(8)
stmt level source
1 #include "..\dp8051.h"
2 #include "lcd.h"
3
4
5 unsigned char code welcome1[]={"welcome.to.shnu!"};
6 unsigned char code welcome2[]={"enter.the.menu"};
7
8 void main(void)
9 {
10 1 delay20ms();
11 1 init_lcd();
12 1 display_signal(0xf,1,0x30); //第一個數(shù)表示某行第幾個,第二個數(shù)表示第幾行,第三個表
-示要顯示的內(nèi)容
13 1 display_list(0,0,welcome1);
14 1 //display_list(0,1,welcome2);
15 1 while(1);
16 1 }
17
18
19 void init_lcd(void)
20 {
21 1 output=0;
22 1 write_command_1602(clear);
23 1 delay5ms();
24 1 write_command_1602(function);
25 1 delay5ms();
26 1 write_command_1602(part_open);
27 1 delay5ms();
28 1 write_command_1602(gb_right);
29 1 delay5ms();
30 1 }
31
32
33 void write_command_1602(unsigned char address_buf)
34 {
35 1 output=address_buf;
36 1 rs_lcd=0;
37 1 rw_lcd=0;
38 1 e_lcd=0;
39 1 e_lcd=1;
40 1 }
41
42 unsigned char read_command_1602()
43 {
44 1 rs_lcd=1;
45 1 rw_lcd=1;
46 1 e_lcd=0;
47 1 e_lcd=0;
48 1 e_lcd=1;
49 1 return(output);
50 1 }
51
52 void write_data_1602(unsigned char data_buf)
53 {
54 1 read_data_1602();
C51 COMPILER V7.07 LCD1602 07/17/2007 23:36:11 PAGE 2
55 1 output=data_buf;
56 1 rs_lcd=1;
57 1 rw_lcd=0;
58 1 e_lcd=0;
59 1 e_lcd=0;
60 1 e_lcd=1;
61 1
62 1 }
63
64 unsigned char read_data_1602()
65 {
66 1 rs_lcd=1;
67 1 rw_lcd=1;
68 1 e_lcd=0;
69 1 e_lcd=0;
70 1 e_lcd=1;
71 1 return(output);
72 1 }
73
74 void display_signal(unsigned char x, unsigned char y, unsigned char data1)
75 {
76 1 y&=0x1; //和1相與,若為零表示在第一行,若為1表示在第二行
77 1 x&=0xf; //和f(15)相與,確保一行顯示不超過16個字
78 1 if(y==1)
79 1 x|=0x40; //等于把x(80h---8fh)+40h=c0h---cfh
80 1 //也可以這樣寫:if(y==0)
81 1 // {
82 1 // x=0x80+x;
83 1 // else x=0xc0+x;
84 1 // }
85 1 x|=0x80;
86 1 write_command_1602(x);
87 1 write_data_1602(data1);
88 1 bg_lcd=0;
89 1 }
90
91 void display_list(unsigned char x,unsigned char y,unsigned char code *list_data1) //這種定義常用于字
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -