右移一位a值 将a赋给P0 调用延时程序 将P0传给a 开 始 给P0赋值 R5R4赋值为7 N P1.1=0 Y 左移一位a值 跳转到start N R4=0? Y 调用延时程序 将a赋给P0 Y N R4=0?
图3.3 方式二流程图
XVI
方式二子程序:
zyc: mov p0,#0feh ;2键左右循环 mov a,p0 restart1: mov r5,#7 mov r4,#7 loop3: ; mov a,p0 jb p1.1,start rl a lcall delay mov p0,a djnz r5,loop3 loop4: rr a lcall delay mov p0,a djnz r4,loop4 sjmp restart1 ret
3.5 方式三子程序设计
XVII
当按下三号键的时,主函数跳转到方式三子程序,使彩灯的变换方式为,两端的两个LED灯亮中间的四个灭,再中间四个亮两边的两个灭,依次这样循环.
开 始 给P0赋值 将P0传值给a P1.2=0? N Y Swap a 跳转到start 将P0值传给a 短跳转 图3.4 方式三流程图
XVIII
方式三子程序:
zbc: mov p0,#0c3h ;3键中边循环 loop5: mov a,p0 jb p1.2,start swap a lcall delay mov p0,a sjmp loop5 ret
3.6 方式四子程序设计
当四号键按下时,主程序跳转到方式四子程序,使彩灯的变换方式为奇偶交替亮灭,依次这样循环
XIX
P0赋值0F0H 开 始
Swap a 将P0传值给a
将a赋值给P0 调用延时程序员
Y 给P0赋值55H 将P0赋值给a N P1.3=0?
Rl a 跳转到start
将a赋值给P0 调用延迟程序
短跳转 图3.5 方式四流程图
XX