十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
2.led闪烁//#include "reg52.h" 使用引号和<>都可以
#include
sbit LED8 = P2^7; // sbit为位定义,定义单片机的P2^7引脚为LED8void main()
{
LED8 = 0; //单片机输出高电平,LED8设置位低电平,灯就会亮起
while(1)
{
}
}
led闪烁实际就是在点亮led的基础上加上延时函数就可以实现,重点在于延时函数的定义,以及延时时长,在合适的位置放置延时函数。
3.流水灯实现-笨方法#include "reg52.h"
typedef unsigned char u8; //类型是1个字节
typedef unsigned int u16; //类型是2个字节的sbit LED1 = P2^0;
void delay_10us(u16 ten_us)
{
while(ten_us--);
}void main()
{
while(1)
{
LED1 = 0;
delay_10us(50000); //
LED1 = 1;
delay_10us(50000);
}
}
获取到每个led灯的位,然后在每个灯的亮灭之间加上合适的延时,按照自己想要的顺序编写即可实现。
4.led流水灯---移位+循环实现#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit LED3 = P2^2;
sbit LED4 = P2^3;
sbit LED5 = P2^4;
sbit LED6 = P2^5;
sbit LED7 = P2^6;
sbit LED8 = P2^7;void delay_10us(u16 nus) //nus为1时延时时间为10us
{
while(nus--);
}void main()
{
while(1)
{
LED1=0;
delay_10us(50000);
LED1=1;
LED2=0;
delay_10us(50000);
LED2=1;
LED3=0;
delay_10us(50000);
LED3=1;
LED4=0;
delay_10us(50000);
LED4=1;
LED5=0;
delay_10us(50000);
LED5=1;
LED6=0;
delay_10us(50000);
LED6=1;
LED7=0;
delay_10us(50000);
LED7=1;
LED8=0;
delay_10us(50000);
LED8=1;
LED7=0;
delay_10us(50000);
LED7=1;LED6=0;
delay_10us(50000);
LED6=1;
LED5=0;
delay_10us(50000);
LED5=1;
LED4=0;
delay_10us(50000);
LED4=1;LED3=0;
delay_10us(50000);
LED3=1;
LED2=0;
delay_10us(50000);
LED2=1;
}
}
使用左移操作符<< + for循环实现流水灯。define详解:http://t.csdn.cn/7JyIS
5.流水灯-使用左移右移库函数实现#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;#define LED_PORT P2//使用宏定义端口,对端口状态进行移位操作
void delay_10us(u16 nus)
{
while(nus--);
}void main()
{
u8 i ;
while(1)
{for(i=0;i<8;i++)
{
LED_PORT=~(0x01<1111 1110 左移一位循环=>1111 1101,实现8个流水灯效果
delay_10us(50000);
}}
}
调用封装好的函数来实现流水灯,#include
#include
#includetypedef unsigned int u16;
typedef unsigned char u8;#define LED_PORT P2
void delay_10us(u16 ten_us)
{
while(ten_us--);
}void main()
{
u8 i;
LED_PORT =~0x01;
delay_10us(50000);
while(1)
{
for(i=0;i<7;i++)
{
LED_PORT=_crol_(LED_PORT,1);
delay_10us(50000);
}
for(i=0;i<7;i++)
{
LED_PORT=_cror_(LED_PORT,1);
delay_10us(50000);
}
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