1. 程式人生 > 實用技巧 >440【畢設課設】基於51微控制器蓄電池充電器過充過放保護液晶顯示系統

440【畢設課設】基於51微控制器蓄電池充電器過充過放保護液晶顯示系統

【資源下載】下載地址如下:
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;				 //繼電器