軟件設(shè)計本設(shè)計主要是對突發(fā)停電或電路故障等做出的自動切換備用電源的設(shè)計,主要針對檢測到電路中正常電壓為0V時,說明停電或電路故障,這時自動切換備用電池,提供用電。其次還會對電池電量進行檢測,防止過充等情況。
電路原理圖如下:
1.png (130.55 KB, 下載次數(shù): 72)
下載附件
2021-3-17 09:58 上傳
4.1 主程序 在程序開始以前我們要進行引腳的初始化,首先需要對adc0832芯片進行初始化,然后對LCD1602初始化并對其進行賦值,隨后初始化界面顯示。進入到while循環(huán)中,先檢測市電電壓值,如果電壓值為0,則報警提醒斷電或電路故障,并切換電池供電。隨后對電池電壓進行檢測,如果電壓值小于20v或大于25v,說明電池電壓異常,停止充電,并報警;如果電壓值大于等于20v小于24v,則正常充電;如果電壓值大于等于24v小于等于25v,則停止充電。 圖 4.1主流程圖
4.2 電池電壓檢測程序
每次運行前面都要初始化單片機,再初始化adc模塊,然后采集我們需要的電池電壓值并判斷電壓的值,如果電壓值小于20v或大于25v,說明電池電壓異常,停止充電,并報警;如果電壓值大于等于20v小于24v,則正常充電;如果電壓值大于等于24v小于等于25v,表面已充滿,則停止充電。 圖4.2 電池電壓檢測流程圖
4.3 LCD顯示程序
初始化LCD1602,剛開始第一行顯示“INPUT:000v”,第二行顯示“BAT:00.0v”。后面讀取實時的電壓值后填入第一行的數(shù)值處,替代原先位置,第二行也是同樣的操作。 圖4.3 LCD顯示運行流程圖
單片機源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #include <math.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define ulong unsigned long
- #include "1602.h"
- #include "ad.h"
- sbit beer=P1^0;//蜂鳴器
- sbit out=P2^3; //負載
- sbit bat=P2^4; //充電
- //喇叭控制
- void beerc()
- {
- beer=0;_delay_ms(500);
- beer=1;_delay_ms(500);
- }
- //顯示充電參數(shù)------------------------------
- void xianshi()
- {
- uint u1=0; //充電電壓
- uint u2=0; //被充電電壓
- u1=adc0832(0)*(uint)300/(uint)255; //市電電壓
- u2=adc0832(1)*(uint)300/(uint)255; //電池電壓
- lcd1602_adr(0x07);
- lcd1602_writenumber(0x30+u1%1000/100);
- lcd1602_writenumber(0x30+u1%100/10);
- lcd1602_writenumber(0x30+u1%10);
- lcd1602_adr(0x45);
- lcd1602_writenumber(0x30+u2%1000/100);
- lcd1602_writenumber(0x30+u2%100/10);
- lcd1602_writenumber('.');
- lcd1602_writenumber(0x30+u2%10);
- if(u1 == 1)
- {
- beerc();
- bat = 1;
- out=1;
- }
- else
- {
- out=0;
- }
- if(u1 != 1 && (u2 >= 200 && u2 < 240))
- {
- bat = 0;
- }
- if(u2 >= 240 && u2 <= 250)
- {
- bat = 1;
- }
- if(u2 < 200 || u2 > 250)
- {
- bat = 1;
- beerc();
- }
- }
- //主函數(shù)
- void main()
- {
- //初始化
- lcd1602_init();
- _delay_ms(10);
- LCD1602_string(1,2,"INPUT:000v");
- LCD1602_string(2,2,"BAT:00.0v ");
- while(1)
- {
- xianshi();
- }
- }
復制代碼
以上資料51hei提供下載(方便保存):
水平有限,僅供參考:
源程序.7z
(56.74 KB, 下載次數(shù): 37)
2021-3-17 16:11 上傳
點擊文件名下載附件
全部代碼 下載積分: 黑幣 -5
上文的Word版(和網(wǎng)頁上的內(nèi)容一樣):
軟件設(shè)計.doc
(346.5 KB, 下載次數(shù): 23)
2021-3-17 10:06 上傳
點擊文件名下載附件
流程圖 下載積分: 黑幣 -5
|