440【畢設課設】基於51微控制器蓄電池充電器過充過放保護液晶顯示系統
阿新 • • 發佈:2020-12-05
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
51微控制器蓄電池充電器過充過放保護液晶顯示64
本系統由STC89C52微控制器、LCD1602液晶顯示、A/D取樣PCF8591、
繼電器、220V交流電轉5V直流電源組成。
1、通過整流濾波將220V交流電轉化為直流電給蓄電池充電。
2、通過A/D晶片檢測蓄電池電壓,並在液晶LCD1602上實時顯示,
如果蓄電池的電壓大於14.4V就斷開繼電器進而防止蓄電池過充,
如果蓄電池電壓小於11.6V就閉合繼電器進行充電。
3、注意:該系統屬於蓄電池充電器,不包含蓄電池。
LCD_Init(); //初始化液晶 DelayMs(20); //延時有助於穩定 LCD_Clear(); //清屏 while (1) //主迴圈 { for(i=0;i<5;i++)//連續讀5次,取最後一次,以便讀取穩定值 num=ReadADC(0); //讀取第1路電壓值,範圍是0-255 Voltage=((float)num*5/256)*50/10; //根據參考電源VREF算出時間電壓,float是強制轉換符號,用於將結果轉換成浮點型 tab0[10]=(unsigned int)Voltage%100/10+0x30; tab0[11]=(unsigned int)Voltage%10+0x30; tab0[13]=(unsigned int)(Voltage*10)%10+0x30; tab0[14]=(unsigned int)(Voltage*100)%10+0x30; LCD_Write_String(0,0,tab0); if(Voltage<11.6) //電壓值對比 { LCD_Write_String(0,1,"guo fang ");//顯示過放 relay=1; //繼電器不動作 } else if((Voltage>=11.6)&&(Voltage<14.4)) //電壓值對比 { LCD_Write_String(0,1,"need chong dian "); //顯示需要充電 relay=1; //繼電器