AT89S51为用户提供两个外部中断请求输入端INT0(的反)和INT1(的反),实际的应用系统中,两个外部中断请求源往往不够用,需对外部中断源进行扩充。下面介绍一种扩充外部中断源的方法。 如
中断系统的运行必须与中断服务子程序配合才能正确使用。设计中断服务子程序需要首先明确以下几个问题。 中断服务子程序设计的任务 中断服务子程序设计的基本任务有下列4条:
某个中断请求被响应后,就存在着一个中断请求的撤销问题。下面接中断请求源的类型分别说明中断请求的撤销方法。 1.定时器/计数器中断请求的撤销 定时器/计数器中断的中断请求被响
实现中断允许控制和中断优先级控制分别由特殊功能寄存器区中的中断允许寄存器IE和中断优先级寄存器IP来实现的。下面介绍这两个特殊功能寄存器。 中断允许寄存器IE AT89S51的CPU对各中
分支转移程序的特点是程序中含有转移指令,转移指令又分为无条件转移和有条件转移,因此分支程序也可分为无条件分支转移程序和有条件分支转移程序。无条件分支转移程序很简单,这里不再讨论。有条件
数据排序就是将一批数由小到大(升序)排列,或由大到小(降序)排列。下面介绍无符号数据升序排序程序设计。 最常用的数据排序算法是冒泡法。冒泡法是相邻数互换的排序方法,因其过程类似水
数据极值查找就是在指定的数据区中找出最大值(或最小值)。 极值查找操作的主要内容是进行数值大小的比较,从这批数据中找出最大值(或最小值)并存于某一单元中。 片内RAM中存放一
关键字查找实际就是在表中查找关键字的操作,也称为数据检索。数据检索有两种方法,即顺序检索和对分检索。 1.顺序检索 如果要检索的表是无序的,检索时只能从第1项开始逐项顺序查找
许多应用系统中都需要进行程序代码升级,如果程序代码在外部Flash存储器中,实现程序代码升级可以对外部Flash直接操作。但对于在单片机内部的一些系统程序代码,就要求此单片机支持IAP(In-ApplICati
在实际的程序设计中,常常将那些需多次应用的、完成相同的某种基本运算或操作的程序段从整个程序中独立出来,单独编成一个程序段,需要时通过子程序调用指令进行调用。这样的程序段称为子程序。
1.关于并行I/O口的“读引脚”和“读锁存器”指令的区别 读并行I/O口有“读引脚”和“读锁存器”之分。以Pl口为例,当P1口的P1.0引脚外接一个发光二极管LED的阳极,LED的阴极接地。若想查看
作为指令系统的总结,表3-2列出了按功能排列的全部的AT89S51指令助记符及功能简要说明,以及指令长度、执行时间和指令代码(机器代码)。可根据指令助记符,迅速查到对应的指令代码(手工汇编)。也
AT89S51单片机内部有一个位处理机,对位地址空间具有丰富的位操作指令。 1.数据位传送指令 这组指令的功能是把由源操作数指定的位变量送到目的操作数指定的单元中。其中一个操作数必
1.累加器A字节清0指令 该条指令的功能是累加器A清0。不影响Cy、Ac、OV等标志位。 2.累加器A字节求反指令 该条指令的功能是将累加器A的内容按位逻辑取反,不影响标志位。
众所周知, 有一些公司或个人专门做单片机的解密服务,另外,单片机的指令不论怎样加密最终它还要在明文的方式下才能运行, 而且解密者可以使用单片机开发系统单步调试ROM中的程序。当解密者了解了指令