5-51单片机-蜂鸣器实验

一 主要涉及到的知识点:

  1. 对系统默认的数据类型进行重定义,u8,u16;

2.延时函数,主要是将传过来的整数进行减减实现延时;

3.还用到了while()循环;

二 代码分析:

  1. 首次定义一个变量,主要是为了延时蜂鸣器响亮的时长;

2.通过while()循环,使得Buzzer_Port产生脉冲信号,从而使蜂鸣器响;

3.最后将i清零,然后将Buzzer_Port置0关闭蜂鸣器;

三 源代码:

//5-蜂鸣器实验

#include "reg52.h"

//对系统默认的数据类型进行重定义

typedef unsigned char u8;

typedef unsigned int u16;

//延时函数定义

void delay_10us(u16 tiem_num_us)

{

while(tiem_num_us--);

}

sbit Buzzer_Port = P2^5; //将P2.5管脚定义为Buzzer_Port

int main()

{

u16 i = 2000;

while(1)

{

while(i--)//循环2000次

{

Buzzer_Port = !Buzzer_Port; //产生一定频率的脉冲信号

delay_10us(100);

}

i = 0; //清零

Buzzer_Port = 0; //关闭蜂鸣器

}

return 0;

}

相关推荐
就是蠢啊2 小时前
51单片机——DAC数模转换实验(一)
单片机·嵌入式硬件·51单片机
لا معنى له2 小时前
目标分割介绍及最新模型----学习笔记
人工智能·笔记·深度学习·学习·机器学习·计算机视觉
月光在发光3 小时前
多态(虚函数核心作用原理)--C++学习(0)
c++·学习
车载测试工程师3 小时前
CAPL学习-AVB交互层-媒体函数2-其他类函数待分类
学习·tcp/ip·媒体·capl·canoe
深蓝海拓3 小时前
PySide6从0开始学习的笔记(十) 样式表(QSS)
笔记·python·qt·学习·pyqt
就是蠢啊3 小时前
51单片机——ADC数模转换实验(二)
单片机·嵌入式硬件·51单片机
deng-c-f4 小时前
Linux C/C++ 学习日记(59):手写死锁监测的组件
学习
深蓝海拓4 小时前
PySide6从0开始学习的笔记(十三) IDE的选择
笔记·python·qt·学习·pyqt
田甲4 小时前
EasyScale单总线数字调光
单片机·嵌入式硬件
电子工程师-C514 小时前
基于51单片机的环境监测及窗帘控制系统
单片机·嵌入式硬件·51单片机