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;

}

相关推荐
载数而行5208 小时前
QT的五类布局
c++·qt·学习
载数而行5208 小时前
QT的QString类
c++·qt·学习
芯联智造8 小时前
【stm32简单外设篇】- WS2812单线地址式 RGB 灯带
c语言·stm32·单片机·嵌入式硬件
zl_dfq9 小时前
Python学习2 之 【数据类型、运算及相关函数、math库】
学习
2301_7811435611 小时前
C语言学习笔记
笔记·学习
Alphapeople12 小时前
Isaac Sim学习
学习
蒸蒸yyyyzwd12 小时前
高并发40问学习笔记
笔记·学习
天若有情67314 小时前
循环条件隐藏陷阱:我发现了「同循环双条件竞态问题」
c++·学习·算法·编程范式·while循环··竞态
Amazing_Cacao14 小时前
褪去故事滤镜:重建精品可可的“结构语言”
笔记·学习
网络工程小王15 小时前
【大数据技术详解】——Sqoop技术(学习笔记)
大数据·学习·sqoop