📄 +
字号:
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从以上分析得到键盘扫描程序的流程图如图</SPAN><SPAN
lang=EN-US>2</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示。程序如下</SPAN></P>
<P><SPAN lang=EN-US>SCAN:<SPAN style="mso-tab-count: 1">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>P1,#0FH</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>A,P1</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>ANL<SPAN style="mso-tab-count: 1">
</SPAN>A,#0FH</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>CJNE<SPAN style="mso-tab-count: 1">
</SPAN>A,#0FH,NEXT1</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>SJMP<SPAN style="mso-tab-count: 1">
</SPAN>NEXT3</SPAN></P>
<P><SPAN lang=EN-US>NEXT1:<SPAN style="mso-tab-count: 1">
</SPAN>ACALL<SPAN style="mso-tab-count: 1"> </SPAN>D20MS</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>A,#0EFH</SPAN></P>
<P><SPAN lang=EN-US>NEXT2:<SPAN style="mso-tab-count: 1"> </SPAN>MOV<SPAN
style="mso-tab-count: 1"> </SPAN>R1,A</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>P1,A</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>A,P1</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>ANL<SPAN style="mso-tab-count: 1">
</SPAN>A,#0FH</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>CJNE<SPAN style="mso-tab-count: 1">
</SPAN>A,#0FH,KCODE;</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>A,R1</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>SETB<SPAN style="mso-tab-count: 1">
</SPAN>C</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>RLC<SPAN
style="mso-tab-count: 2">
</SPAN>A</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>JC<SPAN
style="mso-tab-count: 2">
</SPAN>NEXT2</SPAN></P>
<P><SPAN lang=EN-US>NEXT3:<SPAN style="mso-tab-count: 1"> </SPAN>MOV<SPAN
style="mso-tab-count: 1"> </SPAN>R0,#00H<SPAN
style="mso-tab-count: 1"> </SPAN></SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>RET</SPAN></P>
<P><SPAN lang=EN-US>KCODE:<SPAN style="mso-tab-count: 1"> </SPAN>MOV<SPAN
style="mso-tab-count: 1">
</SPAN>B,#0FBH</SPAN></P>
<P><SPAN lang=EN-US>NEXT4:<SPAN style="mso-tab-count: 1"> </SPAN>RRC<SPAN
style="mso-tab-count: 2">
</SPAN>A</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>INC<SPAN
style="mso-tab-count: 2">
</SPAN>B</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>JC<SPAN
style="mso-tab-count: 2">
</SPAN>NEXT4</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>A,R1</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>SWAP<SPAN style="mso-tab-count: 1">
</SPAN>A</SPAN></P>
<P><SPAN lang=EN-US>NEXT5:<SPAN style="mso-tab-count: 1"> </SPAN>RRC<SPAN
style="mso-tab-count: 2">
</SPAN>A</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>INC<SPAN
style="mso-tab-count: 2">
</SPAN>B</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>INC<SPAN
style="mso-tab-count: 2">
</SPAN>B</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>INC<SPAN
style="mso-tab-count: 2">
</SPAN>B</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>INC<SPAN
style="mso-tab-count: 2">
</SPAN>B</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>JC<SPAN
style="mso-tab-count: 2">
</SPAN>NEXT5</SPAN></P>
<P><SPAN lang=EN-US>NEXT6:<SPAN style="mso-tab-count: 1"> </SPAN>MOV<SPAN
style="mso-tab-count: 1"> </SPAN>A,P1</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>ANL<SPAN style="mso-tab-count: 1">
</SPAN>A,#0FH</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>CJNE<SPAN style="mso-tab-count: 1">
</SPAN>A,#0FH,NEXT6</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>MOV<SPAN style="mso-tab-count: 1">
</SPAN>R0,#0FFH</SPAN></P>
<P><SPAN lang=EN-US><SPAN
style="mso-tab-count: 2">
</SPAN>RET </SPAN></P>
<P><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">键盘处理程序就作这么一个简单的介绍,实际上,键盘、显示处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性,但说到,这种复杂并不来自于单片机的本身,而是来自于操作者的习惯等等问题,因此,在编写键盘处理程序之前,最好先把它从逻辑上理清,然后用适当的算法表示出来,最后再去写代码,这样,才能快速有效地写好代码。</SPAN></P>
<P><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到本课为止,本站教程暂告一个段落!感谢大家的关心和支持!</SPAN></P></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -