📄 lcd.lst
字号:
C51 COMPILER V8.16 LCD 02/09/2009 14:59:10 PAGE 1
C51 COMPILER V8.16, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 /********************************************************************
3 /*
4 /* ST7565
5 /* 128 X 64
6 /*
7 ********************************************************************/
8
9 #include <FS7805Reg.h>
10 #include "lcd.h"
11
12 void delay_us(unsigned char t)
13 {
14 1 unsigned char i;
15 1 for(; t>0; t--)
16 1 {
17 2 for (i=0; i<10; i++);
18 2 }
19 1 }
20
21 void delay(unsigned int t)
22 {
23 1 for(; t>0; t--)
24 1 {
25 2 unsigned int i;
26 2 for (i=0; i<1000; i++);
27 2 }
28 1 }
29
30 void send_data(unsigned char temp)
31 {
32 1 unsigned char i;
33 1 for(i=0; i<8; i++)
34 1 {
35 2 LCD_SCL_L();
36 2 if(temp&0x80) LCD_SDA_H();
37 2 else LCD_SDA_L();
38 2 delay_us(10); //延时
39 2 LCD_SCL_H();
40 2 temp <<= 1;
41 2 }
42 1 }
43
44 void write_command(unsigned char cmd)
45 {
46 1 LCD_CS_L(); //Chip Select
47 1 delay_us(10);
48 1 LCD_RS_L(); //Command Regsiter
49 1 delay_us(10);
50 1 send_data(cmd); //Transfer Command Data
51 1 }
52
53 void write_data(unsigned char dat)
54 {
55 1 LCD_CS_L(); //Chip Select
C51 COMPILER V8.16 LCD 02/09/2009 14:59:10 PAGE 2
56 1 delay_us(10);
57 1 LCD_RS_H(); //Data Regsiter
58 1 delay_us(10);
59 1 send_data(dat); //Transfer Display Data
60 1 }
61
62 void init_lcd(void)
63 {
64 1 PDCTL = ((1<<P1D_CTL)|(1<<P5D_CTL));
65 1 P1OE |= ((1<<LCD_SDA)|(1<<LCD_SCL)|(1<<LCD_CS)|(1<<LCD_RST));
66 1 P5OE |= (1<<LCD_CS);
67 1 SYSIO_CFG |= (1<<bmEX_INT_EN);
68 1
69 1 LCD_CS_L();
70 1 delay(10);
71 1 LCD_RST_L();
72 1 delay(100);
73 1 LCD_RST_H();
74 1 delay(10);
75 1
76 1 write_command(0xe2);
77 1 delay(10);
78 1 write_command(0xa2);
79 1 write_command(0xa0);
80 1 write_command(0xc8);
81 1 write_command(0x24);
82 1 write_command(0x81);
83 1 write_command(0x19);
84 1 write_command(0x2f);
85 1 delay(10);
86 1 write_command(0xaf);
87 1 delay(20);
88 1 }
89
90 void init_address(unsigned char addr, unsigned char msb, unsigned char lsb)
91 {
92 1 write_command(addr);
93 1 write_command(msb);
94 1 write_command(lsb);
95 1 }
96
97 void display_test(void)
98 {
99 1 unsigned char addr=0xb0, msb=0x10, lsb=0x00;
100 1 unsigned page, k;
101 1 for(page=0; page<8; page++)
102 1 {
103 2 init_address(addr, msb, lsb);
104 2 for(k=0; k<66; k--)
105 2 {
106 3 write_data(0xff);
107 3 write_data(0xff);
108 3 }
109 2 addr++;
110 2 }
111 1 }
112
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 329 ----
CONSTANT SIZE = ---- ----
C51 COMPILER V8.16 LCD 02/09/2009 14:59:10 PAGE 3
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
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 + -