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

正文內(nèi)容

太陽能充放電控制器設(shè)計畢業(yè)論文(參考版)

2025-07-01 13:26本頁面
  

【正文】 //在24c02的地址p中寫入數(shù)據(jù)a1 p++。 //保存蓄電池過電壓數(shù)據(jù) if(write==1) //判斷計時器是否計時一秒 { write=0。}void AT24c02(){ init24c02()。 stop()。 respons()。 start()。 write_byte(address)。 write_byte(0xa0)。}uchar read_add(uchar address)//24c02字節(jié)讀操作函數(shù){ uchar date。 respons()。 respons()。 respons()。}void write_add(uchar address,uchar date)//24c02字節(jié)寫入函數(shù){ start()。 delay1()。 k=(k1)|sda。i++) { scl=1。 for(i=0。 sda=1。 scl=0。 delay1()。 delay1()。 delay1()。 delay1()。 delay1()。i++) { temp=temp1。 for(i=0。}void write_byte(uchar date)//串行發(fā)送字節(jié)函數(shù){ uchar i,temp。 scl=0。amp。 delay1()。}void respons() //應(yīng)答{ uchar i。 sda=1。 scl=1。}void stop() //停止{ sda=0。 sda=0。 scl=1。}void start() //開始信號{ sda=1。 scl=1。 }} //數(shù)據(jù)存儲模塊//at24c02部分子函數(shù)void init24c02()//24c02初始化函數(shù){ sda=1。num++)//移屏顯示 { write_(0x1c)。 for(num=0。 write_data(lcdd[V3])。)。 write_data(39。 write_data(lcdd[V2])。 write_data(lcdd[V1])。)。 write_data(39。)。 write_data(39。)。 write_data(39。)。 write_data(39。 write_data(lcdd[0])。)。 write_data(39。 write_data(lcdd[2])。 write_data(lcdd[1])。)。 write_data(39。:39。 delay(5)。S39。 delay(5)。 39。 } write_(0x80+0x50)。num++) { write_data(table1[num])。 for(num=0。 V3=xs_vo%10。 V1=xs_vo/100。 init1602()。 delay(5)。 EN=0。 P0=date。 EN=1。 RS=1。 }void write_data(uchar date)//1602寫數(shù)據(jù)函數(shù){ RW=0。 delay1()。 //將中的命令字寫入LCD數(shù)據(jù)口 delay1()。 //E端時序 delay1()。 // RW=0,RS=0,寫LCD命令字 delay1()。 delay1()。//寫一個字符后地址指針加1 write_(0x01)。//設(shè)置16X2顯示,5X7點陣,8位數(shù)據(jù)接口 write_(0x0c)。 } //液晶1602顯示模塊/*LCD1602顯示部分子函數(shù)*/void init1602() //LCD初始化函數(shù){ EN=0。 ad_vo=(float)adval*。 adval=P1。 adrd=0。 //讀取P1口之前先給其寫全1 adrd=1。 delay(2)。 //啟動AD轉(zhuǎn)換 _nop_()。 _nop_()。} //AD轉(zhuǎn)換模塊//ad轉(zhuǎn)換程序uchar get_ad() // AD程序{ csad=0。 delay(10)。 _nop_()。 _nop_()。 }/*延時函數(shù)1*/ void delay1() { _nop_()。j110。it。 }/*延時函數(shù)*/ void delay(unsigned int t) { unsigned int j,i。 beep=1。//開啟正常工作指示燈 LED1=1。 PWM=1。//定時時間為50ms,每50ms中斷一次 EA=1。 TH0=(6553650)/256。void AT24c02()。void write_add(uchar address,uchar date)。 //應(yīng)答void write_byte(uchar date)。 //啟動void stop()。//AT24c02保存數(shù)據(jù)void init24c02()。void init1602()。 // AD程序//1602液晶顯示部分void write_(uchar )。 //軟件實現(xiàn)延時函數(shù),5個機(jī)器周期void buzzer()。//初始化主函數(shù)void delay(unsigned int t)。sbit TXD=P3^1。uchar p=2,a1。 //寫24C02的標(biāo)志;sbit scl=P2^4。uchar xs_vo,num。unsigned char code table2[]= D: N:。 //sbit EN=P2^2。 //1602液晶顯示sbit RS=P2^0。 //定義AD的WR端口sbit adrd=P3^7。//AD轉(zhuǎn)換sbit csad=P2^7。//欠壓指示燈sbit beep=P2^6。//充電指示燈 sbit LED1=P2^4。//蓄電池開關(guān)sbit FuZai=P3^3。//定時時間為50ms,每50ms中斷一次 count++。 } }}/*****定時中斷函數(shù)*****/void timer0() interrupt 1 { TH0=(6553650000)/256。 write=1。//關(guān)閉負(fù)載 PWM=0。 LED2=0。 } } else { LED=1。 TR0=0。LED1=1。 PWM=1。 //開啟固定PWM充電 if(count==4) { PWM=0。LED2=1。 } else if(120=battery_v145)// { LED=0。 //蜂鳴器報警 write=1。 PWM=1。 //開啟過電壓指示燈 LED=1。buzzer()。 if(battery_v0)//蓄電池反接,立刻關(guān)閉充放電電路,蜂鳴器報警 { PWM=1。 battery_v=get_ad()。 //首次要直接充電 else PWM=1。 yj1602()。 init24c02()。附錄Ⅰ 源程序:include include //庫函數(shù)頭文件,代碼中引用了_nop_()函數(shù)include //變量定義和函數(shù)的聲明include //初始化模塊include //AD轉(zhuǎn)換模塊include //液晶1602顯示模塊include //數(shù)據(jù)存儲模塊/*主函數(shù)*/void main(){ init()。從最初的定題,到資料收集,到寫作、修改,直至論文定稿,高老師都給了我耐心的指導(dǎo)和無私的幫助,使得我的畢業(yè)設(shè)計課題能夠深入地進(jìn)行下去,從而使我接觸到了許多新知識和實際應(yīng)用的新問題,使我做了許多有益的思考,加深了對本專業(yè)核心知識的認(rèn)識和對工程設(shè)計的思考。參考文獻(xiàn)[1] 余發(fā)山,:中國礦業(yè)大學(xué)出版社,[2] :航空航天大學(xué)出版社,2001[3] 艾永樂,:中國電力出版社,[4] —入門、提高、開發(fā)、:電子工業(yè)出版社,[5] DXP 2004 :電子工業(yè)出版社,[6]馬忠梅,(第四版).北京:北京航空航天大學(xué)出版社,[7] 侯玉寶, 陳忠平, :電子工業(yè)出版社 ,[8] 楊金煥. :電子工業(yè)出版社, [9] 周志敏,:電子工業(yè)出版社,[10] ,2009. [11]何朝陽,戴君,2007:27—30.[12] [M].人民郵電出版社,2007[13] 鐘勇等.:合肥工業(yè)大學(xué),[14] 張艷紅等.,[15] :華南理工大學(xué)致 謝回顧大學(xué)的四年學(xué)習(xí)生涯,有很多收獲但也存在不足,在學(xué)習(xí)生涯即將結(jié)束之際,對四年來關(guān)心、指導(dǎo)、幫助和鼓勵過我的老師、同學(xué)們表示衷心的感謝。(2)對蓄電池電壓的采集方式過于簡單,精度較低,需要探索采集精度更加精準(zhǔn)的經(jīng)典電路,使得對蓄電池的充電控制更加準(zhǔn)確。在設(shè)計和開發(fā)的過程中,緊密結(jié)合充電控制器的實際情況,綜合了目前一些先進(jìn)的充電控制策略。設(shè)計要求是從實際應(yīng)用需求中抽取而來,由于實際需求往往很復(fù)雜,因而一定要把設(shè)計要求層次化,首先實現(xiàn)最低要求,解決根本問題,然后再去完善、提高,這就是總結(jié)出來的軟件開發(fā)思路。不論怎樣說,硬件電路設(shè)計,其實是一個對自己所學(xué)的專業(yè)知識吸收、分析、理解、掌握同時再創(chuàng)新的過程,能夠靈活使用,遇到新問題能夠解決目的也就達(dá)到了 (3)在硬件設(shè)計的基礎(chǔ)上,對太陽能充放電控制器進(jìn)行了算法分析并編制了程序,軟件編程實現(xiàn)對蓄電池的過充、過放、反接等保護(hù)。 整個系統(tǒng)的硬件設(shè)計采用了模塊化設(shè)計結(jié)構(gòu),可以根據(jù)實際需要靈活配置,從而有利于實際應(yīng)用的推廣??刂破饕許TC89C52單片機(jī)為主控芯片,在軟件程序控制下輸出PWM控制信號,控制開關(guān)MOS管的通斷,實現(xiàn)太陽能極板對蓄電池的充電控制等。具體來講,論文主要做了下面一些工作:(1)對鉛酸蓄電池的充放電原理、影響蓄電池使用壽命的各種因素作了一定的分析,提出了改進(jìn)的充、放電方式,確定了太陽能充電控制器的總體設(shè)計方案。在光伏發(fā)電系統(tǒng)中,太陽能充電控制器起著樞紐作用,其性能優(yōu)劣直接影響實際應(yīng)用的效率。5 總結(jié)與展望 設(shè)計總結(jié)通過復(fù)習(xí)以前學(xué)過的專業(yè)知識,同時對相關(guān)的資料和論文進(jìn)行解讀與綜合分析、研究加上參與課題的實踐,在導(dǎo)師的指導(dǎo)和同學(xué)的幫助下,最后基本完成了開題報告中確定的設(shè)計任務(wù)。由于利用C語言開發(fā)單片機(jī)與匯編語言相比,具有易于操作、規(guī)范性好、適合模塊化處理且容易移植的優(yōu)點,所以本設(shè)計采用C語言作為編程語言。正常工作時的狀態(tài):()圖 49 正常工作狀態(tài)仿真 其工作原理如下,單片機(jī)在軟件程序控制下,控制著各個部分硬件電路有序工作,把從模數(shù)轉(zhuǎn)換器得到的蓄電池的電壓值,用1602液晶去顯示,同時綠燈亮起表示系統(tǒng)正在充電。系統(tǒng)共三種狀態(tài):正常充電、過充、過放。果然加上虛擬電壓表,通過監(jiān)測后發(fā)現(xiàn)蓄電池兩端電壓表的示數(shù)一直顯示為零,明白是AD轉(zhuǎn)換部分出現(xiàn)問題,然后通過修改AD轉(zhuǎn)換模塊的子程序,同時調(diào)整硬件引腳部分與軟件相一致,慢慢的調(diào)試,最終蓄電池兩端電壓表有了示數(shù),液晶1602也正確的顯示了。和自己當(dāng)初預(yù)料的一樣,在剛開始仿真時,遇到了許多的問題,如1602液晶不顯示,系統(tǒng)工作狀態(tài)指示燈指示狀態(tài)不正確等等,調(diào)試很久找不到關(guān)鍵所在。程序調(diào)試成功后,下一步就是軟件仿真,是檢驗程序運行是否正確的關(guān)鍵所在,更是優(yōu)化系統(tǒng)所必須的。通過編寫和調(diào)試程序,深深的體會到了程序編寫的不易和艱辛,同時積累了很多的經(jīng)驗,收益匪淺。piling ... //…linking... //鏈接…. Program Size: data= xdata=0 code=1572 //項目大小:存儲空間RAM和ROM的數(shù)據(jù)存儲量creating hex file from 充放電控制器...
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1