MCS-51单片机复习重点:运算与程序控制

需积分: 9 0 下载量 89 浏览量 更新于2024-07-21 收藏 220KB PPT 举报
"南师大单片机期中复习资料,包含单片机相关知识点和典型题目解析" 在单片机的学习中,8051系列是常见的微控制器,其指令系统是理解与编程的基础。根据提供的部分内容,我们可以深入探讨以下几个知识点: 1. **运算指令及其结果**: - `DIVAB` 指令用于执行A和B的除法运算,A作为被除数,B作为除数。执行后,A中存放商,B中存放余数,CY(进位标志)在除数非零时OV(溢出标志)为0。具体数值未给出,需根据实际运算填写。 - `MULAB` 指令执行乘法操作,(A) * (B) 结果存放在A和B中,(A)存放低位,(B)存放高位,CY表示是否有进位,OV表示是否有溢出。给定值 (A)=64H, (B)=32H,执行后 (A)=13H, (B)=1H, CY=1, OV=0。 2. **算术逻辑运算与标志位**: - PSW(程序状态字)寄存器保存了运算结果的状态,如进位标志CY、奇偶标志P、辅助进位标志AC等。给定的指令序列涉及加法运算和寄存器间的转移,计算后应更新相应的寄存器值。具体数值未给出,需要根据实际运算填写。 3. **单片机指令的应用**: - 清0操作,可以使用 `CLRA` 或 `ANLA #00H` 指令来实现。 - A加倍,可使用 `RLA` 或 `ADDA, ACC` 指令。 - 按位求反,使用 `CPLA` 指令。 - 内RAM20H单元的高4位不变,低4位清0,可以使用 `ANL 20H, #0F0H` 指令。 4. **MCS-51的时序**: - MCS-51单片机的主频为12MHz时,一个机器周期是1us(1微秒),即12ns。最长指令通常为两个机器周期,最短指令可能只需要一个机器周期。 5. **堆栈操作与子程序调用**: - 在子程序调用过程中,SP(堆栈指针)会递减以存储返回地址,即(SP)=50H - 1 = 4FH,在调用子程序 `ASUB` 后,(SP)=4EH。返回地址会被压入堆栈,因此(50H)=0368H + 2 = 036AH。执行 `ACALL ASUB` 后,PC(程序计数器)的值会更新为子程序地址。 6. **循环与条件跳转**: - 提供的代码片段是一个简单的循环结构,执行完循环后根据CY(进位标志)的状态决定是否执行 `MOV @R0, #01H` 指令。如果循环没有发生进位(即无借位),则跳过该指令,否则执行后将R0指向的内存位置赋值为1。 以上内容涵盖了8051单片机的运算指令、标志位处理、堆栈操作、子程序调用、循环控制等多个核心知识点,是进行单片机编程和调试的基础。通过理解和掌握这些知识点,可以更好地进行单片机设计和应用。