本文主要是介绍【51单片机】:闪灯、流水灯(从左往右)、流水灯(从右往左)、蜂鸣器。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习目标:
言归正传,一切都回归本源,从51再来一次,首先就是最简单的点灯大师。
这么些年从51 到 32 再到 arduino 再到 ESP 等等,都是从点灯大师开始的。
于是介绍如下:
- 闪灯
- 流水灯(从左往右)
- 流水灯(从右往左)
- 蜂鸣器
LED灯的原理:LED是发光二极管,它是一种半导体器件。当电子从N型半导体向P型半导体注入时,它们会与空穴结合并释放出能量,这些能量以光的形式发射出来。LED灯的引脚通常有两个,一个是正极(长脚),一个是负极(短脚)。在电路中,LED灯的正极连接到电源的正极,负极连接到电源的负极,这样电流就可以流过LED灯,使其发光。
流水灯原理:流水灯是一种LED灯的应用,它的原理是通过控制多个LED灯的亮灭顺序,使得它们像水流一样流动。流水灯电路中通常使用一个计数器芯片和多个LED灯,计数器芯片可以控制LED灯的亮灭顺序,从而实现流水灯的效果。
蜂鸣器原理:蜂鸣器是一种声音发生器,它的原理是通过交替地给蜂鸣器施加正负电压,使得蜂鸣器内部的振荡器产生声音。蜂鸣器通常有两个引脚,一个是正极,一个是负极。在电路中,蜂鸣器的正极连接到电源的正极,负极连接到电源的负极,同时通过控制电压的正负来控制蜂鸣器的声音。
学习内容:闪灯
让led1达到闪烁的效果:
代码如下:
#include <reg51.h>sbit LED=P2^0; void delay(unsigned int i) //延时函数
{while(i--);
}void main()
{while(1){LED=0; //LED亮delay(10000); //延时LED=1; //LED灭delay(10000); //延时}
}
学习内容:流水灯(从左往右)、流水灯(从右往左)
流水灯(从左往右):
第一种方法:
#include <reg51.h>sbit LED1=P1^0; //定义P1.0口为LED1控制口
sbit LED2=P1^1; //定义P1.1口为LED2控制口
sbit LED3=P1^2; //定义P1.2口为LED3控制口
sbit LED4=P1^3; //定义P1.3口为LED4控制口void delay(unsigned int i) //延时函数
{while(i--);
}void main()
{while(1){LED1=0; //第一个LED亮delay(10000); //延时LED1=1; //第一个LED灭LED2=0; //第二个LED亮delay(10000); //延时LED2=1; //第二个LED灭LED3=0; //第三个LED亮delay(10000); //延时LED3=1; //第三个LED灭LED4=0; //第四个LED亮delay(10000); //延时LED4=1; //第四个LED灭}
}
第二种方法:(从左往右 也 包含 从右往左 推荐使用这个方法)
#include "reg52.h"typedef unsigned int u16;
typedef unsigned char u8;#define LED_PORT P2 void delay_10us(u16 ten_us)
{while(ten_us--);
}void main()
{ u8 i=0;LED_PORT=~0x01;delay_10us(50000);while(1){//方法1:使用移位+循环实现流水灯
// for(i=0;i<8;i++)
// {
// LED_PORT=~(0x01<<i); //将1右移i位,然后取反将结果赋值到LED_PORT
// delay_10us(50000);
// }//方法2:使用循环+_crol_或_cror_函数实现流水灯for(i=0;i<7;i++) //将led左移一位{ LED_PORT=_crol_(LED_PORT,1);delay_10us(50000); }for(i=0;i<7;i++) //将led右移一位{LED_PORT=_cror_(LED_PORT,1);delay_10us(50000); } }
}
学习产出:蜂鸣器
蜂鸣器是 P2^5引脚
代码如下:
#include <reg51.h>sbit Buzzer=P2^5;
void delay(unsigned int i) //延时函数
{while(i--);
}void main()
{while(1){Buzzer=1; //蜂鸣器响delay(10000); //延时Buzzer=0; //蜂鸣器停止响delay(10000); //延时}
}
逆风的方向,更适合飞翔。
这篇关于【51单片机】:闪灯、流水灯(从左往右)、流水灯(从右往左)、蜂鸣器。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!