📄 sock-system-lcd.lst
字号:
C51 COMPILER V7.50 SOCK_SYSTEM_LCD 09/14/2007 07:59:01 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SOCK_SYSTEM_LCD
OBJECT MODULE PLACED IN sock-system-lcd.OBJ
COMPILER INVOKED BY: d:\Keeil\C51\BIN\C51.EXE sock-system-lcd.c LARGE ROM(SMALL) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <C8051f020.h>
2 #define uint unsigned int
3 #define uchar unsigned char
4 #define PORT P2
5 #define Left 1
6 #define Right 2
7
8 code uchar tg[16]={0x00,0xE0,0x10,0x08,0x08,0x48,0x48,0xD0,0x00,0x00,0x01,0x02,0x02,0x02,0x03,0x03};
9 code uchar ts[16]={0x00,0x30,0x48,0x48,0x48,0x48,0x90,0x00,0x00,0x01,0x02,0x02,0x02,0x02,0x01,0x00};
10 code uchar tm[16]={0x00,0xF8,0x10,0x60,0x80,0x00,0x80,0x60,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00};
11 code uchar to[16]={0x00,0xF0,0x18,0x08,0x08,0x08,0x18,0xF0,0x00,0x01,0x03,0x02,0x02,0x02,0x03,0x01};
12
13 code uchar tt[16]={0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00};
14 code uchar tr[16]={0x00,0xF8,0x48,0x48,0x48,0x48,0x48,0xB0,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x03};
15 code uchar t[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
16
17 ///////////////////////
18 //LCD PORT DEFINE
19 sbit RS=P3^7;//RS=P3^7;
20 sbit RW=P3^6;//RW=P3^6;
21 sbit EN=P3^5;//EN=P3^5;
22
23 sbit CS1=P1^7;//CS1=P1^7;
24 sbit CS2=P1^6;//CS2=P1^6;
25 sbit RST=P1^5;//REST=P1^5;
26
27 ////////////////////////////////////////////////////
28 main()
29 {
30 1 for(;;)
31 1 {
32 2 uchar i,d,page,y;
33 2 XBR2=0x40;
34 2 for(i=0;i<200;i++);RS=0;RW=0;CS1=0;CS2=1;P2=0xc0;EN=1;EN=0; RW=1;//first address
35 2
36 2 for(i=0;i<200;i++);RS=0;RW=0;CS1=0;CS2=1;P2=0x3f;EN=1;EN=0; RW=1;
37 2
38 2 for(i=0;i<200;i++);RS=0;RW=0;CS1=0;CS2=1;P2=0xb8;EN=1;EN=0; RW=1;//page//b8
39 2 for(i=0;i<200;i++);
40 2
41 2 for(i=0;i<200;i++);RS=0;RW=0;CS1=0;CS2=1;P2=0x40;EN=1;EN=0; RW=1;//y//40
42 2 for(i=0;i<200;i++);RS=1;RW=0;CS1=0;CS2=1;P2=0x01;EN=1;EN=0; RW=1;
43 2 for(i=0;i<200;i++);RS=1;RW=0;CS1=0;CS2=1;P2=0x02;EN=1;EN=0; RW=1;
44 2 for(i=0;i<200;i++);RS=0;RW=0;CS1=0;CS2=1;P2=0x42;EN=1;EN=0; RW=1;
45 2 for(i=0;i<200;i++);RS=1;RW=0;CS1=0;CS2=1;P2=0x04;EN=1;EN=0; RW=1;
46 2 //////////////////////////////////////////////////////////////
47 2 for(i=0;i<200;i++);RS=0;RW=0;CS1=0;CS2=1;P2=0xc0;EN=1;EN=0; RW=1;//first address
48 2 Initial();
*** WARNING C206 IN LINE 48 OF SOCK-SYSTEM-LCD.C: 'Initial': missing function-prototype
49 2
50 2 WriteData(0x3F,Left);
*** WARNING C206 IN LINE 50 OF SOCK-SYSTEM-LCD.C: 'WriteData': missing function-prototype
*** ERROR C267 IN LINE 50 OF SOCK-SYSTEM-LCD.C: 'WriteData': requires ANSI-style prototype
51 2 }
52 1 }
C51 COMPILER V7.50 SOCK_SYSTEM_LCD 09/14/2007 07:59:01 PAGE 2
53 ////////////////////////////////////////////////////////////////////
54
55 void Delay_us(unsigned int DelayTime)
56 {
57 1 while(DelayTime) DelayTime--;
58 1 }
59 //////////////////////////////////////////////////////////////////////////////////////
60 void Delay_x10ms(unsigned char DelayTime) //***************10ms延时**********//
61 {
62 1 unsigned char i,j,k;
63 1 for(i=0;i<DelayTime;i++)
64 1 for(j=0;j<50;j++)
65 1 for(k=0;k<120;k++) {;}
66 1 }
67
68 ////////////////////////////////////////////////////////////////////
69 Initial(void)
70 {
71 1 RST=0;
72 1 Delay_us(2);
73 1 RST = 1;
74 1
75 1 }
76 //////////////////////////////////////////////////////////////
77 void WriteCommand(uchar Command, uchar CS_Num)
78 {
79 1 Delay_x10ms(1);
80 1 if(CS_Num==1) /*选择左半屏*/
81 1 {
82 2 CS1 = 0;
83 2 CS2 = 1;
84 2 }
85 1 else if(CS_Num==2) /*选择右半屏*/
86 1 {
87 2 CS1 = 1;
88 2 CS2 = 0;
89 2 }
90 1 EN = 0; /* 使能信号为L */
91 1 RS = 0; /* 置寄存器选择为L */
92 1 RW = 0; /* 置读/写选择为L */
93 1 PORT = Command; /* 将控制指令代码输出到的数据端口 */
94 1 EN = 1; /* 使能信号为H */
95 1 Delay_us(5); /* 延时2us */
96 1 EN = 0; /* 使能信号为L */
97 1 CS1 = 1; /* 置片选1为L */
98 1 CS2 = 1; /* 置片选2为L */
99 1 } ///////////////////////////////////////////////////////////////
100 WriteData(uchar Data,uchar CS_Num)
101 {
102 1 Delay_x10ms(1);
103 1 if(CS_Num==1) /*选择左半屏*/
104 1 {
105 2 CS1 = 0;
106 2 CS2 = 1;
107 2 }
108 1 else if(CS_Num==2) /*选择右半屏*/
109 1 {
110 2 CS1 = 1;
111 2 CS2 = 0;
112 2 }
113 1 EN = 0;
114 1 RS = 1; /* 置寄存器选择为H */
C51 COMPILER V7.50 SOCK_SYSTEM_LCD 09/14/2007 07:59:01 PAGE 3
115 1 RW = 0; /* 置读/写选择为L */
116 1 PORT = Data; /* 将显示数据输出到的数据端口 */
117 1 EN = 1; /* 使能信号为H */
118 1 Delay_us(5); /* 延时2us */
119 1 EN = 0; /* 使能信号为L */
120 1 CS1= 1; /* 置片选1为L */
121 1 CS2= 1; /* 置片选2为L */
122 1 }
123 ////////////////////////////////////////////////////////
C51 COMPILATION COMPLETE. 2 WARNING(S), 1 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -