无线充电智能保温杯设计

目 录
1 绪论 2
1.1 选题背景及意义 2
1.2 发展现状及趋势 2
1.3 研究主要内容 2
2 总体方案设计 3
2.1 系统硬件设计方案 3
2.1.1 主控制电路 3
2.1.2 显示电路 4
2.1.3 继电器加热控制电路 4
2.2 软件设计方案 5
2.3 生物特征识别技术概述 5
3 系统硬件设计 8
3.1 硬件设计环境介绍 8
3.2 单片机最小系统设计 8
3.2.1 AT89C51简介 8
3.2.2 单片机端口分配及功能 8
3.3 显示电路设计 10
3.3.1 LED显示器的分类 10
3.3.2 数码管结构 11
3.3.3 数码管工作原理 11
3.3.4 按键电路 12
3.4 温度系统 12
3.4.1 DS18B20的工作原理和测温原理 12
3.4.2 温度采集电路 14
3.4.3 温度自动提醒电路设计 14
3.4.5 温度制冷,制热设计 14
3.5 无线充电模块 16
3.5.1 NE555D脉冲发生器模块 17
3.5.2 功率放大及无线发射模块 17
3.5.3 感应线圈模块 17
3.5.4 充电检测模块 18
3.5.5 智能断电模块 19
3.6 嵌入式指纹识别系统的硬件结构 20
3.6.1 嵌入式指纹识别系统结构图 20
3.6.2 硬件框图 21
4 系统软件设计 22
4.1 系统软件整体设计 22
4.2 系统程序设计 22
4.2.1 主程序设计 22
4.2.2 显示程序设计 22
4.2.3 温度判断程序设计 22
4.2.4 DS18B20程序设计 23
4.2.5 中断模块程序设计 26
4.3 指纹识别软件设计 27
4.3.1 整体结构设计 27
4.3.2 软件的总框图 27
4.3.3 软件调试 28
5 系统仿真设计 32
总 结 33
参考文献 34
致 谢 35
附 录 36
1.3 研究主要内容
杯身的材料采用具有较强的隔热性能,且对人体没有伤害的食品级 304 不锈钢。杯体部分工艺上可按需要制作高矮胖瘦,杯体底部也可设计需要加开底托磨具,中栓为固定。杯子外壳部分装有太阳能板充电装置,可对其内部电池充电(一般的USB插口也可对其充电);保温杯内部通过温度传感器来测量水温,杯子外壳设有LED显示屏,显示杯内水温以及设定的温度值以及实时显示的温度值。
本设计采用DS18B20温度传感器作为温度信号的采集器,以数字传感器和单片机为主体完成对整个温度的监控,再配以相应的继电电路完成对整个温度系统的控制。本设计的目标是设计出一个能够较好的控制杯内温度的智能保温杯,保温杯的容量为500ml,杯身的太阳能板充电装置则可以达到合理的、高效率的利用太阳能对其内部电池充电,从而达到节约能源的目的。无线充电模式则可以使用户能够更加方便地对保温杯内部电池充电。杯盖的LED显示屏则可以显示用户输入的最高、最低温度以及杯内的实时温度的值。
2 总体方案设计
2.1 系统硬件设计方案
本设计采用 AT89C51 单片机系统辅以外围电路为控制核心,以 DS18B20 温度传感器为温度感应装置,继电器和金属加热棒构成了温度调控装置,电源提供电能,按键部分方便用户随时设定想要达到的温度,LED 数码管提供显示功能。DS18B20 温度传感器把感受到的温度数字信息传到以单片机为核心的微处理器中,同时单片机发出指令到数码管控 制数码管输出。数码管显示出杯内的实时水温。当 杯内的水温小于用户设置的目标温度时,单片机就 会发出指令到继电器控制电路。继电器控制电路对 杯内水进行加热,一直加热到目标设置的温度为止。同理,当水温高于目标温度时,单片机发出指令到继 电控制电路进行降温,一直降温到目标温度时停止 降温。如此周而复始,本文转载自http://www.biyezuopin.vip/onews.asp?id=11962达到了智能保温杯的温度 的控制。用户可以通过按键对保温杯内的水温进行设置。LED 数码管上的最小显示精度达到 0. 1 度。系统总体框图如图 2 所示
在这里插入图片描述

图 2 系统总体框图

/**************************************
延时X*10微秒(STC90C52RC@12M)
不同的工作环境,需要调整此函数
当改用1T的MCU时,请调整此延时函数
**************************************/
void DelayX0us(unsigned char n)
{
    while (n--)
    {
        _nop_()_nop_()}
}

/**************************************
复位DS18B20,并检测设备是否存在
**************************************/
void DS18B20_Reset()
{
    CY = 1while (CY)
    {
        DQ = 0//送出低电平复位信号
        DelayX0us(48)//延时至少480us
        DQ = 1//释放数据线
        DelayX0us(6)//等待60us
        CY = DQ;                   //检测存在脉冲
        DelayX0us(42)//等待设备释放数据线
    }
}

/**************************************
从DS18B20读1字节数据
**************************************/
unsigned char DS18B20_ReadByte()
{
    unsigned char i;
    unsigned char dat = 0for (i=0;i<8;i++)             //8位计数器
    {
        dat >>= 1;
        DQ = 0//开始时间片
        _nop_()//延时等待
        _nop_();
        DQ = 1//准备接收
        _nop_()//接收延时
        _nop_()if (DQ) dat |= 0x80//读取数据
        DelayX0us(6)//等待时间片结束
    }

    return dat;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值