光照报警器
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,