📄 lcd.lst
字号:
C51 COMPILER V7.50 LCD 12/19/2006 17:26:34 PAGE 1
C51 COMPILER V7.50, 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 #include <REGX51.H>
2 #include <ctype.h>
3 #include <string.h>
4 #include <stdlib.h>
5 #include <stdio.h>
6 #include <math.h>
7 #include "lcd.h"
8 #include "zimo.h"
9 #include "comm.h"
10
11
12
13 /*-------------------------- 开机信息显示------------------------*/
14 void StartMsg(void)
15 {
16 1 Clr_Scr(); // 先清屏 //
17 1 CS2=1;CS1=0;
18 1 hz_disp16(0,32,huan); // 欢
19 1 delay(2000);
20 1 hz_disp16(0,48,ying); // 迎
21 1 delay(2000);
22 1 CS2=0;CS1=1;
23 1 hz_disp16(0,0,shi1); // 使
24 1 delay(2000);
25 1 hz_disp16(0,16,yong); // 用
26 1 delay(2000);
27 1 CS2=1;CS1=0;
28 1 sz_disp16(2,32,sz5); // 51
29 1 sz_disp16(2,40,sz1);
30 1 delay(2000);
31 1 hz_disp16(2,48,dan); //单
32 1 delay(2000);
33 1 CS2=0;CS1=1;
34 1 hz_disp16(2,0,pian); // 片
35 1 delay(2000);
36 1 hz_disp16(2,16,ji); // 机
37 1 delay(2000);
38 1 CS2=1;CS1=0;
39 1 hz_disp16(5,16,zhi); // 制
40 1 delay(2000);
41 1 hz_disp16(5,32,zuo); // 作
42 1 delay(2000);
43 1 hz_disp16(5,48,maohao); // :
44 1 delay(2000);
45 1 CS2=0;CS1=1;
46 1 hz_disp16(5,0,yang); // 杨
47 1 delay(2000);
48 1 hz_disp16(5,16,fei); // 飞
49 1 delay(2000);
50 1 hz_disp16(5,32,gantanhao); // !
51 1 delay(2000);
52 1 }
53
54
55
C51 COMPILER V7.50 LCD 12/19/2006 17:26:34 PAGE 2
56 /*-----------------------------4*4键盘扫描程序------------------------*/
57 unsigned char kbscan()
58
59 {
60 1 unsigned char sccode,recode;
61 1 P1=0xf0; /*发全"0"行扫描码,列线输入*/
62 1 if((P1&0xf0)!=0xf0) /*若有键按下*/
63 1 {
64 2 delay(1000); /*延时去抖动*/
65 2 if((P1&0xf0)!=0xf0)
66 2 {
67 3 sccode=0xfe; /*逐行扫描初值*/
68 3 while((sccode&0x10)!=0)
69 3 {
70 4 P1=sccode; /*输出行扫描码*/
71 4 if((P1&0xf0)!=0xf0) /*本行有键按下*/
72 4 {
73 5 recode=(P1&0xf0)|0x0f;
74 5 return((~sccode)+(~recode)); /*返回特征字节码*/
75 5 }
76 4 else sccode=(sccode<<1)|0x01; /*行扫描码左移一位*/
77 4 }
78 3 }
79 2 }
80 1 return(0);
81 1 }
82
83
84 /*------------------------------主函数---------------------------------*/
85
86 main()
87 {
88 1 unsigned char key;
89 1 init_lcd();
90 1 Disp_Img(FirstPage);
91 1 delay(10000);
92 1 StartMsg();
93 1 delay(10000);
94 1 init_serialcomm(); //初始化串口
95 1 send_string_com("welcome to aphero!",20);
96 1
97 1 while(1){
98 2 key=kbscan();
99 2 if(key!=0){ // 如果key不为0表示有键被按下//
100 3 Clr_Scr(); // 先清屏 //
101 3 switch(key)
102 3 {
103 4 case 0x11: // 按键为1//
104 4 CS2=1;CS1=0;
105 4 sz_disp16(0,0,sz1);
106 4 break;
107 4 case 0x21: // 按键为2//
108 4 CS2=0;CS1=1;
109 4 sz_disp16(0,0,sz2);
110 4 break;
111 4 case 0x41: // 按键为3//
112 4 CS2=1;CS1=0;
113 4 sz_disp16(1,0,sz3);
114 4 break;
115 4 case 0x81: // 按键为4//
116 4 CS2=0;CS1=1;
117 4 sz_disp16(2,0,sz4);
C51 COMPILER V7.50 LCD 12/19/2006 17:26:34 PAGE 3
118 4 break;
119 4 case 0x12: // 按键为5//
120 4 CS2=1;CS1=0;
121 4 sz_disp16(2,0,sz5);
122 4 break;
123 4 case 0x22: // 按键为6//
124 4 CS2=0;CS1=1;
125 4 sz_disp16(3,0,sz6);
126 4 break;
127 4 case 0x42: // 按键为7//
128 4 CS2=1;CS1=0;
129 4 sz_disp16(4,0,sz7);
130 4 break;
131 4 case 0x82: // 按键为8//
132 4 CS2=0;CS1=1;
133 4 sz_disp16(5,0,sz8);
134 4 break;
135 4 case 0x14: // 按键为9//
136 4 CS2=1;CS1=0;
137 4 sz_disp16(6,0,sz9);
138 4 break;
139 4 case 0x24: // 按键为10//
140 4 CS2=0;CS1=1;
141 4 sz_disp16(6,0,sz1);
142 4 sz_disp16(6,8,sz0);
143 4 break;
144 4 case 0x44: // 按键为11//
145 4 CS2=1;CS1=0;
146 4 sz_disp16(6,0,sz1);
147 4 sz_disp16(6,8,sz1);
148 4 break;
149 4 case 0x84: // 按键为12//
150 4 CS2=0;CS1=1;
151 4 sz_disp16(0,0,sz1);
152 4 sz_disp16(0,8,sz2);
153 4 break;
154 4 case 0x18: // 按键为13//
155 4 CS2=1;CS1=0;
156 4 sz_disp16(0,0,sz1);
157 4 sz_disp16(0,8,sz3);
158 4 break;
159 4 case 0x28: // 按键为14//
160 4 CS2=0;CS1=1;
161 4 sz_disp16(0,0,sz1);
162 4 sz_disp16(0,8,sz4);
163 4 break;
164 4 case 0x48: // 按键为15//
165 4 CS2=1;CS1=0;
166 4 sz_disp16(0,0,sz1);
167 4 sz_disp16(0,8,sz5);
168 4 break;
169 4 case 0x88: // 按键为16//
170 4 CS2=0;CS1=1;
171 4 sz_disp16(0,0,sz1);
172 4 sz_disp16(0,8,sz6);
173 4 break;
174 4
175 4 }
176 3 }
177 2 }
178 1 }
C51 COMPILER V7.50 LCD 12/19/2006 17:26:34 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1408 ----
CONSTANT SIZE = 1651 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 29 21
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -