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;

}

相关推荐
水云桐程序员11 小时前
量子力学概论,量子力学概念总结
笔记·科技·学习·量子计算
伟大的前程12 小时前
Flash 只能将比特从 1 改写为 0,无法从 0 改回 1
单片机
三克的油13 小时前
java-学习1
java·开发语言·学习
j7~13 小时前
【C++微服务项目开发脚手架】(接口篇一)gflags + gtest + spdlog 接口学习笔记
c++·学习·gtest·项目开发·spdlog·gflags·c++项目微服务开发脚手架
彧azz13 小时前
图的最短路径:Dijkstra与Floyd算法
数据结构·笔记·学习
DaTou大头14 小时前
STM32第六篇
单片机·嵌入式·电路基础
笨鸟先飞的橘猫14 小时前
系统设计复盘2026-09-18
学习
传奇开心果编程15 小时前
【Rust入门练中学】 第1课:从零开始
开发语言·学习·rust
myy-learn15 小时前
51 单片机-串口通信
51单片机
高亦真15 小时前
今天是学习嵌入式的第39天
linux·学习·算法