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;

}

相关推荐
Asher阿舍技术站1 小时前
【AI基础学习系列】四、Prompt基础知识
人工智能·学习·prompt
张槊哲2 小时前
IIC图解
单片机·嵌入式硬件
CappuccinoRose2 小时前
CSS 语法学习文档(十三)
前端·css·学习·postcss·模块化·预处理器
im_AMBER2 小时前
Leetcode 121 翻转二叉树 | 二叉树中的最大路径和
数据结构·学习·算法·leetcode
じ☆冷颜〃3 小时前
随机微分层论:统一代数、拓扑与分析框架下的SPDE论述
笔记·python·学习·线性代数·拓扑学
前路不黑暗@5 小时前
Java项目:Java脚手架项目的地图服务(十)
java·数据库·spring boot·笔记·学习·spring cloud·maven
DLGXY5 小时前
STM32(十九)——软件/硬件IIC读写MPU6050
stm32·单片机·嵌入式硬件
-To be number.wan6 小时前
算法学习日记 | 双指针
c++·学习·算法
科技林总6 小时前
【系统分析师】9.1 信息系统安全体系
学习
爱问问题的小李6 小时前
AI生成的Threejs常用Api学习计划
人工智能·学习