DIY优盘与PC遥控接收器--PS2键盘直接“打字”程序

[复制链接]
4753|6
 楼主| xwj 发表于 2008-11-6 19:03 | 显示全部楼层 |阅读模式
//&nbsp;DIY优盘与PC遥控接收器--PS2键盘直接“打字”程序下载<br /><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(c)&nbsp;Copyright&nbsp;2008-2009&nbsp;xuwenjun&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All&nbsp;Rights&nbsp;Reserved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V1.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//标 题:&nbsp;xwj&nbsp;的PS2键盘程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//文件名:&nbsp;atkey_xwj.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//版 本:&nbsp;V1.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//修改人:&nbsp;xwj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail:xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//日 期:&nbsp;08-11-06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//描 述:&nbsp;xwj&nbsp;的PS2键盘程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//声 明:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处.&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如用于商业用途请与作者联系.&nbsp;&nbsp;&nbsp;&nbsp;E-mail:xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有问题请mailto&nbsp;xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;欢迎与我交流!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//老版本:&nbsp;废弃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;老版本文件名:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//创建人:&nbsp;xwj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail:xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//日 期:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//描 述:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;xwj&nbsp;&nbsp;的PS2键盘程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;MCU&nbsp;型号:&nbsp;MCS51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;开发环境:&nbsp;Keil&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;开发日期:&nbsp;08-11-06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;程序编写:&nbsp;XWJ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//&nbsp;程序特点:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//1、扫描码和输出字符双环形队列缓存&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//2、可以直接输出按键对应的字符,直接实现“打字”效果&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//3、完美支持CapsLock、Shift大小写转换,支持键盘灯控制&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//PS:</font><br /><font color=#007F00>//&nbsp;&nbsp;呵呵,不好意思,之前给古道热肠的程序发错了;</font><br /><font color=#007F00>//&nbsp;&nbsp;而且,看了古道热肠的程序,才知道以前为什么发送命令给键盘老是失败:</font><br /><font color=#007F00>//&nbsp;&nbsp;原来是因为我没有拉低CLK线&nbsp;100uS去抢占控制权。</font><br /><br /><font color=#007F00>//论坛交流就是好啊~~</font><br /><font color=#007F00>//帮助别人的同时,自己也能发现问题、学到更多的东西!!!</font><br /><br /><font color=#880088>#include&nbsp;&ltintrins.h&gt&nbsp;&nbsp;</font><br /><font color=#880088>#include&nbsp;&ltreg52.h&gt&nbsp;&nbsp;</font><br /><br /><font color=#880088>#include&nbsp;&quot;<font color=#DD0000>Scan<font color=#BB0000>code</font>s1.h</font>&quot;</font><br /><br /><font color=#007F00>//<font color=#880088>#define&nbsp;KB_DEBUG&nbsp;1</font></font><br /><font color=#880088>#ifdef&nbsp;KB_DEBUG</font><br /><font color=#880088>#include&nbsp;&quot;<font color=#DD0000>CH452.h</font>&quot;</font><br /><font color=#880088>#endif</font><br /><br /><font color=#880088>#define&nbsp;BAUD_9600&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(65536-60)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;9600波特串口的自加载值,晶振频率:&nbsp;18.432MHz&nbsp;//</font></font><br /><font color=#880088>#define&nbsp;BAUD_19200&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(65536-30)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;19200波特串口的自加载值,晶振频率:&nbsp;18.432MHz&nbsp;//</font></font><br /><font color=#880088>#define&nbsp;BAUD_38400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(65536-15)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;38400波特串口的自加载值,晶振频率:&nbsp;18.432MHz&nbsp;//</font></font><br /><font color=#880088>#define&nbsp;BAUD_57600&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(65536-10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;57600波特串口的自加载值,晶振频率:&nbsp;18.432MHz&nbsp;//</font></font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;通用PC机键盘方式&nbsp;&nbsp;//</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;<font color=#BB0000>b<font color=#BB0000>data</font></font>&nbsp;kb_state;<br /><font color=#BB0000>sbit</font>&nbsp;&nbsp;&nbsp;&nbsp;kb_caps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;kb_state^2;<br /><font color=#BB0000>sbit</font>&nbsp;&nbsp;&nbsp;&nbsp;kb_num&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;kb_state^1;<br /><font color=#BB0000>sbit</font>&nbsp;&nbsp;&nbsp;&nbsp;kb_scroll&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;kb_state^0;<br /><br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_testok;<br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_up;<br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_shift;<br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_sent;<br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_ok;<br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_E0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//收到E0,//以E0开始的扫描码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_E1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//收到E1,//以E1开始的扫描码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><br /><font color=#BB0000>bit</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_KeyP;<br /><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_Key<font color=#BB0000>data</font>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;保持收到的扫描码</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_<font color=#BB0000>bit</font>Count;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//待接收?位</font><br /><font color=#880088>#define&nbsp;kb_BUFF_SIZE&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键盘缓冲区大小</font></font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_ScanBuffer[kb_BUFF_SIZE];&nbsp;&nbsp;<font color=#007F00>//键盘扫描码缓冲区</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_Buffer[kb_BUFF_SIZE];&nbsp;&nbsp;<font color=#007F00>//键盘缓冲区</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_Scaninpt,&nbsp;kb_Scanoutpt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键盘扫描码缓冲区&nbsp;入、出指针</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_inpt,&nbsp;kb_outpt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键盘缓冲区&nbsp;入、出指针</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_BufCnt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键盘缓冲区内数据量</font><br /><br /><font color=#007F00>//&nbsp;&nbsp;通用PC机键盘方式&nbsp;&nbsp;//</font><br /><font color=#BB0000>sbit</font>&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_CLK&nbsp;=&nbsp;P3^3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键盘时钟线接&nbsp;P3^3</font><br /><font color=#BB0000>sbit</font>&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_DAT&nbsp;=&nbsp;P1^5;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键盘数据线接&nbsp;P1^5</font><br /><br /><br /><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;DelayNus&nbsp;(<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;us)<font color=#007F00>//us=(实际延时-5)/2</font><br />{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//us=1:7;2:9;3:11;4:13;5:15;6:17;9:19;10:21周期</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>while</font>(--us);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//5&nbsp;+n*2&nbsp;&nbsp;&nbsp;&nbsp;DJNZ&nbsp;R7,DelayNus&nbsp;&nbsp;&nbsp;&nbsp;RET</font><br /><font color=#007F00>//&nbsp;&nbsp;<font color=#0000CC>while</font>(us){us--;}&nbsp;&nbsp;&nbsp;&nbsp;//8&nbsp;+n*6</font><br /><font color=#007F00>//&nbsp;&nbsp;<font color=#0000CC>for</font>&nbsp;(;--us&gt0;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//5&nbsp;+n*6</font><br /><font color=#007F00>//&nbsp;&nbsp;<font color=#0000CC>for</font>&nbsp;(;us&gt0;us--);&nbsp;&nbsp;&nbsp;//10+n*8</font><br /><font color=#007F00>//&nbsp;&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;i;<font color=#0000CC>for</font>&nbsp;(i=0;i&ltus;i++);&nbsp;//12+n*8</font><br />}<br /><br /><font color=#880088>#ifdef&nbsp;KB_DEBUG</font><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;DelayNms(<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>int&nbsp;</font>x)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j=10:6+50*x&nbsp;j=100:6+410&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+(10+4*j)*x</font><br />&nbsp;&nbsp;&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;j;<br />&nbsp;&nbsp;&nbsp;<font color=#0000CC>do</font>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>for</font>&nbsp;(j=0;&nbsp;j&lt181;&nbsp;j++)&nbsp;_nop_();&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//j=(?KHz/12-10)/4=381.5</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>for</font>&nbsp;(j=0;&nbsp;j&lt200;&nbsp;j++)&nbsp;_nop_();&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//</font><br />&nbsp;&nbsp;&nbsp;}<font color=#0000CC>while</font>(--x);<br />}<br /><font color=#880088>#endif</font><br /><br /><font color=#007F00>//----------------&nbsp;Kb.c</font><br /><font color=#007F00>//详细说明.</font><br /><font color=#007F00>//Clock&nbsp;____________&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__&nbsp;&nbsp;&nbsp;&nbsp;__________</font><br /><font color=#007F00>//时钟&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|&nbsp;&nbsp;|__|</font><br /><font color=#007F00>//<font color=#BB0000>data</font>&nbsp;&nbsp;___________&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_____&nbsp;_____&nbsp;_____&nbsp;_____&nbsp;_____&nbsp;_____&nbsp;_____&nbsp;_____&nbsp;_____&nbsp;_______________</font><br /><font color=#007F00>//数据&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|____|_____|_____|_____|_____|_____|_____|_____|_____|_____|</font><br /><font color=#007F00>//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start|<font color=#BB0000>bit</font>&nbsp;0|<font color=#BB0000>bit</font>&nbsp;1|<font color=#BB0000>bit</font>&nbsp;2|<font color=#BB0000>bit</font>&nbsp;3|<font color=#BB0000>bit</font>&nbsp;4|<font color=#BB0000>bit</font>&nbsp;5|<font color=#BB0000>bit</font>&nbsp;6|<font color=#BB0000>bit</font>&nbsp;7|Parity|Stop&nbsp;|</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;起始&nbsp;&nbsp;位&nbsp;0&nbsp;&nbsp;位&nbsp;1&nbsp;&nbsp;位&nbsp;2&nbsp;&nbsp;位&nbsp;3&nbsp;&nbsp;位&nbsp;4&nbsp;&nbsp;位&nbsp;5&nbsp;&nbsp;位&nbsp;6&nbsp;&nbsp;位&nbsp;7&nbsp;&nbsp;奇偶位&nbsp;停止位&nbsp;</font><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;kb_Init(<font color=#0000CC>void</font>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键盘初始化:INT0下降沿中断</font><br />{<br /><font color=#007F00>//&nbsp;&nbsp;<font color=#0000CC>static</font>&nbsp;<font color=#BB0000>bit</font>&nbsp;kb_testok=0,&nbsp;kb_is_up=0,&nbsp;kb_shift&nbsp;=&nbsp;0;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;kb_Scaninpt&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;初始化键盘扫描码缓冲区入指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_Scanoutpt&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;初始化键盘扫描码缓冲区出指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_inpt&nbsp;&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;初始化键盘码缓冲区入指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_outpt&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;初始化键盘码缓冲区出指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_BufCnt&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;缓冲区内字符数</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_<font color=#BB0000>bit</font>Count&nbsp;=&nbsp;11;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;一字节数据有&nbsp;11&nbsp;<font color=#BB0000>bit</font></font><br />&nbsp;&nbsp;&nbsp;&nbsp;IT1=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;EX0下降沿触发中断</font><br />&nbsp;&nbsp;&nbsp;&nbsp;PX1=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;EX0高优先级</font><br />&nbsp;&nbsp;&nbsp;&nbsp;EX1=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;打开外部中断0</font><br />&nbsp;&nbsp;&nbsp;&nbsp;EA=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;打开总中断控制位</font><br /><font color=#880088>#ifdef&nbsp;KB_DEBUG</font><br />&nbsp;&nbsp;&nbsp;&nbsp;CH452_init();<br />&nbsp;&nbsp;&nbsp;&nbsp;cls(0x00);<br />&nbsp;&nbsp;&nbsp;&nbsp;printat(0,&quot;<font color=#DD0000>RESET.</font>&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>while</font>&nbsp;((!kb_testok)&&(i++&nbsp;&lt16))&nbsp;<font color=#007F00>//上电1.6秒钟内等待键盘应答</font><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DelayNms(100);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printat(10,<font color=#0000CC>char</font>2asc(2,i));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(!kb_testok)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printat(6,&quot;<font color=#DD0000>Error!</font>&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//bp(3);</font><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printat(6,&quot;<font color=#DD0000>Key&nbsp;OK</font>&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//bp(1);</font><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;DelayNms(2000);<br /><font color=#880088>#endif</font><br />}<br /><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;kb_PutBuff(<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;c)&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//放一字节到键盘缓冲区</font><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_BufCnt&ltkb_BUFF_SIZE)&nbsp;<font color=#007F00>//如果缓冲区不满</font><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_Buffer[kb_inpt]&nbsp;=&nbsp;c;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//把字符放进缓冲区</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_inpt++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//增加指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_BufCnt++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_inpt&nbsp;&gt=&nbsp;kb_BUFF_SIZE)<font color=#007F00>//指针绕接</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_inpt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_GetKey(<font color=#0000CC>void</font>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//从键盘缓冲区取一字节</font><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;temp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>while</font>(kb_BufCnt&nbsp;==&nbsp;0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//等待数据</font><br />&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;kb_Buffer[kb_outpt];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//得到字节</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_outpt++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//增量指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_outpt&nbsp;&gt=&nbsp;kb_BUFF_SIZE)&nbsp;&nbsp;&nbsp;<font color=#007F00>//指针绕接</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_outpt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;kb_BufCnt--;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//减少缓冲区计数</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>return</font>&nbsp;temp;<br />}<br /><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font><font color=#0000CC>&nbsp;int</font>X1_kb&nbsp;()&nbsp;<font color=#BB0000>interrupt</font>&nbsp;2&nbsp;<font color=#BB0000>using</font>&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//T1下降沿中断</font><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;i;<br /><font color=#007F00>//-------接收----------------------------------------------</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(!kb_sent)&nbsp;&nbsp;&nbsp;<font color=#007F00>//接收</font><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>((!PIN_KEY_CLK)&&(--i&nbsp;!=&nbsp;0))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;Routine&nbsp;entered&nbsp;at&nbsp;falling&nbsp;edge//&nbsp;在下降沿上运行</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(kb_<font color=#BB0000>bit</font>Count&nbsp;&lt&nbsp;11&nbsp;&&&nbsp;kb_<font color=#BB0000>bit</font>Count&nbsp;&gt&nbsp;2)&nbsp;<font color=#007F00>//&nbsp;<font color=#BB0000>bit</font>&nbsp;3&nbsp;to&nbsp;10&nbsp;is&nbsp;kb_Key<font color=#BB0000>data</font>.&nbsp;Parity&nbsp;<font color=#BB0000>bit</font>,//&nbsp;位3~10是数据.校验位,</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;start&nbsp;and&nbsp;stop&nbsp;<font color=#BB0000>bit</font>s&nbsp;are&nbsp;ignored.//&nbsp;起始和停止位忽略了.</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_Key<font color=#BB0000>data</font>&nbsp;=&nbsp;(kb_Key<font color=#BB0000>data</font>&nbsp;&gt&gt&nbsp;1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(PIN_KEY_DAT)&nbsp;kb_Key<font color=#BB0000>data</font>&nbsp;=&nbsp;kb_Key<font color=#BB0000>data</font>&nbsp;|&nbsp;0x80;&nbsp;<font color=#007F00>//&nbsp;Store&nbsp;a&nbsp;'1'//&nbsp;存储一&quot;<font color=#DD0000>1</font>&quot;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>while</font>((!PIN_KEY_CLK)&&(--i&nbsp;!=&nbsp;0));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//等待时钟电平上升</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(--kb_<font color=#BB0000>bit</font>Count&nbsp;==&nbsp;0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;所有的比特收到</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_De<font color=#BB0000>code</font>(kb_Key<font color=#BB0000>data</font>);</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SBUF=kb_Key<font color=#BB0000>data</font>;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_ScanBuffer[kb_Scaninpt]=kb_Key<font color=#BB0000>data</font>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//扫描码放缓冲区</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_Scaninpt++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//增加指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_Scaninpt&nbsp;&gt=&nbsp;kb_BUFF_SIZE)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//指针绕接</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_Scaninpt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_<font color=#BB0000>bit</font>Count&nbsp;=&nbsp;11;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(kb_Key<font color=#BB0000>data</font>==0xAA)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键盘自检完成码</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_testok=1;<br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_ok=1;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><font color=#007F00>//-------发送----------------------------------------------</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//发送</font><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>((!PIN_KEY_CLK)&&(--i&nbsp;!=&nbsp;0))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;在下降沿上运行</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_<font color=#BB0000>bit</font>Count--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(kb_<font color=#BB0000>bit</font>Count&nbsp;&gt&nbsp;2)&nbsp;<font color=#007F00>//&nbsp;<font color=#BB0000>bit</font>&nbsp;3&nbsp;to&nbsp;10&nbsp;is&nbsp;kb_Key<font color=#BB0000>data</font>.&nbsp;Parity&nbsp;<font color=#BB0000>bit</font>,//&nbsp;位3~10是数据.校验位,</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;start&nbsp;and&nbsp;stop&nbsp;<font color=#BB0000>bit</font>s&nbsp;are&nbsp;ignored.//&nbsp;起始和停止位忽略.</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_Key<font color=#BB0000>data</font>&0x01)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_DAT=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_DAT=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_Key<font color=#BB0000>data</font>&nbsp;=&nbsp;(kb_Key<font color=#BB0000>data</font>&nbsp;&gt&gt&nbsp;1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><font color=#0000CC>&nbsp;if</font>(kb_<font color=#BB0000>bit</font>Count&nbsp;==&nbsp;2)&nbsp;&nbsp;&nbsp;<font color=#007F00>//奇检验位</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_DAT=kb_KeyP;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_DAT=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(kb_<font color=#BB0000>bit</font>Count&nbsp;==&nbsp;0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;所有的比特已发送&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_<font color=#BB0000>bit</font>Count&nbsp;=&nbsp;11;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_ok=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_sent=0;<br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IE1=0;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>while</font>((!PIN_KEY_CLK)&&(--i&nbsp;!=&nbsp;0));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//等待时钟电平上升</font><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;kb_SentCmd&nbsp;(<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;C)&nbsp;&nbsp;&nbsp;<font color=#007F00>//主机发送一字节到键盘</font><br />{<br /><font color=#007F00>//&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>((kb_<font color=#BB0000>bit</font>Count&nbsp;&lt&nbsp;11)&&&nbsp;(kb_<font color=#BB0000>bit</font>Count&nbsp;&gt=&nbsp;2))//如果在第10位(奇偶检验位)发送前</font><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_CLK=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//下拉时钟线60uS以停止键盘发送</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DelayNus(60);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//us=(实际延时-5)/2</font><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><font color=#007F00>//&nbsp;&nbsp;<font color=#0000CC>else</font></font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>while</font>&nbsp;(kb_<font color=#BB0000>bit</font>Count&lt2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如奇偶位已发出则等待键盘发送完</font><br /><font color=#007F00>//&nbsp;&nbsp;SBUF=C;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_<font color=#BB0000>bit</font>Count=11;<br />&nbsp;&nbsp;&nbsp;&nbsp;kb_Key<font color=#BB0000>data</font>=C;<br />&nbsp;&nbsp;&nbsp;&nbsp;ACC=C;<br />&nbsp;&nbsp;&nbsp;&nbsp;kb_KeyP=~P;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//kb_KeyP为奇检验位</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_sent=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//置发送到键盘标志</font><br />&nbsp;&nbsp;&nbsp;&nbsp;EX1=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_DAT=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//主机发送起始位以启动主机发送</font><br />&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_CLK=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//抢占PS/2总线的控制权</font><br />&nbsp;&nbsp;&nbsp;&nbsp;DelayNus(100);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Delay100uS</font><br />&nbsp;&nbsp;&nbsp;&nbsp;PIN_KEY_CLK=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//通知PS/2设备,时机已成熟</font><br />&nbsp;&nbsp;&nbsp;&nbsp;IE1=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;EX1=1;<br />}<br /><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;kb_LedCtrl(<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;sc)&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;控制键盘灯,参数为1的位取反;位2:caps;位1:num;位0:scroll;</font><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;kb_state&nbsp;^=sc;<br />&nbsp;&nbsp;&nbsp;&nbsp;kb_SentCmd(0xed);<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>while</font>((kb_Key<font color=#BB0000>data</font>!=0xfa)&nbsp;||&nbsp;(kb_<font color=#BB0000>bit</font>Count&nbsp;!=&nbsp;11));&nbsp;&nbsp;&nbsp;<font color=#007F00>//等待接收到0xfa</font><br />&nbsp;&nbsp;&nbsp;&nbsp;kb_SentCmd(kb_state&nbsp;&&nbsp;0x07);<br />}<br /><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;kb_De<font color=#BB0000>code</font>(<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;sc)&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;输入扫描代码处理</font><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>static</font>&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_mode&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;temp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>switch</font>&nbsp;(sc)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xAA&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键盘自检完成码</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_testok=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xE0:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;转义符号E0</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_E0=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//收到转义符号E0</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xE1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;转义符号E1</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_E1=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//收到转义符号E1</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xF0:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;按键释放码F0</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(!kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键按下状态</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_up&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//收到按键释放码F0</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0x12&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;Left&nbsp;kb_shift</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0x59&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;Right&nbsp;kb_shift</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(!kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键按下状态</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_shift&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_shift&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xFA&nbsp;:&nbsp;<font color=#007F00>//&nbsp;键盘应答</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xFF&nbsp;:&nbsp;<font color=#007F00>//&nbsp;缓冲溢出错误</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0x00&nbsp;:&nbsp;<font color=#007F00>//&nbsp;缓冲溢出错误</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xFE:&nbsp;&nbsp;<font color=#007F00>//&nbsp;重新发送上次数据</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0xEE&nbsp;:&nbsp;<font color=#007F00>//&nbsp;Echo&nbsp;应当也回应Echo</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0x58&nbsp;:&nbsp;<font color=#007F00>//&nbsp;kb_caps&nbsp;Lock&nbsp;//大小写</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键释放状态</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_up=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_LedCtrl(1&lt&lt2);&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;控制键盘灯,参数为1的位取反;位2:caps;位1:num;位0:scroll;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0x77&nbsp;:&nbsp;<font color=#007F00>//&nbsp;kb_num&nbsp;Lock&nbsp;&nbsp;//小键盘kb_num&nbsp;Lock</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_is_E1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//收到转义符号E1</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_E1=0;&nbsp;<font color=#007F00>//Pause&nbsp;<font color=#0000CC>break</font>键&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:E11477E1F014F077</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键释放状态</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_PutBuff('^');&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//^C</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键释放状态</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_up=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_LedCtrl(1&lt&lt1);&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;控制键盘灯,参数为1的位取反;位2:caps;位1:num;位0:scroll;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>case</font>&nbsp;0x7e&nbsp;:&nbsp;<font color=#007F00>//&nbsp;kb_scroll&nbsp;Lock</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键释放状态</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_up=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_LedCtrl(0x01);&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;控制键盘灯,参数为1的位取反;位2:caps;位1:num;位0:scroll;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>default</font>:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(kb_is_E0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//上次收到E0,查表获得以E0开始的扫描码</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_E0=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(!kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键按下状态</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>for</font>(temp&nbsp;=&nbsp;0;&nbsp;e0_tab[temp][0]!=sc&nbsp;&&&nbsp;e0_tab[temp][0];&nbsp;temp++);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(e0_tab[temp][0]&nbsp;==&nbsp;sc)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_PutBuff(e0_tab[temp][1]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(!kb_is_up)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;键按下时的数据</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(kb_mode&nbsp;==&nbsp;0&nbsp;||&nbsp;kb_mode&nbsp;==&nbsp;3)<font color=#007F00>//如果&nbsp;ASCII&nbsp;方式</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(sc&lt=0x83)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(!kb_shift)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//如果(kb_shift)键不压,</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//执行一查表</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp=unshifted[sc];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;如果(kb_shift)键压下</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp=shifted[sc];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(kb_caps)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//大写灯亮,大小写转换</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>((temp&gt='A')&&(temp&lt='Z'))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp+=0x20;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><font color=#0000CC>&nbsp;if</font>((temp&gt='a')&&(temp&lt='z'))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp-=0x20;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(temp)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//非0输出ASCII字符</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_PutBuff(temp);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(temp==0x0d)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//回车键还要多输出0x0a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_PutBuff(0x0a);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//扫描码方式</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(<font color=#0000CC>char</font>2hexasc(sc));//&nbsp;Print&nbsp;scan&nbsp;<font color=#BB0000>code</font>//&nbsp;打印扫描码</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_PutBuff(sc);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>else</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//键释放时的数据</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_is_up&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;Two&nbsp;0xF0&nbsp;in&nbsp;a&nbsp;row&nbsp;not&nbsp;allowed不允许两个0xF0</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>&nbsp;if</font>(sc==0x05)&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;F1&nbsp;&nbsp;&nbsp;//切换输入扫描代码方式</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_mode++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_mode&nbsp;&=0x03;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>break</font>;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;kb_CheckDe<font color=#BB0000>code</font>(<font color=#0000CC>void</font>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//检查、转换并返回缓冲区字符数</font><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_Scaninpt&nbsp;!=&nbsp;kb_Scanoutpt)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(<font color=#0000CC>char</font>2hexasc(kb_ScanBuffer[kb_Scanoutpt]));</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_De<font color=#BB0000>code</font>(kb_ScanBuffer[kb_Scanoutpt]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_Scanoutpt++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;增量指针</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>if&nbsp;</font>(kb_Scanoutpt&nbsp;&gt=&nbsp;kb_BUFF_SIZE)&nbsp;&nbsp;&nbsp;<font color=#007F00>//指针绕接</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kb_Scanoutpt&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#0000CC>return</font>(kb_BufCnt);<br />}&nbsp;<br /><br /><font color=#880088>#ifdef&nbsp;KB_DEBUG</font><br /><font color=#007F00>/**************************************/</font><br /><font color=#0000CC>void</font>&nbsp;InitSys(<font color=#0000CC>void</font>)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;设置串口为&nbsp;&nbsp;57600波特&nbsp;晶振频率为&nbsp;18.432MHz.</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;设置中断--------------------------------------</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCON&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0x50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;SCON:&nbsp;设串口模式1,并打开接受:1起始位,8数据位,1停止位&nbsp;//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCON=0x00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;PCON&nbsp;|=&nbsp;0x80;&nbsp;&nbsp;&nbsp;//&nbsp;PCON:&nbsp;波特律加倍:关&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RCAP2H=BAUD_57600/256;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;9600波特串口的自加载值,晶振频率:&nbsp;18.432MHz&nbsp;//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RCAP2L=BAUD_57600%256;<br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T2MOD=0X00;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T2CON=0x3c;<br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TMOD&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0x21;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TMOD:&nbsp;定时器0:模式1:16位;&nbsp;定时器1:模式2:8位自加载;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TH1&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0xfB;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TH1:&nbsp;&nbsp;19200波特串口的自加载值,晶振频率:&nbsp;18.432MHz&nbsp;//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//------------------------------------------------</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;设置并开启中断:&nbsp;T0高;开中断:&nbsp;T1、串口</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//------------------------------------------------//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TMOD&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0x11;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;TMOD:&nbsp;定时器0:模式1:16位;&nbsp;定时器1:模式1:16位;//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCON&nbsp;=&nbsp;&nbsp;0x50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;TCON:&nbsp;定时器&nbsp;0运行;定时器&nbsp;1运行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IP&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0x02;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//中断优先寄存器IP:|D7_x&nbsp;|x|x&nbsp;&nbsp;|PS|PT1|PX1|PT0|D0_PX0|//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IE&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;0x83;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//中断允许寄存器IE:|D7_EA|x|ET2|ES|ET1|EX1|ET0|D0_EX0|//</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//----------------------------------------<br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/200712/20071222192410983.rar'>https://bbs.21ic.com/upfiles/img/200712/20071222192410983.rar</a>
 楼主| xwj 发表于 2008-11-6 19:06 | 显示全部楼层

