?? lcd.lst
字號:
C51 COMPILER V8.08 LCD 07/24/2007 14:44:22 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\obj\lcd.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sourse\lcd.c BROWSE INCDIR(.\head) DEBUG OBJECTEXTEND PRINT(.\list\lcd.lst)
- OBJECT(.\obj\lcd.obj)
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3
4 #define uchar unsigned char
5 #define uint unsigned int
6
7 sbit CS = P2^5 ;
8 sbit SID = P2^6 ;
9 sbit CLK = P2^7;
10
11
12
13
14 /*****************************延時子程序***************************/
15 void delay( uint t )
16 {
17 1 while( t-- );
18 1 }
19
20 /*****************************寫液晶子程序******************************/
21 /************************************************************************
22 說明:word:要寫的內容 dat:1為數據 0為指令
23 *************************************************************************/
24 void Writelcd(uchar word,uchar dat)
25 {
26 1 uchar lcddat[3];
27 1 uchar i,j,k;
28 1 lcddat[0] = ( 0xf8+(dat<<1) );//第一個字節
29 1 lcddat[1] = ( word&0xf0 ) ; //第二個字節 內容的高四位+0000
30 1 lcddat[2] = ( (word<<4)&0xf0 ) ;//第三個字節 內容的第四位+0000
31 1 CS = 0;
32 1 CS = 1;
33 1 CLK = 0;
34 1 for(i=0;i<3;i++)
35 1 {
36 2 j = lcddat[i];
37 2 for(k=0;k<8;k++)
38 2 {
39 3 if( (j<<k)&0x80 )
40 3 SID = 1;
41 3 else
42 3 SID = 0;
43 3 CLK = 1; //時鐘下降沿寫入數據
44 3 CLK = 0;
45 3 }
46 2 }
47 1 }
48
49
50 /*****************************初始化子程序******************************/
51 void Serial_int(void)
52 {
53 1 CS = 1;
54 1 SID = 0;
C51 COMPILER V8.08 LCD 07/24/2007 14:44:22 PAGE 2
55 1 CLK = 0;
56 1 Writelcd( 0x30,0 );//功能設置,一次送8位數據,基本指令集
57 1 delay( 1 );
58 1 Writelcd( 0x30,0 );//功能設置,一次送8位數據,基本指令集
59 1 delay( 1 );
60 1 Writelcd( 0x0c,0 );//0000,1100 整體顯示,游標off,游標位置off
61 1 delay( 1 );
62 1 Writelcd( 0x01,0 );//0000,0001 清DDRAM
63 1 delay( 1 );
64 1 Writelcd( 0x02,0 );//0000,0010 DDRAM地址歸位
65 1 delay( 1 );
66 1
67 1 delay( 1 );
68 1 Writelcd( 0x80,0 );//1000,0000 設定DDRAM 7位地址000,0000到地址計數器AC//
69 1 delay( 1 );
70 1 Writelcd( 0x06,0 );
71 1 }
72
73 void DispNum ( uchar Add1,uint Data1,uint Data2 ,uchar Add2)
74 {
75 1 uchar DisN ;
76 1
77 1 Writelcd( Add1,0 );
78 1 DisN = Data1/10000%10 ;
79 1 Writelcd( 0x30+DisN ,1 );
80 1 DisN = Data1/1000%10 ;
81 1 Writelcd( 0x30+DisN ,1 );
82 1 DisN = Data1/100%10 ;
83 1 Writelcd( 0x30+DisN ,1 );
84 1 DisN = Data1/10%10 ;
85 1 Writelcd( 0x30+DisN ,1 );
86 1 DisN = Data1%10 ;
87 1 Writelcd( 0x30+DisN ,1 );
88 1
89 1 Writelcd( Add2,0 );
90 1 DisN = Data2/10000%10 ;
91 1 Writelcd( 0x30+DisN ,1 );
92 1 DisN = Data2/1000%10 ;
93 1 Writelcd( 0x30+DisN ,1 );
94 1 DisN = Data2/100%10 ;
95 1 Writelcd( 0x30+DisN ,1 );
96 1 DisN = Data2/10%10 ;
97 1 Writelcd( 0x30+DisN ,1 );
98 1 DisN = Data2%10 ;
99 1 Writelcd( 0x30+DisN ,1 );
100 1 }
101
102
103
104
105
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 302 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 9
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V8.08 LCD 07/24/2007 14:44:22 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -