获取流水灯工程:
方式一:
keil+proteus 完成最小系统,点亮led 灯实验_吴小凹的博客-CSDN博客
方式二:
Flowing_led.zip - 蓝奏云直接下载。
原理图修改:
无须修改只需要使用流水灯的工程即可,解压到桌面后直接打开。
代码修改:
打开代码如下所示。
在主循环中加入以下代码,这句代码就是led向另外一个方向游动的代码:
for(i=0;i<8;i++){/*拉低P1端口*/P0=~(0x80>>i);delay_ms(500);}
最终代码:
/*51单片机的头文件*/
#include <reg51.h>
#define uint16_t unsigned short
#define uint8_t unsigned char// 定义一个函数,名称为delay_ms,接受一个无符号16位整数(uint16_t)作为参数,表示延迟的毫秒数。
void delay_ms(uint16_t nms)
{ // 定义一个无符号8位整数(uint8_t),名称为i,用于循环控制。 uint8_t i; // 进入一个while循环,条件是nms大于0。当nms为0时,跳出循环。 while(nms--) { // 进入一个for循环,循环次数是120次,i的值从0递增到119。 for(i=0;i<120;i++); }
}
/*主函数*/
int main()
{uint8_t i;/*单片机等待*/while(1){for(i=0;i<8;i++){/*拉低P1端口*/P0=~(0x01<<i);delay_ms(500);}for(i=0;i<8;i++){/*拉低P1端口*/P0=~(0x80>>i);delay_ms(500);}}
}
最后我们编译下载程序。
再然后就是运行工程。
最后友友们新的实验我们又结束咯。