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;

}

相关推荐
承渊政道17 分钟前
C++学习之旅【实战全面解析C++类和对象】
c++·笔记·学习
猪八戒1.021 分钟前
【梅花】2.工程模板的搭建
单片机·嵌入式硬件
丝斯201123 分钟前
AI学习笔记整理(30)—— 计算机视觉之动作识别相关算法
人工智能·笔记·学习
清风66666623 分钟前
基于单片机的井盖安全监测与报警上位机监测系统设计
单片机·嵌入式硬件·安全·毕业设计·课程设计·期末大作业
清风66666624 分钟前
基于单片机的多功能LCD音乐播放器设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
国科安芯27 分钟前
车规级芯片的AECQ100规范及详细测试项目介绍——以ASM1042型CAN FD收发器芯片为例
单片机·嵌入式硬件·架构·安全威胁分析·安全性测试
AA陈超28 分钟前
LyraStarterGame_5.6 Experience系统分析
开发语言·c++·笔记·学习·ue5·lyra
烤麻辣烫28 分钟前
黑马大事件学习-16 (前端主页面)
前端·css·vue.js·学习
嗷嗷哦润橘_37 分钟前
AI Agent学习:MetaGPT项目之debate.py
学习
做cv的小昊37 分钟前
计算机图形学:【Games101】学习笔记04——着色(光照与基本着色模型,着色频率、图形管线、纹理映射)
笔记·学习·3d·图形渲染·光照贴图·计算机图形学