汉语大全>单片机教程教案>分支程序设计--单片机教案

分支程序设计--单片机教案

详细内容

分支程序设计
1.分支程序的分类:
(1)一般分支:两分支
(2)散转:多分支
2.一般分支程序设计

例4-4 x, y均为8位二进制数, 设 x存入R0, y存入R1, 求解。
例4-5 比较两个无符号数的大小。
设外部 RAM 的存储单元ST1和ST2中存放两个不带符号的二进制数, 找出其中的大数存入外部 RAM 中的ST3单元中。
例4-6空调制冷控制系统案例中的空调制冷是通过启动压缩机来完成的,即当环境温度超过预置值时,启动压缩机实现制冷。设读取的温度值存放在A中,预置温度存放在R7中,压缩机是利用电磁继电器控制的,而继电器由P3.7驱动。现要求编写程序实现上述功能。


3.散转程序设计





散转程序是分支程序的一种, 它可根据运算结果或输入数据将程序转入不同的分支。MCS - 51 指令系统中有一条跳转指令JMP@A+DPTR,用它可以很容易地实现散转功能。该指令把累加器的8位无符号数与16位数据指针的内容相加, 并把相加的结果装入程序计数器PC,控制程序转向目标地址去执行。
特点:转移的目标地址不是在编程或汇编时预先确定的,而是在程序运行过程中动态地确定的。目标地址是以数据指针DPTR的内容为起始的 256 字节范围内的指定地址,即由DPTR的内容决定分支转移程序的首地址, 由累加器A的内容来动态选择其中的某一个分支转移程序。
例4-7根据工作寄存器R0 内容的不同, 使程序转入相应的分支。
(R0)=0 对应的分支程序标号为PR0
(R0)=1 对应的分支程序标号为PR1
……
(R0)=N 对应的分支程序标号为PRN。