今天又小伙伴又来考我了。问我16个LED灯循环点亮怎么变成。我也动了下手,将手里的8个LED灯循环点亮的小程序进行了修改,就完成了16个LED灯循环点亮的小实验。那么下面给大家分享下吧!
其实16个LED灯循环点亮更8个LED灯循环点亮一个道理!我这里用到了移位函数,移位函数都在intrins.h文件里面。这里注意移位函数的选择,8位数据和16位数据要用到不同的移位函数。这里是最关键的,其他的地方也就大同小异了。
下面就看看代码吧!
代码:
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include//因为要用到左右移函数,所以加入这个头文件
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
#define led1 P0 //将P0口定义为led0 后面就可以使用led代替P0口
#define led2 P2 //将P2口定义为led2 后面就可以使用led代替P2口
/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}