功能
本设计由STC89C52单片机电路+无线充电模块电路+高亮灯电路+按键电路+锂电池充电保护电路+升压电路组成。
1、通过线圈之间产生的磁场传输电能,来代替电源线,主要采用了电磁感应原理。即无线充电。
2、按键按下,高亮灯亮,再次按下,高亮灯灭。
3、双USB口5V输出。
4、LCD1602液晶实时显示系统是否在充电中。
原理图
源代码
#include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include #include "1602.h" #include "delay.h" sbit check = P1^0; sbit key =P1^1; sbit led =P2^1; char dis0[16]; //打印数组初始化 char dis1[16]; //打印数组初始化 unsigned long time_20ms=0; //定时器计数 unsigned char disFlag; //变量 void Init_Timer0(void); //函数声明 bit rekey =0; void main (void) { Init_Timer0(); //定时器0初始化 LCD_Init(); //初始化液晶 DelayMs(20); //延时有助于稳定 LCD_Clear(); LCD_Write_String(0,0,"my desiger! "); while (1) //主循环 { if(disFlag == 1) //更新显示 { disFlag = 0; if(check == 1)//检测到充电 {LCD_Write_String(0,1,"cd: Yes ");} } else { rekey = 0; //防止重复按下 } } } void Init_Timer0(void) { TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响 TH0=(65536-20000)/256; //重新赋值 20ms TL0=(65536-20000)%256; EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 } void Timer0_isr(void) interrupt 1 { TH0=(65536-20000)/256; //重新赋值 20ms TL0=(65536-20000)%256; time_20ms++; if(time_20ms % 10 == 0) { disFlag =1 ;//定时更新显示 } }
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
6001文章
43973浏览量
620835 -
电源设计
+关注
关注
30文章
1504浏览量
65387 -
STC89C52
+关注
关注
39文章
327浏览量
81236 -
51单片机
+关注
关注
269文章
5649浏览量
120700 -
移动电源
+关注
关注
48文章
1325浏览量
74725
原文标题:【毕业设计006】基于51单片机的移动电源设计-无线充电-高亮-KEY-TP4056-升压-(电路图 程序源码)
文章出处:【微信号:精通单片机与嵌入式,微信公众号:精通单片机与嵌入式】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
51单片机经典教程
的一台功放机就要卖好几千。另外这种芯片的生产量很大,技术也很成熟,51系列的单片机已经做了十几年,所以价格就低了。 既然如此,单片机的功能肯定不强,干吗要学它呢? 话不能这样说,实际工
发表于 04-14 16:07
国内单片机开发厂商英锐恩单片机开发-移动电源方案
,较少见)作为储电单元,使用方便快捷。单片机开发:充放电管理控制;电量显示;快充、慢充使用芯片:EN单片机英锐恩拥有10年历史的老字号方案公司,主营单片机和集成电路方案应用开发,现有看门狗方案、强光
发表于 09-17 17:49
基于MC32P21单片机的移动电源设计
导读:本系统以MC32P21单片机为控制核心,实时采样,采样数据通过单片机进行运算处理从而完成当前电压和电流的测量,随后把电压通过LED灯显示出来,并根据电流电压的值控制整个系统的运行。 移动
发表于 09-30 16:20
51单片机原理与应用案例教程
51单片机原理与应用案例教程 (C51编程)_14093397[General Information]书名=51单片机原理与应用案例教程
发表于 07-15 06:32
评论