功能
本设计由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 ;//定时更新显示 } }
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
6035文章
44554浏览量
634593 -
电源设计
+关注
关注
31文章
1535浏览量
66386 -
STC89C52
+关注
关注
41文章
330浏览量
82041 -
51单片机
+关注
关注
274文章
5702浏览量
123482 -
移动电源
+关注
关注
48文章
1377浏览量
75515
原文标题:【毕业设计006】基于51单片机的移动电源设计-无线充电-高亮-KEY-TP4056-升压-(电路图 程序源码)
文章出处:【微信号:精通单片机与嵌入式,微信公众号:精通单片机与嵌入式】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
51单片机、AVR单片机和PIC单片机的IO口操作
51单片机、AVR单片机和PIC单片机IO口结构的均不同,导致了IO口操作也不同。操作单片机IO口的目的是让
发表于 02-20 20:25
•1.1w次阅读
51单片机是什么_51单片机入门自学
51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flashrom技术
发表于 09-09 15:36
•1.1w次阅读
51单片机auxr寄存器_pic单片机与51单片机,谁更易于学习?
与 51 单片机,二者谁更易于学习,一起来了解下吧。 一、概述51 好学一些,但是 PIC 也没比 51 难多少。首先,PIC 比 51 多
发表于 11-20 16:21
•14次下载
51单片机如何跳出wile循环_51单片机(九)汇编指令
1 往期链接Chenglin Li:51单片机(一)Visual Basic串口通信程序Chenglin Li:51单片机(二)汇编语言设计流水灯Chenglin Li:
发表于 11-22 20:21
•73次下载
评论