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;

}

相关推荐
小凯123451 小时前
pytest框架-详解(学习pytest框架这一篇就够了)
python·学习·pytest
今儿敲了吗2 小时前
29| 高考志愿
c++·笔记·学习·算法
浅念-2 小时前
C++ 模板进阶
开发语言·数据结构·c++·经验分享·笔记·学习·模版
mightbxg4 小时前
【学习一下】深入理解交叉熵
人工智能·学习·机器学习
weixin_458872614 小时前
东华复试OJ每日3题打卡·复盘100~102
学习
一路往蓝-Anbo4 小时前
第 12 章:Linux 侧 RPMsg 用户态驱动与数据接口
linux·运维·服务器·stm32·单片机·嵌入式硬件·网络协议
The️5 小时前
STM32-FreeRTOS操作系统-软件定时器
arm开发·stm32·单片机·嵌入式硬件·mcu·c#
我命由我123455 小时前
Photoshop - Ps还原和历史记录
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
我命由我123455 小时前
Photoshop - Ps工作界面
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
ps酷教程6 小时前
spring-retry学习 (2) -图解源码
学习