📄 lpc2129-ps2keyboard.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0055)http://blog.mcuol.com/User/mrzhangzf/article/5006_1.htm -->
<HTML xmlns="http://www.w3.org/1999/xhtml" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:v =
"urn:schemas-microsoft-com:vml"><HEAD><TITLE>(原创)用周立功LPC2129模拟PS2接口键盘 - 风之子的blog | 嵌入式在线博客</TITLE>
<META http-equiv=content-type content="text/html; charset=utf-8">
<META content=all name=robots>
<META content=想成为嵌入式程序员应知道的0x10个基本问题 name=keywords><LINK rev=stylesheet
media=all href="(原创)用周立功LPC2129模拟PS2接口键盘.files/main.css" type=text/css
rel=stylesheet><LINK rev=stylesheet media=print
href="(原创)用周立功LPC2129模拟PS2接口键盘.files/print.css" type=text/css rel=stylesheet>
<SCRIPT language=JavaScript src="(原创)用周立功LPC2129模拟PS2接口键盘.files/common.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript src="(原创)用周立功LPC2129模拟PS2接口键盘.files/main.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript src="(原创)用周立功LPC2129模拟PS2接口键盘.files/dialog.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript src="(原创)用周立功LPC2129模拟PS2接口键盘.files/Ajax.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript src="(原创)用周立功LPC2129模拟PS2接口键盘.files/CheckCode.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript
src="(原创)用周立功LPC2129模拟PS2接口键盘.files/addfriend.js"></SCRIPT>
<SCRIPT src="(原创)用周立功LPC2129模拟PS2接口键盘.files/view.js"
type=text/javascript></SCRIPT>
<SCRIPT src="(原创)用周立功LPC2129模拟PS2接口键盘.files/login.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript src="(原创)用周立功LPC2129模拟PS2接口键盘.files/Ajax.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javascript src="(原创)用周立功LPC2129模拟PS2接口键盘.files/Favorite.js"
type=text/javascript></SCRIPT>
<META content="MSHTML 6.00.2900.5659" name=GENERATOR></HEAD>
<BODY onload=loadDiv()><A name=top></A>
<DIV id=container><!--顶部-->
<DIV id=header>
<DIV id=mcuol><A href="http://blog.mcuol.com/">博客首页</A> | <A
href="http://www.mcuol.com/">嵌入式在线首页</A> | <A
href="http://www.mcuol.com/about/help.htm" target=_blank>帮助</A> | <A
onclick="window.external.addFavorite('http://blog.mcuol.com','嵌入式在线博客');"
href="javascript:;">收藏</A></DIV>
<DIV id=blogname><SPAN id=spBlogName><IMG
src="(原创)用周立功LPC2129模拟PS2接口键盘.files/loading.gif"> 数据正在载入中..</SPAN>
<DIV id=blogtitle></DIV></DIV>
<DIV id=menu>
<DIV id=left><SPAN id=notlogin style="DISPLAY: none"><A
href="http://reg.mcuol.com/Register.aspx">注册</A> | <A onclick=OpenLogin();
href="javascript:;">登录</A> | <A
href="http://blog.mcuol.com/admin/Default.aspx?type=sendArticle"
target=_blank>发表文章</A> </SPAN><SPAN id=havelogin style="DISPLAY: none"><SPAN
id=UserName></SPAN><SPAN id=spUseName></SPAN> ,欢迎您 <A
onclick="openWindow('http://www.mcuol.com/Message/receivebox.aspx','500','349','系统消息', true);"
href="javascript:;">短消息</A> | <A
href="http://blog.mcuol.com/admin/NewArticle.aspx" target=_blank>发表文章</A> | <A
href="http://www.mcuol.com/aspx/logout.aspx?type=0">退出</A> </SPAN></DIV>
<DIV id=right></DIV>
<UL>
<LI class=menul></LI>
<LI><A class=menua href="http://blog.mcuol.com/mrzhangzf">首 页</A> </LI>
<LI><A class=menua href="http://blog.mcuol.com/mrzhangzf/article.htm">文 章</A>
</LI>
<LI><A class=menua href="http://blog.mcuol.com/mrzhangzf/album.htm">相 册</A>
</LI>
<LI><A class=menua href="http://blog.mcuol.com/mrzhangzf/down.htm">下 载</A>
</LI>
<LI><A class=menua href="http://blog.mcuol.com/mrzhangzf">部 落</A> </LI>
<LI><A class=menua href="http://blog.mcuol.com/mrzhangzf/friend.htm">好 友</A>
</LI>
<LI><A class=menua href="http://blog.mcuol.com/mrzhangzf/gbook.htm">留 言</A>
</LI>
<LI><A class=menua href="http://blog.mcuol.com/admin" target=_blank>管理后台</A>
</LI></UL></DIV></DIV>
<DIV id=tbody>
<DIV id=maincontent>
<DIV class=entry>
<DIV class=entryheader>
<H2
onclick="changeDiv('b_contant');switchElement('b_contant_t','className')"><SPAN
class=open id=b_contant_t></SPAN>(原创)用周立功LPC2129模拟PS2接口键盘<SPAN id=BlogArticleID
style="DISPLAY: none">5006</SPAN><SPAN id=UserID
style="DISPLAY: none">73782</SPAN> </H2></DIV>
<DIV class=entrybody id=b_contant>
<DIV class=entrydate2><SPAN>2008-6-3 21:31:14 <A class=d
onclick="checkUser('(原创)用周立功LPC2129模拟PS2接口键盘','http://blog.mcuol.com/Favorites.aspx?title=&url=http://blog.mcuol.com/User/mrzhangzf/Article/5006_1.htm');"
href="javascript:;">收藏</A> | <A class=d
href="javascript:doPrint();">打印</A> | <A
href="http://blog.mcuol.com/User/mrzhangzf/article/5006_1.htm#vote">投票<LABEL
id=VoteCount></LABEL></A> | <A
href="http://blog.mcuol.com/User/mrzhangzf/article/5006_1.htm#review">评论<LABEL
id=CommentCount></LABEL></A> | 阅读<LABEL id=ReadCount></LABEL>
◇字体:[<A class=d href="javascript:doZoom(16)" target=_self>大</A> <A
class=d href="javascript:doZoom(14)" target=_self>中</A> <A class=d
href="javascript:doZoom(12)" target=_self>小</A>]</SPAN></DIV>
<P class=MsoListParagraph
style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l3 level1 lfo1"><FONT
size=2><SPAN lang=EN-US style="mso-bidi-font-family: 宋体"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>一.</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">项目介绍</SPAN><SPAN
lang=EN-US><FONT face=Calibri>:</FONT></SPAN></FONT></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><FONT
size=2><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">用周立功的</SPAN><SPAN
lang=EN-US><FONT face=Calibri>ARM7</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">教学实验板</SPAN><SPAN
lang=EN-US><FONT face=Calibri>LPC2129</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">实现模拟</SPAN><SPAN
lang=EN-US><FONT face=Calibri>PS2</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">接口的键盘</SPAN><SPAN
lang=EN-US><FONT face=Calibri>.</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">要求连续发送</SPAN><SPAN
lang=EN-US><FONT face=Calibri>20</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">个以字符串时不出现漏码</SPAN><SPAN
lang=EN-US><FONT face=Calibri>.</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">现市面上的大部分键盘当发送一长串字符时经常出现漏码。所以本项目要求实现并改进键盘</SPAN><SPAN
lang=EN-US><FONT face=Calibri>.</FONT></SPAN></FONT></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN
lang=EN-US><o:p><FONT face=Calibri size=2> </FONT></o:p></SPAN></P>
<P class=MsoListParagraph
style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l3 level1 lfo1"><FONT
size=2><SPAN lang=EN-US style="mso-bidi-font-family: 宋体"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>二.</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">项目所涉及到的知识</SPAN><SPAN
lang=EN-US><FONT face=Calibri>:</FONT></SPAN></FONT></P>
<P class=MsoListParagraph
style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l2 level1 lfo2"><FONT
size=2><SPAN lang=EN-US
style="mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>(1)</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>ARM7</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">的基础编程</SPAN><SPAN
lang=EN-US><FONT face=Calibri>:</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">定时器控制</SPAN><SPAN
lang=EN-US><FONT face=Calibri>,GPIO</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">控制</SPAN><SPAN
lang=EN-US><FONT face=Calibri>,</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">中断控制</SPAN><SPAN
lang=EN-US><FONT face=Calibri>(</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">重点</SPAN><SPAN
lang=EN-US><FONT face=Calibri>);</FONT></SPAN></FONT></P>
<P class=MsoListParagraph
style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l2 level1 lfo2"><FONT
size=2><SPAN lang=EN-US
style="mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>(2)</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>PS2</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">协议</SPAN><SPAN
lang=EN-US><FONT face=Calibri>;</FONT></SPAN></FONT></P>
<P class=MsoListParagraph
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0"><SPAN
lang=EN-US><SPAN style="mso-spacerun: yes"><FONT face=Calibri
size=2> </FONT></SPAN></SPAN></P>
<P class=MsoListParagraph
style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l3 level1 lfo1"><FONT
size=2><SPAN lang=EN-US style="mso-bidi-font-family: 宋体"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>三.</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>PS2</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">协议介绍及应用</SPAN><SPAN
lang=EN-US><FONT face=Calibri>:</FONT></SPAN></FONT></P>
<P class=MsoListParagraph
style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo3"><FONT
size=2><SPAN lang=EN-US
style="mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>1.</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">协议特点</SPAN><SPAN
lang=EN-US><FONT face=Calibri>:</FONT></SPAN></FONT></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo4"><FONT
size=2><SPAN lang=EN-US
style="mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>(1)</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">主机总是在总线上有优先权</SPAN><FONT
face=Calibri> </FONT><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">它可以在任何时候抑制来自于键盘的通讯,只要把时钟拉低即可;</SPAN></FONT></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo4"><FONT
size=2><SPAN lang=EN-US
style="mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>(2)</FONT><SPAN
style="FONT: 7pt ''''Times New Roman''''">
</SPAN></SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">键盘发送到主机的数据在时钟的下降沿被读取,主机发送到键盘的数据在时钟上升沿被读取;</SPAN></FONT></P>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo4"><FONT
size=2><SPAN lang=EN-US
style="mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"><SPAN
style="mso-list: Ignore"><FONT face=Calibri>(3)</FONT><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -