单片机C51程序设计:键盘扫描流程解析

需积分: 0 6 下载量 67 浏览量 更新于2024-08-09 收藏 5.74MB PDF 举报
"程序扫描方式程序流程图-numerical.algorithms.methods" 本文主要讲解了单片机中的键盘扫描子程序的设计,结合程序流程图和具体的汇编语言代码进行阐述。在单片机应用中,键盘扫描是实现用户输入的重要手段,通常采用行列式键盘,通过对键盘矩阵的逐行逐列扫描来识别按键状态。 程序流程图描述了一个典型的键盘扫描算法,它涉及到两个主要步骤:检测是否有键被按下以及确定具体按下的键。在【例7-4】中,首先调用子程序KS1来判断是否有一个键被按下,如果检测到键被按下,则进入消除抖动的延时处理TM12ms,以确保读取的是稳定的按键信号。之后再次调用KS1确认键仍被按下,如果确实如此,则开始逐列扫描键盘。 逐列扫描的关键在于将列扫描字(如0EFH)依次送到P1端口,并读取行状态。根据P1端口的位状态,可以确定哪一行的键被按下。例如,如果第0行没有键按下,则转移到检查下一行;如果有键按下,根据行的状态设置相应的行首键码(如#00H、#04H、#08H或#0CH),然后通过累加列号来确定键码。 在程序中,使用R2寄存器存储当前列扫描字,R4寄存器记录列号。每扫描完一列,列号会递增,以便扫描下一列。当检测到键释放时,程序会从堆栈中弹出键码并返回,表示键盘扫描结束,此时A寄存器的值就是按下的键的编码。 这种程序设计方法适用于MCS-51系列的单片机,它采用汇编语言编写,以高效地利用单片机的硬件资源。同时,书中提到,为了提高可读性和适应性,也有C语言的编程对照,帮助读者理解和应用到实际项目中。 本书《单片机原理与应用及C51程序设计》由唐颖主编,旨在培养电气信息类创新型应用人才,书中不仅涵盖了单片机的基础知识,还提供了丰富的实例,包括汇编与C语言的编程对照,以提高读者的实际操作能力。此书适合用作高校相关专业的教材或教学参考书,也适合工程技术人员自学使用。

翻译 This is Elsevier's new document class for typeset journal articles, elsarticle.cls. It is now accepted for submitted articles, both in Elsevier's electronic submission system and elsewhere. Elsevier's previous document class for typeset articles, elsart.cls, is now over 10 years old. It has been replaced with this newly written document class elsarticle.cls, which has been developed for Elsevier by the leading TeX developer STM Document Engineering Pvt Ltd. elsarticle.cls is based upon the standard LaTeX document class article.cls. It uses natbib.sty for bibliographical references. Bugs and problems with elsarticle.cls may be reported to the developers of the class via elsarticle@stmdocs.in. The file manifest.txt provides a list of the files in the elsarticle bundle. The following are the main files available: - elsarticle.dtx, the dtx file - elsdoc.pdf, the user documentation - elsarticle-template-num.tex, template file for numerical citations - elsarticle-template-harv.tex, template file for name-year citations - elsarticle-template-num-names.tex, template file for numerical citations + new natbib option. Eg. Jones et al. [21] - elsarticle-num.bst, bibliographic style for numerical references - elsarticle-harv.bst, bibliographic style for name-year references - elsarticle-num-names.bst, bibliographic style for numerical referencces + new natbib option for citations. To extract elsarticle.cls from *.dtx: latex elsarticle.ins The documentation file is elsdoc.tex in the contrib directory. To compile it: 1. pdflatex elsdoc 2. pdflatex elsdoc 3. pdflatex elsdoc

324 浏览量