freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stc單片機(jī)的太陽(yáng)能控制器設(shè)計(jì)-資料下載頁(yè)

2025-07-31 09:02本頁(yè)面

【導(dǎo)讀】太陽(yáng)能的研究與使用的重要性不說(shuō)自明。世界各地大型光伏電站的投建,為人。類(lèi)提供了一種新的能源解決方案。另外,小型的離網(wǎng)系統(tǒng)由于其具有簡(jiǎn)單靈活。放電控制器,單片機(jī)采用STC89C52,蓄電池采用鉛酸蓄電池。全、潔凈的新能源,正被廣泛地應(yīng)用。部件,其功能的好壞直接影響著太陽(yáng)能路燈的使用壽命。為適應(yīng)不同場(chǎng)合和各。式充電,并通過(guò)發(fā)光二極管顯示各狀態(tài)。在恒流充電狀態(tài)下,不斷檢測(cè)電池端電壓,當(dāng)。電池電壓達(dá)到飽和電壓時(shí),恒流充電狀態(tài)終止。恒壓充電階段則保持充電電壓。電池處于浮充電階段時(shí)電壓始終保持在10.8V,主要用于補(bǔ)充蓄電池自。本次設(shè)計(jì)采用STC89C52單片機(jī)實(shí)現(xiàn)太陽(yáng)能電池板對(duì)蓄電池的充放電控制,源和早日擺脫能源危機(jī)。多晶硅太陽(yáng)能電池的晶體方向的無(wú)規(guī)則性,意味著正負(fù)電荷對(duì)并不能。通過(guò)導(dǎo)線連接的太陽(yáng)能電池被密封成的物理單元被稱(chēng)為太陽(yáng)能電池組件,陽(yáng)輻照度下的關(guān)系。

  

