功能
本設計由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 ;//定時更新顯示 } }
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6063文章
44929瀏覽量
647169 -
電源設計
+關注
關注
31文章
1557瀏覽量
67515 -
STC89C52
+關注
關注
41文章
330瀏覽量
82864 -
51單片機
+關注
關注
277文章
5710瀏覽量
126661 -
移動電源
+關注
關注
48文章
1415瀏覽量
76446
原文標題:【畢業設計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次下載

評論