51单片机C语言编程一学就会
上QQ阅读APP看书,第一时间看更新

2.4 字节控制(即并行I/O口控制)流水灯

任务书:用操作字节(即并行I/O口控制)的方法,控制图2-1所示流水灯每次亮三个并循环流动。

点亮顺序是:

978-7-111-46996-4-Part01-72.jpg

2.4.1 编程思路

51系列单片机是8位单片机,每一组端口共有8个引脚。每个引脚可输出一个电平(0或1),一组端口可同时输出8个电平,这8个电平正好构成了一个字节。用字节操作来控制几个LED的同时点亮和流动,要比位操作简单得多。例如,在图2-1所示的流水灯电路中,若要点亮D1、D3、D5、D7,只需P0端口输出从高位P1.7到低位P1.0输出01010101。将这8位二进制数转换为十六进制数为0x55,语句可写成P1=0x55。所以用字节控制可以轻易地实现三个灯的流动。

2.4.2 参考程序

978-7-111-46996-4-Part01-73.jpg

978-7-111-46996-4-Part01-74.jpg

对于需要同时点亮多个灯的情况,使用字节控制要比使用位控制简单得多。