【正文】 0。 第 26 頁(yè) 共 33 頁(yè) 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) sbit RReload=P1^1。 sbit RS = P2^3。 sbit RW = P2^4。 sbit EN = P2^5。 define DataPort P0 uchar buff[] = {0}。 bit IsDayLight=1。//白天 /黑天 1/0 bit IsLoad=0。 bit IsCharge=0。//充電開(kāi) /關(guān) 1/0 bit LoadState=0。 float Voltage=0。 uint T_Count=0。 //函數(shù)聲明部分 void LCDInit()。//初始化 lcd1602 驅(qū)動(dòng)函數(shù)程序 void ShowInt(uchar n,uchar x,uchar y)。 void ShowCharGrp(uchar *CG,uchar x,uchar y)。 void WCOM(uchar x)。 void ShowChar(char m_char,uchar x,uchar y)。 //12M 晶振延時(shí)程序 void delayms(uint x)//延時(shí) 5ms { uchar i。 while(x)for(i=0。i120。i++)。 } /////////////////////////////////////////////// // 1602 控制 ////////////////////////////////////////////// void WCOM(uchar x)//寫(xiě)指令 { delayms(5)。 EN = 0。 RS = 0。//RS /data:0/1 RW = 0。//RW write/read:0/1 delayms(1)。 DataPort = x。 delayms(1)。 EN = 1。 delayms(1)。 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) 第 27 頁(yè) 共 33 頁(yè) EN = 0。 } void WDATA(uchar x)//寫(xiě)數(shù)據(jù) { delayms(5)。 EN = 0。 RS = 1。//RS /data:0/1 RW = 0。//RW write/read:0/1 delayms(1)。 DataPort = x。 delayms(1)。 EN = 1。 delayms(1)。 EN = 0。 } void LCDInit() { WCOM(0x38)。 WCOM(0x0c)。 WCOM(0x06)。 WCOM(0x01)。 WCOM(0x80)。 } void ShowChar(char m_char,uchar x,uchar y) { if(1==x)x=0x80。 if(2==x)x=0x80+0x40。 y=1。 WCOM(x+y)。 WDATA(m_char)。 } void ShowInt(uchar n,uchar x,uchar y) { if(1==x)x=0x80。 if(2==x)x=0x80+0x40。 y=1。 WCOM(x+y)。 WDATA(n%10000/1000+39。039。)。 WDATA(n%1000/100+39。039。)。 WDATA(n%100/10+0x30)。 WDATA(n%10+0x30)。 } 第 28 頁(yè) 共 33 頁(yè) 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) void ShowCharGrp(uchar *CG,uchar x,uchar y) { if(1==x)x=0x80。 if(2==x)x=0x80+0x40。 y=1。 WCOM(x+y)。 do { WDATA(*CG)。 CG++。 } while(39。\039。!=*CG)。 } /******************************************************** 函數(shù)名稱(chēng) :void AD_init(uchar i) 函數(shù)作用 :初始化 ADC0832 參數(shù)說(shuō)明 :i=2,表示通道 0, i=3,表示通道 1 ********************************************************/ void AD_init(uchar i) { ADDI = 1。 /*在第 1 個(gè)時(shí)鐘脈沖的下沉之前 DI 端必須是高電平,表示啟始信號(hào) */ _nop_()。 _nop_()。 ADCS = 0。 //使能 ADC0832 _nop_()。 _nop_()。 ADCLK = 1。 _nop_()。 _nop_()。 ADCLK = 0。 //形成下降沿 1 _nop_()。 _nop_()。 /*在第 3 個(gè)脈沖下沉之前 DI端應(yīng)輸入 2 位數(shù)據(jù)用于選擇通道功能 */ if( (iamp。amp。0x01) == 0) ADDI = 0。 if( (iamp。amp。0x01) == 1) ADDI = 1。 _nop_()。 _nop_()。 ADCLK = 1。 _nop_()。 _nop_()。 ADCLK = 0。 //形成下降沿 2 _nop_()。 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) 第 29 頁(yè) 共 33 頁(yè) _nop_()。 if( (iamp。amp。0x02) == 0) ADDI = 0。 if( (iamp。amp。0x02) == 1) ADDI = 1。 ADCLK = 1。 _nop_()。 _nop_()。 ADCLK = 0。 //形成下降沿 3 _nop_()。 _nop_()。 } /******************************************************** 函數(shù)名 稱(chēng) :uchar AD_read() 函數(shù)作用 :讀取 ADC0832 轉(zhuǎn)換的數(shù)據(jù) 參數(shù)說(shuō)明 :無(wú) 函數(shù)返回 :返回 8 位的數(shù)據(jù) ********************************************************/ uchar AD_read() { uchar temp = 0。 uchar temp1 = 0。 uchar temp2 = 0。 uchar i = 0。 for(i = 0。 i 8。 i++) { ADCLK = 1。 _nop_()。 _nop_()。 ADCLK = 0。 //形成下降沿 _nop_()。 _nop_()。 if(ADDI)temp1 |= 0x01。 else temp1 |= 0x00。 temp1 = temp1 1。 } for(i = 0。 i 8。 i++) { if(ADDI)temp = 0x01。 else temp = 0x00。 temp = temp i。 temp2 |= temp。 ADCLK = 1。 _nop_()。 _nop_()。 第 30 頁(yè) 共 33 頁(yè) 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) ADCLK = 0。 //形成下降沿 _nop_()。 _nop_()。 } if(temp1 == temp2) return temp1。 return 0。 } void MCUInit() { TMOD=0X11。 TL0=(6553510000)%256。 TH0=(6553510000)/256。 TR0=1。 ET0=0。//定時(shí)器 0 中斷先關(guān)閉 EA=1。 } void MainInit() { MCUInit()。 LCDInit()。 AD_init(2)。 } float ConvertType(uchar I_Val) { return I_Val/10。 } float GetVoltage() { uint AD_Val=AD_read()。 return ConvertType(AD_Val)。 } void StopCharge() { IsCharge=0。 CHAG=1。 } void FloatCharge() { IsCharge=1。 CHAG=0。 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) 第 31 頁(yè) 共 33 頁(yè) } void ChargeNormal() { IsCharge=1。 CHAG=0。 } void ChargeImprove() { IsCharge=1。 CHAG=0。 } void OpenLoad() { RReload=1。 } void StopLoad() { RReload=0。 } void main()//主程序 { MainInit()。 T_Count=0。 ET0=1。 //顯示開(kāi)機(jī)畫(huà)面 ShowCharGrp(solar energy,1,1)。 ShowCharGrp(Date: 202068,2,1)。 delayms(2020)。 //顯示電源管理 ShowCharGrp(Battery Voltage:,1,1)。 ShowCharGrp( ,2,1)。 while(1) { if(T_Count=100)//每一秒掃描一次 { T_Count=0。 Voltage=GetVoltage()。 if(IsDayLight)//白天 { if(IsCharge) { if(Voltage=15) { StopCharge()。 第 32 頁(yè) 共 33 頁(yè) 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) } if(Voltage=) { FloatCharge()。 } if(Voltage=) { ChargeNormal()。 } else ChargeImprove()。 } else { if(Voltage=) IsCharge=1。 } } else//黑天 { if(Voltage=) { IsLoad=1。 } else IsLoad=0。 if(IsLoad) { if(LoadState!=IsLoad) { LoadState=IsLoad。 if(!IsLoad) { OpenLoad()。//開(kāi)啟負(fù)載 } else StopLoad()。 } } } } } } 基于單片機(jī)的太陽(yáng)能控制器設(shè)計(jì) 第 33 頁(yè) 共 33 頁(yè) void TimInt() interrupt 1 { TH0=(6553610000)8。 TL0=(uchar)(6553610000)。 T_Count++。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1