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;

}

相关推荐
yiqiqukanhaiba17 分钟前
STM32学习笔记14-I2C硬件控制
笔记·stm32·学习
悠哉悠哉愿意32 分钟前
【Python语法基础学习笔记】if语句
笔记·python·学习
杜子不疼.1 小时前
《Python学习之第三方库:开启无限可能》
开发语言·python·学习
Ronin-Lotus1 小时前
嵌入式硬件篇---Buck&Boost电路
单片机·嵌入式硬件
小张的博客之旅2 小时前
宁波市第八届网络安全大赛初赛(REVERSE-Writeup)
学习·网络安全·reverse
清风6666663 小时前
基于STM32F103单片机智能门禁热释人体感应报警设计
单片机·毕业设计·课程设计
墨雨听阁3 小时前
8.18网络编程——基于UDP的TFTP文件传输客户端
网络·网络协议·学习·udp
小晶晶京京3 小时前
day35-负载均衡
运维·网络·网络协议·学习·负载均衡
清风6666664 小时前
基于51单片机自动智能浇花系统设计
stm32·单片机·嵌入式硬件·毕业设计·课程设计
long3166 小时前
构建者设计模式 Builder
java·后端·学习·设计模式