PS2键盘程序配套的扫描码 对照表

<font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(c)&nbsp;Copyright&nbsp;2008-2009&nbsp;xuwenjun&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All&nbsp;Rights&nbsp;Reserved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V1.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//标 题:&nbsp;xwj&nbsp;的PS2键盘程序配套的扫描码表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//文件名:&nbsp;Scan<font color=#BB0000>code</font>s1.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//版 本:&nbsp;V1.00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//修改人:&nbsp;xwj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail:xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//日 期:&nbsp;08-11-06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//描 述:&nbsp;xwj&nbsp;的PS2键盘程序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//声 明:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处.&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如用于商业用途请与作者联系.&nbsp;&nbsp;&nbsp;&nbsp;E-mail:xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有问题请mailto&nbsp;xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;欢迎与我交流!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//老版本:&nbsp;废弃&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;老版本文件名:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//创建人:&nbsp;xwj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail:xuwenjun@21cn.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//日 期:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//描 述:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;xwj&nbsp;&nbsp;的PS2键盘程序配套的扫描码表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;MCU&nbsp;型号:&nbsp;MCS51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;开发环境:&nbsp;Keil&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;开发日期:&nbsp;08-11-06&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//&nbsp;程序编写:&nbsp;XWJ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//&nbsp;程序特点:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//1、扫描码和输出字符双环形队列缓存&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//2、可以直接输出按键对应的字符,直接实现“打字”效果&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//3、完美支持CapsLock、Shift大小写转换,支持键盘灯控制&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&nbsp;通用PC机键盘方式&nbsp;&nbsp;//</font><br /><font color=#007F00>//-----------------&nbsp;Scan<font color=#BB0000>code</font>s1.h</font><br /><font color=#BB0000>code</font>&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;e0_tab[][2]&nbsp;=&nbsp;<font color=#007F00>//&nbsp;以E0开始的扫描码,不一定正确</font><br />{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;发现不同的资料说法不一致,条件受限没法测试</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,0x00,</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x11,0x12,&nbsp;&nbsp;<font color=#007F00>//左Alt:&nbsp;&nbsp;&nbsp;&nbsp;11;&nbsp;右Alt:&nbsp;&nbsp;E011</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x12,0x2a,&nbsp;&nbsp;<font color=#007F00>//Print&nbsp;Screen&nbsp;Sys&nbsp;Rq&nbsp;&nbsp;&nbsp;:E012E07C</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x14,17,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Ctrl:&nbsp;&nbsp;14;&nbsp;右Ctrl:&nbsp;E014</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x15,0x00,&nbsp;&nbsp;<font color=#007F00>//音量+键:E015</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x1f,91,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Win键:&nbsp;&nbsp;E01F;&nbsp;&nbsp;&nbsp;右Win键:&nbsp;&nbsp;&nbsp;&nbsp;E027;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x21,0x00,&nbsp;&nbsp;<font color=#007F00>//Email键:E021</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x23,0x00,&nbsp;&nbsp;<font color=#007F00>//Search键:E023</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x24,0x00,&nbsp;&nbsp;<font color=#007F00>//音量Mute键:E024</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x27,92,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//右Win键:&nbsp;&nbsp;E027;&nbsp;&nbsp;&nbsp;左Win键:&nbsp;&nbsp;&nbsp;&nbsp;E01F;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x2d,0x00,&nbsp;&nbsp;<font color=#007F00>//Internet键:E02d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x2f,93,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//鼠标右键快捷键:&nbsp;&nbsp;&nbsp;E02f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x37,0x00,&nbsp;&nbsp;<font color=#007F00>//Power键:&nbsp;&nbsp;E037;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x3f,0x00,&nbsp;&nbsp;<font color=#007F00>//Sleep键:&nbsp;&nbsp;E03f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x4a,'/',&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'/':&nbsp;&nbsp;&nbsp;&nbsp;E04a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x4d,0x00,&nbsp;&nbsp;<font color=#007F00>//音量-键:E04d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x5a,0x0d,&nbsp;&nbsp;<font color=#007F00>//大回车:5a;&nbsp;&nbsp;&nbsp;&nbsp;小键盘回车&nbsp;E05a;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x5f,0x00,&nbsp;&nbsp;<font color=#007F00>//WakeUp键:&nbsp;E05f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x66,37,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//箭头左:&nbsp;E066</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x69,35,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//End:&nbsp;E069</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x6c,36,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Home:&nbsp;E06c</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x70,45,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Insert:&nbsp;E070</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x71,46,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Delete:&nbsp;E071</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x72,40,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//箭头下:&nbsp;E072</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x74,39,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//箭头右:&nbsp;E072</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x75,38,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//箭头上:&nbsp;E075</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x77,19,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Pause&nbsp;<font color=#0000CC>break</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:E11477E1F014F077</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x7a,34,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Page&nbsp;<font color=#0000CC>do</font>wn:&nbsp;E07a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x7c,0x2a,&nbsp;&nbsp;<font color=#007F00>//Print&nbsp;Screen&nbsp;Sys&nbsp;Rq&nbsp;&nbsp;&nbsp;:E012E07C</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x7d,33,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Page&nbsp;Up:&nbsp;E07d</font><br /><br /><font color=#007F00>//ACPI&nbsp;扫描码</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x37,0x00,&nbsp;&nbsp;<font color=#007F00>//Power&nbsp;E0,&nbsp;37</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x3F,0x00,&nbsp;&nbsp;<font color=#007F00>//Sleep&nbsp;E0,&nbsp;3F</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x5E,0x00,&nbsp;&nbsp;<font color=#007F00>//Wake&nbsp;E0,&nbsp;5E</font><br /><br /><font color=#007F00>//Win<font color=#0000CC>do</font>ws&nbsp;多媒体扫描码</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x4D,0x00,&nbsp;&nbsp;<font color=#007F00>//Next&nbsp;Track&nbsp;E0,&nbsp;4D</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x15,0x00,&nbsp;&nbsp;<font color=#007F00>//Previous&nbsp;Track&nbsp;E0,&nbsp;15</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x3B,0x00,&nbsp;&nbsp;<font color=#007F00>//Stop&nbsp;E0,&nbsp;3B</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x34,0x00,&nbsp;&nbsp;<font color=#007F00>//Play/Pause&nbsp;E0,&nbsp;34</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x23,0x00,&nbsp;&nbsp;<font color=#007F00>//Mute&nbsp;E0,&nbsp;23</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x32,0x00,&nbsp;&nbsp;<font color=#007F00>//Volume&nbsp;Up&nbsp;E0,&nbsp;32</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x21,0x00,&nbsp;&nbsp;<font color=#007F00>//Volume&nbsp;<font color=#0000CC>do</font>wn&nbsp;E0,&nbsp;21</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x50,0x00,&nbsp;&nbsp;<font color=#007F00>//Media&nbsp;Select&nbsp;E0,&nbsp;50</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x48,0x00,&nbsp;&nbsp;<font color=#007F00>//E-Mail&nbsp;E0,&nbsp;48</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x2B,0x00,&nbsp;&nbsp;<font color=#007F00>//Calculator&nbsp;E0,&nbsp;2B</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x40,0x00,&nbsp;&nbsp;<font color=#007F00>//My&nbsp;Computer&nbsp;E0,&nbsp;40</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x10,0x00,&nbsp;&nbsp;<font color=#007F00>//WWW&nbsp;Search&nbsp;E0,&nbsp;10</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x3A,0x00,&nbsp;&nbsp;<font color=#007F00>//WWW&nbsp;Home&nbsp;E0,&nbsp;3A</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x38,0x00,&nbsp;&nbsp;<font color=#007F00>//WWW&nbsp;Back&nbsp;E0,&nbsp;38</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x30,0x00,&nbsp;&nbsp;<font color=#007F00>//WWW&nbsp;<font color=#0000CC>for</font>ward&nbsp;E0,&nbsp;30</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x28,0x00,&nbsp;&nbsp;<font color=#007F00>//WWW&nbsp;Stop&nbsp;E0,&nbsp;28</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x20,0x00,&nbsp;&nbsp;<font color=#007F00>//WWW&nbsp;Refresh&nbsp;E0,&nbsp;20</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x18,0x00,&nbsp;&nbsp;<font color=#007F00>//WWW&nbsp;Favorites&nbsp;E0,&nbsp;18</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0,0x00<br />};<br /><br /><br /><font color=#007F00>//&nbsp;Unshifted&nbsp;<font color=#0000CC>char</font>acters//&nbsp;&nbsp;&nbsp;不按Shift的字符</font><br /><font color=#BB0000>code</font>&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;unshifted[]&nbsp;=&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;120,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F9</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;116,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F5</font><br />&nbsp;&nbsp;&nbsp;&nbsp;114,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F3</font><br />&nbsp;&nbsp;&nbsp;&nbsp;112,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F1</font><br />&nbsp;&nbsp;&nbsp;&nbsp;113,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F2</font><br />&nbsp;&nbsp;&nbsp;&nbsp;123,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F12</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;121,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F10</font><br />&nbsp;&nbsp;&nbsp;&nbsp;119,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F8</font><br />&nbsp;&nbsp;&nbsp;&nbsp;117,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F6</font><br />&nbsp;&nbsp;&nbsp;&nbsp;115,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F4</font><br />&nbsp;&nbsp;&nbsp;&nbsp;9,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Tab</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'`',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x12,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Alt:&nbsp;&nbsp;&nbsp;&nbsp;11;&nbsp;右Alt:&nbsp;&nbsp;E011</font><br /><font color=#007F00>//&nbsp;&nbsp;0x2a,&nbsp;&nbsp;&nbsp;//Print&nbsp;Screen&nbsp;Sys&nbsp;Rq&nbsp;&nbsp;&nbsp;:E012E07C</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x10,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Shift:12;&nbsp;&nbsp;&nbsp;右Shift:&nbsp;&nbsp;&nbsp;&nbsp;59</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x11,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Ctrl:&nbsp;&nbsp;14;&nbsp;右Ctrl:&nbsp;E014</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'q',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//音量+键:E015</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'1',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'z',<br />&nbsp;&nbsp;&nbsp;&nbsp;'s',<br />&nbsp;&nbsp;&nbsp;&nbsp;'a',<br />&nbsp;&nbsp;&nbsp;&nbsp;'w',<br />&nbsp;&nbsp;&nbsp;&nbsp;'2',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Win键:&nbsp;&nbsp;E01F;&nbsp;&nbsp;&nbsp;右Win键:&nbsp;&nbsp;&nbsp;&nbsp;E027;</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'c',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Email键:E021</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'x',<br />&nbsp;&nbsp;&nbsp;&nbsp;'d',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Search键:E023</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'e',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//音量Mute键:E024</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'4',<br />&nbsp;&nbsp;&nbsp;&nbsp;'3',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//右Win键:&nbsp;&nbsp;E027;&nbsp;&nbsp;&nbsp;左Win键:&nbsp;&nbsp;&nbsp;&nbsp;E01F;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//空格</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'v',<br />&nbsp;&nbsp;&nbsp;&nbsp;'f',<br />&nbsp;&nbsp;&nbsp;&nbsp;'t',<br />&nbsp;&nbsp;&nbsp;&nbsp;'r',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Internet键:E02d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'5',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//右粘贴键:&nbsp;E02f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'n',<br />&nbsp;&nbsp;&nbsp;&nbsp;'b',<br />&nbsp;&nbsp;&nbsp;&nbsp;'h',<br />&nbsp;&nbsp;&nbsp;&nbsp;'g',<br />&nbsp;&nbsp;&nbsp;&nbsp;'y',<br />&nbsp;&nbsp;&nbsp;&nbsp;'6',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//Power键:&nbsp;&nbsp;E037;</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//没有?</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'m',<br />&nbsp;&nbsp;&nbsp;&nbsp;'j',<br />&nbsp;&nbsp;&nbsp;&nbsp;'u',<br />&nbsp;&nbsp;&nbsp;&nbsp;'7',<br />&nbsp;&nbsp;&nbsp;&nbsp;'8',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//Sleep键:&nbsp;&nbsp;E03f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;',',<br />&nbsp;&nbsp;&nbsp;&nbsp;'k',<br />&nbsp;&nbsp;&nbsp;&nbsp;'i',<br />&nbsp;&nbsp;&nbsp;&nbsp;'o',<br />&nbsp;&nbsp;&nbsp;&nbsp;'0',<br />&nbsp;&nbsp;&nbsp;&nbsp;'9',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'.',<br />&nbsp;&nbsp;&nbsp;&nbsp;'/',<br /><font color=#007F00>//&nbsp;&nbsp;'/',&nbsp;&nbsp;&nbsp;&nbsp;//小键盘'/':&nbsp;&nbsp;&nbsp;&nbsp;E04a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'l',<br />&nbsp;&nbsp;&nbsp;&nbsp;';',<br />&nbsp;&nbsp;&nbsp;&nbsp;'p',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//音量-键:E04d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'-',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'\'',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'[',<br />&nbsp;&nbsp;&nbsp;&nbsp;'=',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<font color=#007F00>//大小写Caps&nbsp;Lock&nbsp;&nbsp;&nbsp;:58</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//右Shift:59;&nbsp;&nbsp;&nbsp;左Shift:12;&nbsp;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x0d,&nbsp;&nbsp;&nbsp;<font color=#007F00>//大回车:5a;&nbsp;&nbsp;&nbsp;&nbsp;小键盘回车&nbsp;E05a;</font><br /><font color=#007F00>//&nbsp;&nbsp;0x0d,&nbsp;&nbsp;&nbsp;//小键盘回车&nbsp;E05a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;']',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'\\',&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&quot;<font color=#DD0000>\</font>&quot;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//WakeUp键:&nbsp;E05f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//Fn</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;8,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//退格</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头左:&nbsp;E066</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'1',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'1'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//End:&nbsp;E069</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'4',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'4'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'7',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'7'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Home:&nbsp;E06c</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;'0',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'0'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Insert:&nbsp;E070</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'.',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'.'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Delete:&nbsp;E071</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'2',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'2'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头下:&nbsp;E072</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'5',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'5'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'6',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'6'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头右:&nbsp;E072</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'8',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'8'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头上:&nbsp;E075</font><br />&nbsp;&nbsp;&nbsp;&nbsp;27,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//ESC</font><br />&nbsp;&nbsp;&nbsp;&nbsp;144,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘Num&nbsp;Lock&nbsp;&nbsp;&nbsp;&nbsp;:77</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Pause&nbsp;<font color=#0000CC>break</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:E11477E1F014F077</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;122,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F11</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'+',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'+'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'3',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'3'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Page&nbsp;<font color=#0000CC>do</font>wn:&nbsp;E07a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'-',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'-'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'*',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'*'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'9',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'9'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Page&nbsp;Up:&nbsp;E07d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;145,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Scroll&nbsp;Lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:7E</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;118,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F7</font><br />};<br /><br /><font color=#007F00>//&nbsp;Shifted&nbsp;<font color=#0000CC>char</font>acters//&nbsp;按下Shift的字符</font><br /><font color=#BB0000>code</font>&nbsp;<font color=#0000CC>unsigned</font>&nbsp;<font color=#0000CC>char</font>&nbsp;shifted[]&nbsp;=&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;120,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F9</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;116,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F5</font><br />&nbsp;&nbsp;&nbsp;&nbsp;114,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F3</font><br />&nbsp;&nbsp;&nbsp;&nbsp;112,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F1</font><br />&nbsp;&nbsp;&nbsp;&nbsp;113,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F2</font><br />&nbsp;&nbsp;&nbsp;&nbsp;123,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F12</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;121,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F10</font><br />&nbsp;&nbsp;&nbsp;&nbsp;119,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F8</font><br />&nbsp;&nbsp;&nbsp;&nbsp;117,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F6</font><br />&nbsp;&nbsp;&nbsp;&nbsp;115,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F4</font><br />&nbsp;&nbsp;&nbsp;&nbsp;9,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Tab</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'~',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x12,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Alt:&nbsp;&nbsp;&nbsp;&nbsp;11;&nbsp;右Alt:&nbsp;&nbsp;E011</font><br /><font color=#007F00>//&nbsp;&nbsp;0x2a,&nbsp;&nbsp;&nbsp;//Print&nbsp;Screen&nbsp;Sys&nbsp;Rq&nbsp;&nbsp;&nbsp;:E012E07C</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x10,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Shift:12;&nbsp;&nbsp;&nbsp;右Shift:&nbsp;&nbsp;&nbsp;&nbsp;59</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x11,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Ctrl:&nbsp;&nbsp;14;&nbsp;右Ctrl:&nbsp;E014</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'Q',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//音量+键:E015</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'!',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'Z',<br />&nbsp;&nbsp;&nbsp;&nbsp;'S',<br />&nbsp;&nbsp;&nbsp;&nbsp;'A',<br />&nbsp;&nbsp;&nbsp;&nbsp;'W',<br />&nbsp;&nbsp;&nbsp;&nbsp;'@',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//左Win键:&nbsp;&nbsp;E01F;&nbsp;&nbsp;&nbsp;右Win键:&nbsp;&nbsp;&nbsp;&nbsp;E027;</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'C',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Email键:E021</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'X',<br />&nbsp;&nbsp;&nbsp;&nbsp;'D',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Search键:E023</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'E',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//音量Mute键:E024</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'$',<br />&nbsp;&nbsp;&nbsp;&nbsp;'#',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//右Win键:&nbsp;&nbsp;E027;&nbsp;&nbsp;&nbsp;左Win键:&nbsp;&nbsp;&nbsp;&nbsp;E01F;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//空格</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'V',<br />&nbsp;&nbsp;&nbsp;&nbsp;'F',<br />&nbsp;&nbsp;&nbsp;&nbsp;'T',<br />&nbsp;&nbsp;&nbsp;&nbsp;'R',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Internet键:E02d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'%',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//右粘贴键:&nbsp;E02f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'N',<br />&nbsp;&nbsp;&nbsp;&nbsp;'B',<br />&nbsp;&nbsp;&nbsp;&nbsp;'H',<br />&nbsp;&nbsp;&nbsp;&nbsp;'G',<br />&nbsp;&nbsp;&nbsp;&nbsp;'Y',<br />&nbsp;&nbsp;&nbsp;&nbsp;'^',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//Power键:&nbsp;&nbsp;E037;</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//没有?</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'M',<br />&nbsp;&nbsp;&nbsp;&nbsp;'J',<br />&nbsp;&nbsp;&nbsp;&nbsp;'U',<br />&nbsp;&nbsp;&nbsp;&nbsp;'&',<br />&nbsp;&nbsp;&nbsp;&nbsp;'*',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//Sleep键:&nbsp;&nbsp;E03f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'&lt',<br />&nbsp;&nbsp;&nbsp;&nbsp;'K',<br />&nbsp;&nbsp;&nbsp;&nbsp;'I',<br />&nbsp;&nbsp;&nbsp;&nbsp;'O',<br />&nbsp;&nbsp;&nbsp;&nbsp;')',<br />&nbsp;&nbsp;&nbsp;&nbsp;'(',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'&gt',<br />&nbsp;&nbsp;&nbsp;&nbsp;'?',<br /><font color=#007F00>//&nbsp;&nbsp;'/',&nbsp;&nbsp;&nbsp;&nbsp;//小键盘'/':&nbsp;&nbsp;&nbsp;&nbsp;E04a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'L',<br />&nbsp;&nbsp;&nbsp;&nbsp;':',<br />&nbsp;&nbsp;&nbsp;&nbsp;'P',<br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//音量-键:E04d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'_',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'|',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'{',<br />&nbsp;&nbsp;&nbsp;&nbsp;'+',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;20,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//大小写Caps&nbsp;Lock&nbsp;&nbsp;&nbsp;:58</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x10,&nbsp;&nbsp;&nbsp;<font color=#007F00>//右Shift:59;&nbsp;&nbsp;&nbsp;左Shift:12;&nbsp;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x0d,&nbsp;&nbsp;&nbsp;<font color=#007F00>//大回车:5a;&nbsp;&nbsp;&nbsp;&nbsp;小键盘回车&nbsp;E05a;</font><br /><font color=#007F00>//&nbsp;&nbsp;0x0d,&nbsp;&nbsp;&nbsp;//小键盘回车&nbsp;E05a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'}',<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'|',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//&nbsp;&quot;<font color=#DD0000>|</font>&quot;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//WakeUp键:&nbsp;E05f;</font><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;<font color=#007F00>//Fn</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;8,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//退格</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头左:&nbsp;E066</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'1',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'1'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//End:&nbsp;E069</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;'4',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'4'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'7',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'7'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Home:&nbsp;E06c</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;'0',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'0'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Insert:&nbsp;E070</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'.',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'.'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Delete:&nbsp;E071</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'2',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'2'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头下:&nbsp;E072</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'5',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'5'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'6',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'6'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头右:&nbsp;E072</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'8',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'8'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//箭头上:&nbsp;E075</font><br />&nbsp;&nbsp;&nbsp;&nbsp;27,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//ESC</font><br />&nbsp;&nbsp;&nbsp;&nbsp;144,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘Num&nbsp;Lock</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Pause&nbsp;<font color=#0000CC>break</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:E11477E1F014F077</font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;122,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F11</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'+',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'+'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'3',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'3'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Page&nbsp;<font color=#0000CC>do</font>wn:&nbsp;E07a</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'-',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'-'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'*',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'*'</font><br />&nbsp;&nbsp;&nbsp;&nbsp;'9',&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//小键盘'9'</font><br /><font color=#007F00>//&nbsp;&nbsp;0x00,&nbsp;&nbsp;&nbsp;//Page&nbsp;Up:&nbsp;E07d</font><br />&nbsp;&nbsp;&nbsp;&nbsp;145,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//Scroll&nbsp;Lock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:7E</font><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;118,&nbsp;&nbsp;&nbsp;&nbsp;<font color=#007F00>//F7</font><br />};<br /><br /><br />//本程序由xwj设计的UltraEdit脚本加亮显示,如需要脚本请访问我的Blog或联系<a href="mailto:xwjfile@21cn.com">xwjfile@21cn.com</a><br />
isbit 发表于 2008-11-7 09:37 | 显示全部楼层

牛人

  
古道热肠 发表于 2008-11-7 10:33 | 显示全部楼层

好,值得收藏

程序中最好不要直接操纵用Sbit定义的变量来控制管脚,移植性欠佳,移植到ARM平台会要改很多地方<br />定义成如下可能会更好<br />#define&nbsp;&nbsp;setPin_KEY_DAT_Low()&nbsp;PIN_KEY_DAT=0<br />#define&nbsp;&nbsp;setPin_KEY_DAT_High()&nbsp;PIN_KEY_DAT=1<br />怎样拉高和拉低数据线会根据目标系统有所不同,用户自己确定.<br /><br />
 楼主| xwj 发表于 2008-11-7 11:19 | 显示全部楼层

呵呵,碰到移植性问题俺一般都是直接替换

  
dlwlmlj 发表于 2008-11-7 13:34 | 显示全部楼层

学习了

  
lpCFans 发表于 2008-11-7 17:30 | 显示全部楼层

hao...

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

xwj

288

主题

22795

帖子

35

粉丝
快速回复 在线客服 返回列表 返回顶部