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;

}

相关推荐
炽烈小老头19 小时前
【每天学习一点算法 2025/12/19】二叉树的层序遍历
数据结构·学习·算法
xian_wwq19 小时前
【学习笔记】数据血缘
笔记·学习·数据血缘
夜月yeyue20 小时前
Linux 调度类(sched_class)
linux·运维·c语言·单片机·性能优化
日更嵌入式的打工仔20 小时前
实用:嵌入式执行时间测量常用方法
笔记·单片机
map_vis_3d20 小时前
JSAPIThree LODModel 性能优化学习笔记:细节层次模型加载
笔记·学习·3d
MarkHD21 小时前
智能体在车联网中的应用:第9天 核心工具链与仿真世界:SUMO交通仿真入门——从安装到构建你的第一个虚拟十字路口
学习
lxh011321 小时前
2025/12/18 学习总结
学习
im_AMBER21 小时前
数据结构 13 图 | 哈希表 | 树
数据结构·笔记·学习·算法·散列表
wdfk_prog21 小时前
[Linux]学习笔记系列 -- [fs][drop_caches]
linux·笔记·学习
dreamczf21 小时前
如何确定项目中的产品选型-物联网设备
单片机·物联网·嵌入式软件