✨哈喽大家好,这里是@每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~
🐱🐉这是51单片机毕业设计100篇系列的第15篇:基于51单片机的智能婴儿床
💻项目相关说明:
- 代码量:954行
- 报告字数:7025字
- 含代码、仿真、原理图、报告、器件清单、常见问题(实物、lw可另外定制)
🎈项目分享:见文末!
1、主要功能
该系统由AT89C51/STC89C52单片机+LCD1602模块+DS18B20温度传感器模块+DHT11湿度传感器模块+DS1302时间模块+继电器驱动模块+电位器模块+步进电机模块+蓝牙模块构成。适用于智能婴儿床等相似项目。
可实现功能:
1、DS18B20温度传感器采集婴儿床温度
2、DHT11湿度传感器采集婴儿床湿度
3、DS1302读取北京时间
4、LCD1602显示环境参数和警报信息。5、声音传感器(电位器模拟)采集婴儿哭声,通过ADC0832进行转换采集
6、按键电路控制步进电机(摇床)、蜂鸣器(播放音乐)、继电器(开关灯)
7、设声光报警电路,在数据异常后报警,并通过蓝牙上传。
2、仿真
proteus仿真使用8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)
3、代码
部分代码,仅供参考,注释齐全。
void main(void)
{
uchar i;
static step1 = 0;
TMOD|=0x20; //TMOD=0010 0000,设置定时器T1工作于方式二
SCON=0x60; //SCON=0100 0000,设置串口的工作方式为方式1
PCON=0x00; //PCON=0000 0000,晶振为11.0592
TH1=0xf3; //设置定时器T1的初值,波特率为2400
TL1=0xf3; //定时器T1自动填充的值,波特率为2400
EA = 1; //打开总中断
TR1=1; //启动定时器T1
L1602_init();
date_init();
Ds1302ReadTime();
TIME[0]&=0X7F;
Ds1302Init();
LIGHT=1;//默认婴儿床关灯(睡眠模式)
while(1)
{
Ds1302ReadTime(); //DS1302读取当前北京时间
display_time(); //显示时间
display_temp(); //显示温度
DHT11_receive(); //读取当前湿度
get_noise(); //读取当前噪音分贝
if(flag1==0&&flag2==0&&flag3==0&&flag4==0)
{
display_humidity(); //显示湿度
display_noise(); //显示噪音分贝
}
if(key_scan() !=0) //如果按键按下
{
KEY_Control();
}
}
}
4、原理图
使用AD21绘制(不是嘉立创哦
5、参考报告
内含7k字,30页相关报告一份,纯手打~
6、常见问题
7、资源获取
扫描如下二维码,回复"51智能婴儿床"获取本项目所有文件!
希望可以对你有所帮助~