当前位置: 首页 > news >正文

2021-06-10 51单片机设计一个蜂鸣器报警电路每秒

缘由求助一下谢谢啦51单片机_嵌入式-CSDN问答设计一个蜂鸣器报警电路,按下K1,蜂鸣器响一声,按下K2,蜂鸣器响三声,按下K3,蜂鸣器长鸣。要求响声和间隔的时间均为1秒,长鸣不限时,但是此时应设置一个按键能够使长鸣结束

#include "REG52.h"
sbit K1 = P1^5;
sbit K2 = P1^6;
sbit K3 = P1^7;
sbit BUZ1=P1^0;
bit k=0;
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128};//0-9.
unsigned char Js=0,kz=0;//中断计时
void smxs(unsigned char mz,unsigned char w)
{unsigned char Xd=0;P0=255;P0=255-SmZiFu[mz];P2=w;while(++Xd);
}
void JiShi(/*时间计算*/)
{if(Js>=20){Js=0;kz=0;}
}
void ZhongDuanSheZhi()
{TH0+=0X4c;/*定时器赋初值,定时50ms触发中断,自动补偿方式*/TL0+=0X00; TMOD=0X01;TR0=1; ET0=1; //开启定时器EA=1; //全局中断开关
}
void main()
{unsigned char Xd=200,ss=0;unsigned int wei=0;ZhongDuanSheZhi();while(1){if(K1==0&&++Xd==0){ss=1*2;while(K1==0)smxs(ss,8);kz=1;Xd=200;}if(K2==0&&++Xd==0){ss=3*2;while(K2==0)smxs(ss,8);kz=1;Xd=200;}if(K3==0&&++Xd==0){ss=0;k=~k;while(K3==0)smxs(k?1:0,8);Xd=200;}if(ss&&!kz){++kz;k=~k;--ss;smxs(ss,8);}if(k&&++Xd==0)BUZ1=~BUZ1;JiShi();//一定要放在最后}
}
void ZhongDuan() interrupt 1
{++Js;TH0+=0X4c;TL0+=0X00;        
}
#include "REG52.h"
sbit K1 = P1^5;
sbit K2 = P1^6;
sbit K3 = P1^7;
sbit BUZ1=P1^0;
bit k=0;
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128};//0-9.
void smxs(unsigned char mz,unsigned char w)
{unsigned char Xd=0;P0=255;P0=255-SmZiFu[mz];P2=w;while(++Xd);
}
void main()
{unsigned char Xd=0,ss=0;unsigned int wei=0;while(1){if(K1==0&&++Xd==0){ss=1*2;while(K1==0)smxs(ss,8);}if(K2==0&&++Xd==0){ss=3*2;while(K2==0)smxs(ss,8);}if(K3==0&&++Xd==0){ss=0;k=!k;while(K3==0);}if(ss&&!++wei){k=!k;--ss;smxs(ss,8);}if(k&&++Xd==0)BUZ1=~BUZ1;}
}

http://www.lryc.cn/news/180327.html

相关文章:

  • D‘Agostino-Pearson正态检验|偏度skewness和峰度kurtosis
  • 基于树莓派CM4制作img系统镜像批量制作TF卡
  • 【中秋国庆不断更】OpenHarmony组件内状态变量使用:@State装饰器
  • 【Java 进阶篇】MySQL多表关系详解
  • 【开发篇】十、Spring缓存:手机验证码的生成与校验
  • 【Aurora 8B/10B IP(1)--初步了解】
  • C++ vector容器的介绍与使用
  • openstack的组成
  • [React] React高阶组件(HOC)
  • 【逐步剖C++】-第二章-C++类和对象(中)
  • PL/SQL动态SQL
  • Python绘图系统24:添加辅助坐标轴
  • Java自学网站--十几个网站的分析与评测
  • java接口怎么写
  • 第8章 Spring(二)
  • 从0开始python学习-24.selenium 浏览器常见的操作
  • Canal实现数据同步
  • 数据库学习笔记——DDL
  • MATLAB算法实战应用案例精讲-【人工智能】边缘计算(附python代码实现)
  • 精彩回顾 | 迪捷软件亮相2023世界智能网联汽车大会
  • 【ShaderLab PBR 嗜血边缘角色_美式朋克风格_“Niohoggr“_角色渲染(第一篇)】
  • python经典百题之围圈报数
  • Google Earth Engine(GEE)案例——如何去除和过滤Landsat和sentinel等系列影像集合中的空影像(三种方法)
  • Leetcode 69.x的平方根
  • Node18.x基础使用总结(二)
  • LCD 的RGB接口(SYNC Mode/ SYNC-DE Mode/ DE Mode)
  • flink生成水位线记录方式--周期性水位线生成器
  • 百度资源搜索平台出现:You do not have the proper credential to access this page.怎么办?
  • 树莓派CM4开启I2C与UART串口登录同时serial0映射到ttyS0 开启多串口
  • 【租车骑绿道】python实现-附ChatGPT解析