51单片机解析adxl335振动检测蜂鸣器报警课设
通过按键调整振动检测阈值
传感器介绍
TLC2543:12 位精密模数转换器,原理图与引脚功能描述如下所示:
引脚 | 功能 |
---|---|
1~9、11、12 | 模拟量输入通道 |
10 | GND电源地 |
13 | REF-为负基准电压端 |
14 | REF+为正基准电压端 |
15 | CS 为片选端 |
16 | DOUT为A/D转换结果的三态串行输出端;(A/D转换结果的输出端。) |
17 | DIN 为串行数据输入端;(控制字输入端,用于选择转换及输出数据格式) |
18 | CLK为I/O时钟;(控制输入输出的时钟,由外部输入。) |
19 | EOC为转换结束端 |
20 | VCC为电源 |
ADXL335:加速度传感器,量程±3g。可测量倾斜感应应用中由于重力引起的静态加速度,以及由于运动冲击或振动而产生的动态加速度。传感器的工作电压为1.8V至3.6V DC,接线说明见下图。
官网手册
引脚 | 功能描述 |
---|---|
1 | VCC电源 |
2 | X轴加速度输出 |
3 | Y轴加速度输出 |
4 | Z轴加速度输出 |
5 | GND电源 |
6 | 自测引脚 |
51单片机proteus仿真过程
部分接口与标志位定义
//定义蜂鸣器的端口
sbit buzz=P3^7; //蜂鸣器
//定义按键的端口
sbit key1=P1^0; //按键设置阈值+
sbit key2=P1^1; //按键设置阈值-
sbit key3=P1^2; //按键设置报警开关
//定义TLC2543的端口
sbit ADout=P2^0; //AD接收口
sbit ADin= P2^1; //选择通道
sbit CS= P2^2; //片选端
sbit CLK= P2^3; //时钟时序
sbit EOC= P2^4; //AD转换结束端
//定义LCD1602的端口
#define lcd_ouput P0 //P1口连了双向数据线
sbit RS=P2^5; //寄存器选择端
sbit RW=P2^6; //读写信号线
sbit EN=P2^7; //使能端
//定义相关标志位
uchar warn_state=0; //报警状态
uint ad_data,ad_adjust; //ad原始数据,ad转换后百分比数据
uint vibrate_cnt=0,threshold=70;//振动超限计数次数,超限阈值默认70。
//不计算下限,因为振动为往复运动。
完整资料下载链接
有问题联系qq:209518616