?? keyprocess.lst
字號:
C51 COMPILER V8.05a KEYPROCESS 08/08/2007 11:03:52 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE KEYPROCESS
OBJECT MODULE PLACED IN KeyProcess.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\KeyProcess.c BROWSE INCDIR(.\include;.\include;.\include) DEBUG OBJ
-ECTEXTEND PRINT(.\KeyProcess.lst) OBJECT(KeyProcess.obj)
line level source
1 //*************************************************************************************************
2 //* *
3 //* ******************************鍵碼處理程序************************** *
4 //* *
5 //*************************************************************************************************
6
7 //*************************************************************************************************
8 //* *
9 //* ******************************頭文件及宏定義************************** *
10 //* *
11 //*************************************************************************************************
12 #include "InputNumber.h"
13 #include "InputChar.h"
14 #include "SMC1602.h"
15
16
17 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<輸入法標(biāo)志位>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
18 bit b_InputMode=1; //0表示是數(shù)字輸入法,1表示是字母輸入法。
19 //默認(rèn)是字母輸入法。
20
21 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<顯示介紹>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
22 extern bit b_Introduce;
23
24 void vIntroduce();
25
26
27 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<連續(xù)按鍵計(jì)數(shù)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
28 unsigned char uc_KeyTemp=0; //按鍵鍵碼暫存。
29
30 unsigned char uc_ClickCount=1; //同一個(gè)按連續(xù)按下的次數(shù)。
31
32 extern unsigned char uc_CleanCount; //清除按鍵計(jì)數(shù)時(shí)間計(jì)數(shù)。
33
34 bit b_CleanClick=0; //為1時(shí)啟用清除。
35
36
37 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<大小寫模式>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
38 extern bit b_CapStatus; //0--大寫;1--小寫。(默認(rèn)為0:大寫)
39
40
41 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<刷新字符顯示>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
42 unsigned char uca_CharBox[17]={" "};
43 //存儲刷新字符。
44
45 unsigned char uc_CharPointer=0; //刷新字符末位計(jì)數(shù),指向字符光標(biāo)位置。
46
47
48
49
50
51 //*************************************************************************************************
52 //* *
53 //* ******************************字符顯示更新函數(shù)************************** *
54 //* *
C51 COMPILER V8.05a KEYPROCESS 08/08/2007 11:03:52 PAGE 2
55 //*************************************************************************************************
56 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
57 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<刪除所有字符>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
58 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
59 void vCleanAll()
60 {
61 1 unsigned char ucCount;
62 1
63 1 for(ucCount=0;ucCount<uc_CharPointer;ucCount++)
64 1 uca_CharBox[ucCount]=' ';
65 1
66 1 uc_CharPointer=0;
67 1 vWriteCMD(0xC0);
68 1 vShowChar(" ");
69 1 vWriteCMD(0xC0);
70 1 }
71
72
73
74 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
75 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<刪除一個(gè)字符>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
76 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
77 void vCleanOne()
78 {
79 1 if(uc_CharPointer>0)
80 1 {
81 2 uc_CharPointer--;
82 2 uca_CharBox[uc_CharPointer]=' ';
83 2 vWriteCMD(0xC0+uc_CharPointer);
84 2 vShowOneChar(' ');
85 2 vWriteCMD(0xC0+uc_CharPointer);
86 2 }
87 1 }
88
89
90 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
91 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<添加一個(gè)字符>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
92 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
93 void vCharAdd(unsigned char ucChar) //接收的是ASC字符。
94 {
95 1 unsigned char ucCount;
96 1 if(uc_CharPointer<16)
97 1 {
98 2
99 2 vWriteCMD(0xC0+uc_CharPointer);
100 2 vShowOneChar(ucChar);
101 2
102 2 uca_CharBox[uc_CharPointer]=ucChar; //將字符寫入uca_CharBox。
103 2 uc_CharPointer++; //使ucCharPoint只想下一個(gè)位置。
104 2 }
105 1 else
106 1 { //如字符超出16個(gè)則全部清除,把光標(biāo)移到最左邊。
107 2 vWriteCMD(0xC1);
108 2 vShowChar(" ");
109 2 vWriteCMD(0xC0);
110 2 vShowOneChar(ucChar); //寫入輸入字符。
111 2
112 2 for(ucCount=1;ucCount<16;ucCount++)
113 2 uca_CharBox[ucCount]=' '; //同時(shí)清空uca_CharBox。
114 2 uca_CharBox[0]=ucChar;
115 2 uc_CharPointer=1;
116 2 }
C51 COMPILER V8.05a KEYPROCESS 08/08/2007 11:03:52 PAGE 3
117 1
118 1 b_CleanClick=1;
119 1 uc_CleanCount=0;
120 1 }
121 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
122 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<獲取按鍵字符ASC值>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
123 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
124 unsigned char ucGetChar(unsigned char ucChar)
125 {
126 1 if(b_InputMode==0)
127 1 return ucGetNum(ucChar); //獲取數(shù)字字符。
128 1 else
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -