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

正文內(nèi)容

基于單片機(jī)的通用智能充電器的設(shè)計(jì)畢業(yè)論文(完整版)

2024-07-25 02:25上一頁面

下一頁面
  

【正文】 統(tǒng)的總流程圖,它大致反映了需要設(shè)計(jì)哪些程序模塊以及在哪里調(diào)用它。比如,C語言可以讓開發(fā)者不必過多地關(guān)心運(yùn)算如何實(shí)現(xiàn)等等一些底層的東西,而只考慮用語言直接去實(shí)現(xiàn)系統(tǒng)功能。背光為黃色。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第8腳為時(shí)鐘輸入端,可連接到串行口的TXD端。從圖中可以看出,我們選擇是通道0。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0~5V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 充放電電路充放電電路如圖29所示:圖29 充放電電路 根據(jù)圖29所示,P20,P21,P22口分別與單片機(jī)的P20,P21,P22的引腳相連。 微控制器AT89S51/52 本次設(shè)計(jì)采用Atmel89S51作為控制器,這是艾特梅爾公司生產(chǎn)的廣為人知的At89C51的替代品,At89C51已經(jīng)停產(chǎn)。1602接口功能:腳號(hào)符號(hào)引腳功能腳號(hào)符號(hào)引腳功能1GND電源地9D2 2VDD電源正10D3 3V0顯示偏壓信號(hào)11D4 4RS數(shù)據(jù)/命令控制,H/L12D5 5R/W讀/寫控制,H/L13D6 6E使能信號(hào)14D7數(shù)據(jù)I/O7D0數(shù)據(jù)I/O15BL1背光源正8D1 16BL2背光源負(fù)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。Vin接電源輸入,GND接地,~1uf的電容就可以。 ADC0809芯片簡介ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。編程時(shí)間快 32位可編程I/O口 大部分涓流充電器中,都沒有任何電壓或溫度反饋控制,因而不能保證電池充足電后,立即關(guān)斷充電器??焖俪潆娝俾室话阍?C以上,快速充時(shí)間由電池容量和充電速率決定。可以看出,充電終止時(shí),鎳鎘電池電壓下降比鎳氫電池要大得多。鎳氫電池正極的活性物質(zhì)為NiOOH(放電時(shí))和Ni(OH)(充電時(shí)),負(fù)極板的活性物質(zhì)為H(放電時(shí))和HO(充電時(shí)),電解液采用30%的氫氧化鉀溶液,充放電時(shí)的電化學(xué)反應(yīng)如下: 從方程式看出:充電時(shí),負(fù)極析出氫氣,貯存在容器中,正極由氫氧化亞鎳變成氫氧化鎳(NiOOH)和HO;放電時(shí)氫氣在負(fù)極上被消耗掉,正極由氫氧化鎳變成氫氧化亞鎳。 鎳鎘電池使用過程中,如果電量沒有全部放完就開始充電,下次再放電時(shí),就不能放出全部電量。圖11 智能充電器模塊圖 2 硬件設(shè)計(jì)介紹硬件部分設(shè)計(jì)主要有以下部分構(gòu)成:1 充電電池內(nèi)部工作原理簡介;2 芯片簡介部分,對(duì)該電路所采用的芯片作一些詳細(xì)介紹3 電氣部分,分別介紹各個(gè)模塊的功能和作用。選用74LS164進(jìn)行串口—并口的轉(zhuǎn)換;辨別充電的狀態(tài)。智能充電器能根據(jù)電池的特性進(jìn)行充電。其中電壓負(fù)增量控制是目前公認(rèn)的較先進(jìn)的控制方法之一。 LCD1602。充電器可以實(shí)時(shí)采集電池的電壓、電流,對(duì)充電過程進(jìn)行智能控制,計(jì)算電池已充的電量和剩余的充電時(shí)間;還可以通過1602液晶顯示屏給用戶顯示必要的信息。不同的電池應(yīng)采用不同的充電控制技術(shù),常用的控制技術(shù)有:電壓負(fù)增量控制、時(shí)間控制、溫度控制、最高電壓控制技術(shù)等。其中,電壓負(fù)增量控制是目前公認(rèn)的較先進(jìn)的控制方法之一。另外,它也可以適應(yīng)各種不同電池的充電。 nickelcadmium batteries。充電時(shí),當(dāng)測(cè)量到電池電壓負(fù)增量時(shí)就可以確定該電池己經(jīng)充滿,從而將充電轉(zhuǎn)變?yōu)殇噶鞒潆?。如?dāng)用戶待沖的電池是鎳鎘電池時(shí),由于鎳鎘電池有記憶效應(yīng),充電器會(huì)將電池放完電才會(huì)對(duì)電池進(jìn)行充電,但是對(duì)于鎳氫電池和鋰離子電池,由于沒有記憶效應(yīng),所以可以直接進(jìn)行充電。選用1602液晶來進(jìn)行顯示; 充電電池內(nèi)部工作原理介紹比如,鎳鎘電池只放出80%的電量后就開始充電,充足電后,該電池也只能放出80%的電量,這種現(xiàn)象稱為記憶效應(yīng)。當(dāng)電池容量達(dá)到額定容量的80%以前,鎳鎘電池的溫度緩慢上升,當(dāng)電池容量達(dá)到90%以后,鎳鎘電池的溫度才很快上升。為了避免過充電,一些充電器采用小電流充電。 芯片介紹部分 AT89S51是美國ATMEL公司生產(chǎn)的高性能低價(jià)格8位單片機(jī),其特性如下: 兩個(gè)16位的定時(shí)/計(jì)數(shù)器 靈活的在線編程(字節(jié)模式和頁面模式)圖23是89S51的管腳圖,說明如下: 在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。Vout一般用作8~12bit的D/A芯片的基準(zhǔn)電壓。高電平表示有效,低電平則無效指令4:顯示開關(guān)控制。Atmel89S51與89C51完全兼容,并且支持更高的處理速度。當(dāng)P20=1時(shí),充電選擇類型為鎳氫電池;當(dāng)P20=0時(shí),充電選擇類型為鎳鎘電池充電。地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。ADC0809通過實(shí)時(shí)采集充放電電路的數(shù)據(jù),經(jīng)過模擬量到數(shù)字量的轉(zhuǎn)換,然后再傳遞給單片機(jī),再通過液晶實(shí)時(shí)顯示數(shù)據(jù)。每一個(gè)時(shí)鐘信號(hào)的上升沿加到T端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過后,8位二進(jìn)制數(shù)全部移入74LS164中。第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。D0~D7為8位雙向數(shù)據(jù)線,通過單片機(jī)指令在液晶上顯示我們所需要的數(shù)據(jù)。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。 函數(shù)定義模塊函數(shù)名:液晶數(shù)據(jù)發(fā)送delaydelay(uchar n) {uchar f,m。n0。 RS=0。 corr(b)。}}函數(shù)名: 液晶顯示初此化函數(shù)功能: 初此化液晶數(shù)據(jù)返回值: 無lcdinit() {lcd_(0x0f)。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻態(tài)輸入。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。sbit cong1=P2^2。uchar i。uchar code table3[]={VOLT:}。 OE=0。 TL1=216。 }}void t1(void) interrupt 3 using 0/*定時(shí)器中斷服務(wù)函數(shù)----為AD提供時(shí)鐘*/{ CLK=~CLK。:39。 地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。 /*ENABLE為1允許輸出*/ _nop_()。 ST=1。我們用到的是16*2行模塊。v[4]=39。 table4[5]=0x20。 table4[6]=0x00。}/*省去部分類似程序*/if((get145)amp。 feng1=1。 flag1=1。 /*得到AD數(shù)據(jù)*/ if(p20==1) /*判斷為鎳氫電池*/ { if(get179) /*,得到的AD數(shù)據(jù)值放到GET里面,*/ { cong()。 proccess()。 delay1(255)。 調(diào)試方法 做任何事情都要講究方法,在系統(tǒng)的調(diào)試過程中更應(yīng)該重視調(diào)試方法,這一點(diǎn)對(duì)于一個(gè)漏洞很多或者錯(cuò)誤很隱蔽的系統(tǒng)尤其重要。下面分兩個(gè)方面介紹本系統(tǒng)的調(diào)試過程。 軟件 當(dāng)建立的硬件系統(tǒng)無誤(或者檢查不出錯(cuò)誤)之后,我們?cè)谄渖祥_發(fā)軟件程序并進(jìn)行調(diào)試就會(huì)變得簡單一些。然后將各個(gè)功能模塊按照邏輯關(guān)系順序逐個(gè)加載,加載一個(gè)測(cè)試一次。通過本次畢業(yè)設(shè)計(jì),讓我對(duì)單片機(jī)的各個(gè)腳的功能,ADC0809的轉(zhuǎn)換原理,MC1403的用法等有了更進(jìn)一步的認(rèn)識(shí),對(duì)所學(xué)的知識(shí)通過實(shí)踐得到更清晰的認(rèn)識(shí)。記得第一次站在講臺(tái)上講話時(shí)候的那份激動(dòng)與緊張與現(xiàn)在即要離別時(shí)刻的超然平靜;記得第一次踏入校門的欣喜若狂與即將告別大學(xué)時(shí)的那般暮年回首的眷戀。 sbit EOC=P2^6。uchar dat1[2]。uchar hour,hour1。m0。 TH0=(6553550000)/256。 counter++。 else hour=0。a[5]=0x00。get=P0。 _nop_()。 _nop_()。 _nop_()。.39。 table4[2]=0x20。 table4[3]=0x20。 table4[4]=0x20。 table4[5]=0x20。 table4[6]=0x00。 }if((get145)amp。}void feng(void) { cong1=1。lcd_dis(table3,0xc0)。delay1(60000)。 else {flag=0。 delay1(255)。 }}includedelay(uchar n) {uchar f,m。n0。 WR1=0。 delay(1)。 lcd_(0x38)。 delay(1)。 }lcd_dis(uchar k[],char r) {char n。 delay(1)。 RDat=ADSamp。m0。 delay1(255)。proccess()。 if(p20==1) {if(get179) { cong()。 flag1=1。//feng}void stop(void) { cong1=1。flag2){}// lcd_dis(table5,0xcc)。 table4[1]=0xFF。 } else if(get150) {table4[0]=0xff。 table4[6]=0x00。 table4[5]=0x20。 table4[4]=0x20。v[3]=real%10+0x30。 ST=0。 _nop_()。 _nop_()。 _nop_()。 if(EOC==1) {i=0。 a[1]=39。 second++。 TH1=216。}void time_init(void){ ST=0。uchar code table2[]={TIME:}。uchar get。 sbit p20=P2^0。在此,我很感謝母校的栽培,讓我能很順利地走過人生中關(guān)鍵的一座橋梁,也感謝林科老師一直以來對(duì)我的幫助,使我能夠比較順利地完成畢業(yè)設(shè)計(jì)。在此過程中,學(xué)習(xí)到了很多的實(shí)際經(jīng)驗(yàn),怎么樣去調(diào)試軟,硬件電路,通過實(shí)踐而得到方法。實(shí)驗(yàn)證明,在一個(gè)簡單的人機(jī)接口程序(如,顯示和鍵盤程序)的基礎(chǔ)上擴(kuò)展的方法是一種很好的方法,尤其對(duì)于復(fù)雜的程序,這一點(diǎn)尤為重要。隨后采用了如下的方法,直到系統(tǒng)功能全部實(shí)現(xiàn)。否則,采用再好的軟件編程技術(shù)和算法也無能為力。調(diào)試過程最能考驗(yàn)一個(gè)人對(duì)于整個(gè)系統(tǒng)的了解程度、知識(shí)的廣度、分析問題的能力與耐性。 delay1(255)。 } else stop()。 show()。 ST=1。 feng1=0。flag2){}if((get=145)amp。 /*每十多顯示一格*/ table4[1]=0xFF。/*都是標(biāo)志位*/ }else if (get110) {table4[0]=0xff。v[5]=0x00。下面是LCD1602的模塊程序。 _nop_()。 get=P0。 CLK為時(shí)鐘輸
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1