?? smc1602.lst
字號(hào):
C51 COMPILER V8.05a SMC1602 08/08/2007 08:55:15 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE SMC1602
OBJECT MODULE PLACED IN SMC1602.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\SMC1602.c BROWSE INCDIR(.\include;.\include) DEBUG OBJECTEXTEND PRI
-NT(.\SMC1602.lst) OBJECT(SMC1602.obj)
line level source
1 //*************************************************************************************************
2 //* *
3 //* ***************************SMC1602驅(qū)動(dòng)程序************************* *
4 //* *
5 //*************************************************************************************************
6
7
8 //*************************************************************************************************
9 //* *
10 //* ******************************頭文件及宏定義************************** *
11 //* *
12 //*************************************************************************************************
13 #include <at89x51.h>
14
15 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<端口設(shè)置宏定義>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
16 #define LCDRS P3_5 //寄存器選擇信號(hào):
17 // 0--數(shù)據(jù)寄存器;
18 // 1--指令寄存器。
19
20 #define LCDRW P3_6 //讀寫信號(hào):
21 // 1--讀LCD;
22 // 0--寫LCD。
23
24 #define LCDE P3_7 //片選信號(hào),當(dāng)輸入下降沿信號(hào)時(shí),
25 //執(zhí)行指令或傳送數(shù)據(jù)。
26
27 #define LCDPORT P2 //LCD數(shù)據(jù)接口。
28
29
30
31 //*************************************************************************************************
32 //* *
33 //* ******************************延時(shí)函數(shù)***************************** *
34 //* *
35 //*************************************************************************************************
36 void vDelay()
37 {
38 1 unsigned int uiCount;
39 1 for(uiCount=0;uiCount<250;uiCount++);
40 1 }
41
42 //*************************************************************************************************
43 //* *
44 //* **************************把1個(gè)命令寫入LCD************************* *
45 //* *
46 //*************************************************************************************************
47 void vWriteCMD(unsigned char ucCommand)
48 {
49 1 vDelay(); //先延時(shí)。
50 1
51 1 LCDE=1; //然后把LCD改為寫入命令狀態(tài)。
52 1 LCDRS=0;
53 1 LCDRW=0;
54 1
C51 COMPILER V8.05a SMC1602 08/08/2007 08:55:15 PAGE 2
55 1 LCDPORT=ucCommand; //再輸出命令。
56 1
57 1 LCDE=0; //最后執(zhí)行命令。
58 1 }
59
60
61 //*************************************************************************************************
62 //* *
63 //* ***************************把1個(gè)數(shù)據(jù)寫入LCD************************ *
64 //* *
65 //*************************************************************************************************
66 void vWriteData(unsigned char ucData)
67 {
68 1 vDelay(); //先延時(shí)。
69 1
70 1 LCDE=1; //然后把LCD改為寫入數(shù)據(jù)狀態(tài)。
71 1 LCDRS=1;
72 1 LCDRW=0;
73 1
74 1 LCDPORT=ucData; //再輸出數(shù)據(jù)。
75 1
76 1 LCDE=0; //最后顯示數(shù)據(jù)。
77 1 }
78
79
80
81 //*************************************************************************************************
82 //* *
83 //* **********************把1個(gè)字符顯示到當(dāng)前光標(biāo)處********************* *
84 //* *
85 //*************************************************************************************************
86 void vShowOneChar(unsigned char ucChar)
87 {
88 1 switch(ucChar)
89 1 {
90 2 case ' ': vWriteData(0x20);break;
91 2 case '!': vWriteData(0x21);break;
92 2 case '"': vWriteData(0x22);break;
93 2 case '#': vWriteData(0x23);break;
94 2 case '$': vWriteData(0x24);break;
95 2 case '%': vWriteData(0x25);break;
96 2 case '&': vWriteData(0x26);break;
97 2 case '>': vWriteData(0x27);break;
98 2 case '(': vWriteData(0x28);break;
99 2 case ')': vWriteData(0x29);break;
100 2 case '*': vWriteData(0x2A);break;
101 2 case '+': vWriteData(0x2B);break;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -