📄 smc1602.lst
字号:
C51 COMPILER V8.05a SMC1602 08/08/2007 16:00:20 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) DEBUG OBJECTEXTEND PRINT(.\SMC16
-02.lst) OBJECT(SMC1602.obj)
line level source
1 //*************************************************************************************************
2 //* *
3 //* ***************************SMC1602驱动程序************************* *
4 //* *
5 //*************************************************************************************************
6
7
8 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
9 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<头文件及宏定义>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
10 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
11 #include "SMC1602.h"
12
13
14 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
15 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把1个命令写入LCD>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
16 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
17 void vWriteCMD(unsigned char ucCommand)
18 {
19 1 vDelay(); //先延时。
20 1
21 1 LCDE=1; //然后把LCD改为写入命令状态。
22 1 LCDRS=0;
23 1 LCDRW=0;
24 1
25 1 LCDPORT=ucCommand; //再输出命令。
26 1
27 1 LCDE=0; //最后执行命令。
28 1 }
29
30
31 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
32 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把1个数据写入LCD>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
33 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
34 void vWriteData(unsigned char ucData)
35 {
36 1 vDelay(); //先延时。
37 1
38 1 LCDE=1; //然后把LCD改为写入数据状态。
39 1 LCDRS=1;
40 1 LCDRW=0;
41 1
42 1 LCDPORT=ucData; //再输出数据。
43 1
44 1 LCDE=0; //最后显示数据。
45 1 }
46
47
48 void vShowOneChar(unsigned char ucChar)
49 {
50 1 switch(ucChar)
51 1 {
52 2 case ' ': vWriteData(0x20);break;
53 2 case '!': vWriteData(0x21);break;
54 2 case '"': vWriteData(0x22);break;
C51 COMPILER V8.05a SMC1602 08/08/2007 16:00:20 PAGE 2
55 2 case '#': vWriteData(0x23);break;
56 2 case '$': vWriteData(0x24);break;
57 2 case '%': vWriteData(0x25);break;
58 2 case '&': vWriteData(0x26);break;
59 2 case '>': vWriteData(0x27);break;
60 2 case '(': vWriteData(0x28);break;
61 2 case ')': vWriteData(0x29);break;
62 2 case '*': vWriteData(0x20);break;
63 2 case '+': vWriteData(0x2A);break;
64 2 case '-': vWriteData(0x2D);break;
65 2 case '/': vWriteData(0x2F);break;
66 2 case '=': vWriteData(0x3D);break;
67 2 case '<': vWriteData(0x3E);break;
68 2 case '?': vWriteData(0x3F);break;
69 2 case '.': vWriteData(0x2E);break;
70 2 case ':': vWriteData(0x3A);break;
71 2
72 2 case '0': vWriteData(0x30);break;
73 2 case '1': vWriteData(0x31);break;
74 2 case '2': vWriteData(0x32);break;
75 2 case '3': vWriteData(0x33);break;
76 2 case '4': vWriteData(0x34);break;
77 2 case '5': vWriteData(0x35);break;
78 2 case '6': vWriteData(0x36);break;
79 2 case '7': vWriteData(0x37);break;
80 2 case '8': vWriteData(0x38);break;
81 2 case '9': vWriteData(0x39);break;
82 2
83 2 case 'A': vWriteData(0x41);break;
84 2 case 'B': vWriteData(0x42);break;
85 2 case 'C': vWriteData(0x43);break;
86 2 case 'D': vWriteData(0x44);break;
87 2 case 'E': vWriteData(0x45);break;
88 2 case 'F': vWriteData(0x46);break;
89 2 case 'G': vWriteData(0x47);break;
90 2 case 'H': vWriteData(0x48);break;
91 2 case 'I': vWriteData(0x49);break;
92 2 case 'J': vWriteData(0x4A);break;
93 2 case 'K': vWriteData(0x4B);break;
94 2 case 'L': vWriteData(0x4C);break;
95 2 case 'M': vWriteData(0x4D);break;
96 2 case 'N': vWriteData(0x4E);break;
97 2 case 'O': vWriteData(0x4F);break;
98 2 case 'P': vWriteData(0x50);break;
99 2 case 'Q': vWriteData(0x51);break;
100 2 case 'R': vWriteData(0x52);break;
101 2 case 'S': vWriteData(0x53);break;
102 2 case 'T': vWriteData(0x54);break;
103 2 case 'U': vWriteData(0x55);break;
104 2 case 'V': vWriteData(0x56);break;
105 2 case 'W': vWriteData(0x57);break;
106 2 case 'X': vWriteData(0x58);break;
107 2 case 'Y': vWriteData(0x59);break;
108 2 case 'Z': vWriteData(0x5A);break;
109 2
110 2 case 'a': vWriteData(0x61);break;
111 2 case 'b': vWriteData(0x62);break;
112 2 case 'c': vWriteData(0x63);break;
113 2 case 'd': vWriteData(0x64);break;
114 2 case 'e': vWriteData(0x65);break;
115 2 case 'f': vWriteData(0x66);break;
116 2 case 'g': vWriteData(0x67);break;
C51 COMPILER V8.05a SMC1602 08/08/2007 16:00:20 PAGE 3
117 2 case 'h': vWriteData(0x68);break;
118 2 case 'i': vWriteData(0x69);break;
119 2 case 'j': vWriteData(0x6A);break;
120 2 case 'k': vWriteData(0x6B);break;
121 2 case 'l': vWriteData(0x6C);break;
122 2 case 'm': vWriteData(0x6D);break;
123 2 case 'n': vWriteData(0x6E);break;
124 2 case 'o': vWriteData(0x6F);break;
125 2 case 'p': vWriteData(0x70);break;
126 2 case 'q': vWriteData(0x71);break;
127 2 case 'r': vWriteData(0x72);break;
128 2 case 's': vWriteData(0x73);break;
129 2 case 't': vWriteData(0x74);break;
130 2 case 'u': vWriteData(0x75);break;
131 2 case 'v': vWriteData(0x76);break;
132 2 case 'w': vWriteData(0x77);break;
133 2 case 'x': vWriteData(0x78);break;
134 2 case 'y': vWriteData(0x79);break;
135 2 case 'z': vWriteData(0x7A);break;
136 2
137 2 default: break;
138 2 }
139 1 }
140
141 void vShowChar(unsigned char ucaChar[])
142 {
143 1 unsigned char ucCount;
144 1 for(ucCount=0;;ucCount++)
145 1 {
146 2 vShowOneChar(ucaChar[ucCount]);
147 2 if(ucaChar[ucCount+1]=='\0')
148 2 break;
149 2 }
150 1 }
151 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
152 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<延时函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
153 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
154 void vDelay()
155 {
156 1 unsigned int uiCount;
157 1 for(uiCount=0;uiCount<250;uiCount++);
158 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 769 ----
CONSTANT SIZE = ---- ----
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 + -