学习目标:
言归正传,一切都回归本源,从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引脚文章来源:https://www.toymoban.com/news/detail-509492.html
代码如下:文章来源地址https://www.toymoban.com/news/detail-509492.html
#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单片机】:闪灯、流水灯(从左往右)、流水灯(从右往左)、蜂鸣器。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!