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;

}

相关推荐
youshi666813 分钟前
stm32-看门狗
stm32·单片机·嵌入式硬件
M1582276905515 分钟前
三格串口服务器:RS232/485 设备联网解决方案
运维·服务器·单片机
736c39 分钟前
STM32-NVIC 13
单片机·嵌入式硬件
国科安芯1 小时前
ASC8T245S:把 8 位并行总线稳稳“跨过“电压域的双电源收发器
网络·分布式·单片机·嵌入式硬件·fpga开发·架构
Messy create1 小时前
【BMS-三级架构】
单片机·mcu·架构·能源
佳児素花痴╮1 小时前
STM32(STM32U575RIT6)基础学习(GPIO)
stm32·单片机·嵌入式硬件
星栖与芯2 小时前
# STM32MP157+LiteOS-M GCC极简工程:启动源码适配+Windows Make终极避坑
windows·stm32·单片机
️学习的小王3 小时前
AI Agent Skills实战教程:从原理到上手编写SKILL.md
人工智能·深度学习·学习·机器学习
小何code3 小时前
STM32入门教程,第12课(下),旋转编码器计次
单片机·嵌入式硬件
春风解人意3 小时前
从零开始学习嵌入式P29----线程间的通信
c语言·嵌入式硬件·学习