STC15系列单片机学习笔记——光敏电阻与蜂鸣器的使用案例

本文介绍了如何在STC15系列单片机中利用光敏电阻和蜂鸣器制作光照报警器。通过分析原理图、代码片段,详细讲解了光敏电阻和蜂鸣器的工作原理以及在实际应用中的配置和控制。当光照值低于设定阈值时,蜂鸣器会发出报警。内容涉及模数转换器寄存器、定时器与计数器寄存器、数据处理函数和数码管显示等知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

光照报警器

1. 原理图
1.1关于光敏电阻在这里插入图片描述
在这里插入图片描述
1.2 关于蜂鸣器
在这里插入图片描述

2. 代码片段分析
2.1 定义以及初始化

#include "STC15F2K60S2.H"
#define uint unsigned int
#define ulint unsigned long
#define uchar unsigned char	
#define NMAX_KEY 100  //100次读取按键值 

sbit SEL0=P2^0;			//定义引脚
sbit SEL1=P2^1;
sbit SEL2=P2^2;
sbit led_sel=P2^3;
sbit beep=P3^4;		//蜂鸣器引脚
sbit Key1=P3^2;	   //Key1   切换标志位 

uint time=0;				//延时
uint l=0;					//执行光的次数
ulint suml=0;				//光AD值得总和

uint light=0;				//光
uint light_down=20;    //设置警报下限
uint light_up=100;	    //设置警报上限
uchar flag=0;				//切换模式,0代表下限,1代表上限

//设置用于显示光的三个变量
uint light_bai=0;		//百位
uint light_shi=0;		//十位
uint light_ge =0;		//个位
//警报值
uint down_bai=0;		//百位
uint down_shi=0;		//十位
uint down_ge =0;		//个位
//警报值
uint up_bai=0;		//百位
uint up_shi=0;		//十位
uint up_ge =0;		//个位
/**********************
变量定义
***********************/
uchar G_count;
uchar display;
uint Key1_count;
uint Key_count;

bit Key1_C;				//key1当前的状态
bit Key1_P;				//key1前一个状态

//数码管上显示0-F
char segtable[]={
   0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
			 0x7f,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值