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

正文內(nèi)容

太陽能充放電控制器設(shè)計(jì)畢業(yè)論文(文件)

2025-07-16 13:26 上一頁面

下一頁面
 

【正文】 制等。不論怎樣說,硬件電路設(shè)計(jì),其實(shí)是一個(gè)對自己所學(xué)的專業(yè)知識吸收、分析、理解、掌握同時(shí)再創(chuàng)新的過程,能夠靈活使用,遇到新問題能夠解決目的也就達(dá)到了 (3)在硬件設(shè)計(jì)的基礎(chǔ)上,對太陽能充放電控制器進(jìn)行了算法分析并編制了程序,軟件編程實(shí)現(xiàn)對蓄電池的過充、過放、反接等保護(hù)。在設(shè)計(jì)和開發(fā)的過程中,緊密結(jié)合充電控制器的實(shí)際情況,綜合了目前一些先進(jìn)的充電控制策略。參考文獻(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)、幫助和鼓勵(lì)過我的老師、同學(xué)們表示衷心的感謝。附錄Ⅰ 源程序:include include //庫函數(shù)頭文件,代碼中引用了_nop_()函數(shù)include //變量定義和函數(shù)的聲明include //初始化模塊include //AD轉(zhuǎn)換模塊include //液晶1602顯示模塊include //數(shù)據(jù)存儲模塊/*主函數(shù)*/void main(){ init()。 yj1602()。 battery_v=get_ad()。buzzer()。 PWM=1。 } else if(120=battery_v145)// { LED=0。 //開啟固定PWM充電 if(count==4) { PWM=0。LED1=1。 } } else { LED=1。//關(guān)閉負(fù)載 PWM=0。 } }}/*****定時(shí)中斷函數(shù)*****/void timer0() interrupt 1 { TH0=(6553650000)/256。//蓄電池開關(guān)sbit FuZai=P3^3。//欠壓指示燈sbit beep=P2^6。 //定義AD的WR端口sbit adrd=P3^7。 //sbit EN=P2^2。uchar xs_vo,num。uchar p=2,a1。//初始化主函數(shù)void delay(unsigned int t)。 // AD程序//1602液晶顯示部分void write_(uchar )。//AT24c02保存數(shù)據(jù)void init24c02()。 //應(yīng)答void write_byte(uchar date)。void AT24c02()。//定時(shí)時(shí)間為50ms,每50ms中斷一次 EA=1。//開啟正常工作指示燈 LED1=1。 }/*延時(shí)函數(shù)*/ void delay(unsigned int t) { unsigned int j,i。j110。 _nop_()。 delay(10)。 _nop_()。 delay(2)。 adrd=0。 ad_vo=(float)adval*。//設(shè)置16X2顯示,5X7點(diǎn)陣,8位數(shù)據(jù)接口 write_(0x0c)。 delay1()。 //E端時(shí)序 delay1()。 delay1()。 RS=1。 P0=date。 delay(5)。 V1=xs_vo/100。 for(num=0。 } write_(0x80+0x50)。 delay(5)。 delay(5)。 write_data(39。 write_data(lcdd[1])。 write_data(39。 write_data(lcdd[0])。)。)。)。)。 write_data(lcdd[V2])。)。 for(num=0。 }} //數(shù)據(jù)存儲模塊//at24c02部分子函數(shù)void init24c02()//24c02初始化函數(shù){ sda=1。}void start() //開始信號{ sda=1。 sda=0。 scl=1。}void respons() //應(yīng)答{ uchar i。amp。}void write_byte(uchar date)//串行發(fā)送字節(jié)函數(shù){ uchar i,temp。i++) { temp=temp1。 delay1()。 delay1()。 scl=0。 for(i=0。 k=(k1)|sda。}void write_add(uchar address,uchar date)//24c02字節(jié)寫入函數(shù){ start()。 respons()。}uchar read_add(uchar address)//24c02字節(jié)讀操作函數(shù){ uchar date。 write_byte(address)。 respons()。}void AT24c02(){ init24c02()。 //在24c02的地址p中寫入數(shù)據(jù)a1 p++。 //保存蓄電池過電壓數(shù)據(jù) if(write==1) //判斷計(jì)時(shí)器是否計(jì)時(shí)一秒 { write=0。 stop()。 start()。 write_byte(0xa0)。 respons()。 respons()。 delay1()。i++) { scl=1。 sda=1。 delay1()。 delay1()。 delay1()。 for(i=0。 scl=0。 delay1()。 sda=1。}void stop() //停止{ sda=0。 scl=1。 scl=1。num++)//移屏顯示 { write_(0x1c)。 write_data(lcdd[V3])。 write_data(39。 write_data(lcdd[V1])。 write_data(39。 write_data(39。 write_data(39。 write_data(39。)。 write_data(lcdd[2])。)。:39。S39。 39。num++) { write_data(table1[num])。 V3=xs_vo%10。 init1602()。 EN=0。 EN=1。 }void write_data(uchar date)//1602寫數(shù)據(jù)函數(shù){ RW=0。 //將中的命令字寫入LCD數(shù)據(jù)口 delay1()。 // RW=0,RS=0,寫LCD命令字 delay1()。//寫一個(gè)字符后地址指針加1 write_(0x01)。 } //液晶1602顯示模塊/*LCD1602顯示部分子函數(shù)*/void init1602() //LCD初始化函數(shù){ EN=0。 adval=P1。 //讀取P1口之前先給其寫全1 adrd=1。 //啟動AD轉(zhuǎn)換 _nop_()。} //AD轉(zhuǎn)換模塊//ad轉(zhuǎn)換程序uchar get_ad() // AD程序{ csad=0。 _nop_()。 }/*延時(shí)函數(shù)1*/ void delay1() { _nop_()。it。 beep=1。 PWM=1。 TH0=(6553650)/256。void write_add(uchar address,uchar date)。 //啟動void stop()。void init1602()。 //軟件實(shí)現(xiàn)延時(shí)函數(shù),5個(gè)機(jī)器周期void buzzer()。sbit TXD=P3^1。 //寫24C02的標(biāo)志;sbit scl=P2^4。unsigned char code table2[]= D: N:。 //1602液晶顯示sbit RS=P2^0。//AD轉(zhuǎn)換sbit csad=P2^7。//充電指示燈 sbit LED1=P2^4。//定時(shí)時(shí)間為50ms,每50ms中斷一次 count++。 write=1。 LED2=0。 TR0=0。 PWM=1。LED2=1。 //蜂鳴器報(bào)警 write=1。 //開啟過電壓指示燈 LED=1。 if(battery_v0)//蓄電池反接,立刻關(guān)閉充放電電路,蜂鳴器報(bào)警 { PWM=1。 //首次要直接充電 else PWM=1。 init24c02()。從最初的定題,到資料收集,到寫作、修改,直至論文定稿,高老師都給了我耐心的指導(dǎo)和無私的幫助,使得我的畢業(yè)設(shè)計(jì)課題能夠深入地進(jìn)行下去,從而使我接觸到了許多新知識和實(shí)際應(yīng)用的新問題,使我做了許多有益的思考,加深了對本專業(yè)核心知識的認(rèn)識和對工程設(shè)計(jì)的思考。(2)對蓄電池電壓的采集方式過于簡單,精度較低,需要探索采集精度更加精準(zhǔn)的經(jīng)典電路,使得對蓄電池的充電控制更加準(zhǔn)確。設(shè)計(jì)要求是從實(shí)際應(yīng)用需求中抽取而來,由于實(shí)際需求往往很復(fù)雜,因而一定要把設(shè)計(jì)要求層次化,首先實(shí)現(xiàn)最低要求,解決根本問題,然后再去完善、提高,這就是總結(jié)出來的軟件開發(fā)思路。 整個(gè)系統(tǒng)的硬件設(shè)計(jì)采用了模塊化設(shè)計(jì)結(jié)構(gòu),可以根據(jù)實(shí)際需要靈活配置,從而有利于實(shí)際應(yīng)用的推廣。具體來講,論文主要做了下面一些工作:(1)對鉛酸蓄電池的充放電原理、影響蓄電池使用壽命的各種因素作了一定的分析,提出了改進(jìn)的充、放電方式,確定了太陽能充電控制器的總體設(shè)計(jì)方案。5 總結(jié)與展望 設(shè)計(jì)總結(jié)通過復(fù)習(xí)以前學(xué)過的專業(yè)知識,同時(shí)對相關(guān)的資料和論文進(jìn)行解讀與綜合分析、研究加上參與課題的實(shí)踐,在導(dǎo)師的指導(dǎo)和同學(xué)的幫助下,最后基本完成了開題報(bào)告中確定的設(shè)計(jì)任務(wù)。正常工作時(shí)的狀態(tài):()圖 49 正常工作狀態(tài)仿真 其工作原理如下,單片機(jī)在軟件程序控制下,控制著各個(gè)部分硬件電路有序工作,把從模數(shù)轉(zhuǎn)換器得到的蓄電池的電壓值,用1602液晶去顯示,同時(shí)綠燈亮起表示系統(tǒng)正在充電。果然加上虛擬電壓表,通過監(jiān)測后發(fā)現(xiàn)蓄電池兩端電壓表的示數(shù)一直顯示為零,明白是AD轉(zhuǎn)換部分出現(xiàn)問題,然后通過修改AD轉(zhuǎn)換模塊的子程序,同時(shí)調(diào)整硬件引腳部分與軟件相一致,慢慢的調(diào)試,最終蓄電池兩端電壓表有了示數(shù),液晶1602也正確的顯示了。程序調(diào)試成功后,下一步就是軟件仿真,是檢驗(yàn)程序運(yùn)行是否正確的關(guān)鍵所在,更是優(yōu)化系統(tǒng)所必須的。piling ... //…linking... //鏈接…. Program Size: data= xdata=0 code=1572 //項(xiàng)目大小:存儲空間RAM和ROM的數(shù)據(jù)存儲量creating hex file from 充放電控制器... // 創(chuàng)建了十六進(jìn)制的目標(biāo)文件充放電控制器 0 Error(s), 0 Warning(s). //工程“充放電控制器”,編譯結(jié)果0個(gè)錯(cuò)誤,0個(gè)警告。最終在顯示輸出信息窗口出現(xiàn)了一下信息:Build target 39。通過仿真可以看出系統(tǒng)硬件設(shè)計(jì)的不合理部分,以方便改善使得系統(tǒng)更加合理;同時(shí)更重要的是驗(yàn)證自己編寫的軟件程序是否已經(jīng)實(shí)現(xiàn)其功能,完成了相應(yīng)的設(shè)計(jì)要求和設(shè)計(jì)任務(wù)。并根據(jù)AT24C02字節(jié)寫入方式,結(jié)合總線時(shí)序圖,軟件中實(shí)現(xiàn)異常數(shù)據(jù)存儲的流程圖如圖48所示。 delay1()。啟動信號的程序如下:在SCL為高電平期間,SDA一個(gè)下降沿為啟動信號。由于STC89C52單片機(jī)沒有
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1