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;

}

相关推荐
Awh-3 小时前
ARM 裸机开发 DAY8 学习笔记
arm开发·笔记·学习
硅基手札3 小时前
【I2C 技术系列 11】I2C Linux 驱动框架
linux·驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
PC2005-cloud3 小时前
MySQL学习笔记:主从复制集群搭建以及原理详解
笔记·学习·mysql
MCT1236543 小时前
从零学习功率电感:Buck电路电感参数计算全过程
学习·ai服务器·功率电感·dc/dc 电源设计·车载电感器
Xudde.3 小时前
Mr-Robot 靶机渗透测试(Vulnhub Writeup)
笔记·学习·安全·web安全
外收内放4 小时前
数据分析(数据查询与选择)
python·学习·数据分析
wuyk5554 小时前
样章-第03讲-FreeRTOS在16KB-RAM上的裁剪与陷阱
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·系统架构
MIXLLRED4 小时前
Batch Normalization 学习笔记:γ、β 与 γ>0 的关键限制
笔记·学习·batch
霖霖7144 小时前
【ESP32笔记】LED操作和呼吸灯实现
笔记·单片机·嵌入式硬件
2501_937860944 小时前
HTTP/HTTPS 学习笔记(中):报头、Cookie、状态码与请求构造
学习·http·https