1. Proteus依旧采用P0.0~P0.7接8个LED的电路,程序上面做相应的调整。
2. 因为单片机相应LED灯珠连接位置0的时候相应位置的LED灯点亮,程序中使用移位命令后,是用0补位,如果开始P0端口赋值0xFF(LED灯全灭),移位命令循环的结果就是这8个LED灯珠依次点亮的效果,不是1.3节中只有一个亮的LED灯按照顺序移动的效果;
左移(<< 从最低位开始补零,LED灯从P0.0开始依次亮起),左移概念示意:
右移(>>从最高位开始补零,LED灯从P0.7开始依次亮起),右移概念示意:
测试程序如下:
#include <reg51.