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

正文內(nèi)容

基于單片機(jī)的智能充電器畢業(yè)論文(編輯修改稿)

2025-07-24 19:28 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 置為1,系統(tǒng)通過(guò)這個(gè)標(biāo)志位執(zhí)行相應(yīng)功能。 鍵盤掃描子程序void keyscan(void)。 這段程序用于模式1充電時(shí)Menu按鍵狀態(tài)的檢測(cè),在模式1充電方式中,Menu鍵通過(guò)連續(xù)按的方式改變?cè)O(shè)置狀態(tài),分別是設(shè)置時(shí)、設(shè)置分和確定,在不同的設(shè)置狀態(tài)返回全局變量g_funtion不同的標(biāo)志位,同時(shí)程序還有一個(gè)巧妙的設(shè)計(jì),通過(guò)標(biāo)志位g_s判斷按鍵按下的狀態(tài),防止長(zhǎng)按Menu鍵造成的功能跳躍。 倒計(jì)時(shí)子程序void timer(void)。 這段程序用于模式1狀態(tài)下所有功能的實(shí)現(xiàn),包括時(shí)間設(shè)置、倒計(jì)時(shí)功能和倒計(jì)時(shí)結(jié)束的操作,具體操作根據(jù)全局變量g_funtion的值。g_funtion=OK時(shí)為時(shí)間設(shè)置提示界面;g_funtion=SetH和SetM分別為小時(shí)和分的設(shè)置,其中時(shí)最大值為6小時(shí);g_funtion=Start和Finish分別為開始計(jì)時(shí)和結(jié)束計(jì)時(shí)的標(biāo)志。 顯示子程序void Wele(void)。void LCM1602_Init(void)。void LCM1602_ClrScreen(void)。void LCM1602_SendCmd(uchar cmd)。void LCM1602_SendData(uchar dat)。uchar LCM1602_ReadData(void)。void LCM1602_ChkBusy(void)。void LCM1602_PrintStr(uchar x,uchar y,char* str)。void display(int H,int M,int S)。 wele子程序定義了系統(tǒng)初始化時(shí)的歡迎界面。LCM1602系列子程序相當(dāng)于1602液晶顯示屏的底層驅(qū)動(dòng)程序,通過(guò)定義驅(qū)動(dòng)引腳及讀寫狀態(tài)時(shí)引腳的邏輯電平變化達(dá)到通過(guò)調(diào)用程序就能顯示任何字符的功能,并且方便任何程序調(diào)用。display顯示子程序負(fù)責(zé)除了初始化界面以外所有狀態(tài)的顯示,同倒計(jì)時(shí)子程序一樣,該子程序通過(guò)全局變量g_funtion的值來(lái)判斷該顯示什么。 A/D轉(zhuǎn)換子程序void ADCInit(void)。uint16 ADCValue(uint8 channel)。uint16 ADCMid(uint8 channel)。uint16 ADCAve(uint8 channel, uint8 n)。 ADCInit子程序負(fù)責(zé)A/D通道的初始化,包括采樣時(shí)間和頻率的設(shè)置和采樣分辨率的設(shè)置;ADCValue子程序負(fù)責(zé)獲取A/D通道轉(zhuǎn)換的結(jié)果;ADCMid子程序負(fù)責(zé)將A/D通道轉(zhuǎn)換的結(jié)果進(jìn)行中值濾波;ADCAve子程序負(fù)責(zé)將中值濾波之后的數(shù)據(jù)再進(jìn)行n次均值濾波,并輸出最后結(jié)果。 第五章 調(diào)試 硬件調(diào)試硬件調(diào)試時(shí),可先檢查印制電路板及焊接的質(zhì)量情況,在檢查無(wú)誤后,可通電檢查L(zhǎng)CD 顯示器的顯示狀態(tài)。單片機(jī)系統(tǒng)的硬件和軟件調(diào)試相互密切聯(lián)系,許多硬件錯(cuò)誤是在軟件調(diào)試中發(fā)現(xiàn)的,但是一般還是盡可能地先排除硬件故障后,再進(jìn)行聯(lián)機(jī)調(diào)試。 靜態(tài)測(cè)試在樣機(jī)加電之前,首先要進(jìn)行靜態(tài)測(cè)試,主要內(nèi)容有:1.檢查線路。通過(guò)目測(cè)和使用萬(wàn)用表,檢查樣機(jī)連線的正確性,注意各電路板之間的連線完好。 2.核對(duì)元器件。檢查所有的元器件是否有插錯(cuò)或損壞現(xiàn)象。3.檢查電源系統(tǒng)。將樣機(jī)中所有芯片都從插座上拔下,給樣機(jī)加電。檢查完整流穩(wěn)壓電路后,逐一檢查各芯片插座上電源引腳的電壓是否有異常情況。一切正常時(shí),斷電,插上一個(gè)芯片,重復(fù)檢查電壓,并試摸該芯片是否發(fā)熱。電源電壓正常,芯片沒(méi)有過(guò)熱現(xiàn)象。當(dāng)插上某個(gè)芯片后對(duì)電源系統(tǒng)沒(méi)有影響。4.外圍電路調(diào)試。將所有能進(jìn)行硬件單獨(dú)調(diào)試的外圍電路如檢測(cè)信號(hào)放大 電路、輸出驅(qū)動(dòng)電路等都調(diào)試好。進(jìn)行局部電路調(diào)試,提供有關(guān)模擬信號(hào)或開關(guān)信號(hào)。 聯(lián)機(jī)調(diào)試聯(lián)機(jī)調(diào)試是軟硬件結(jié)合調(diào)試,即利用簡(jiǎn)單的調(diào)試程序來(lái)調(diào)試硬件系統(tǒng)。進(jìn)行聯(lián)機(jī)調(diào)試,用專用仿真插頭將樣機(jī)和仿真器連接起來(lái),分別打開樣機(jī)和仿真器的電源,按以下步驟進(jìn)行具體調(diào)試: 1.測(cè)試 I/O 口和 I/O 設(shè)備。對(duì)于單片機(jī)本身的輸出口,用仿真器內(nèi)部特殊功能寄存器修改命令將數(shù)據(jù)寫入輸出口或運(yùn)行一段給輸出口賦值的程序, 然后檢查輸出口的相應(yīng)狀態(tài)及所接設(shè)備的狀態(tài),如與寫入的內(nèi)容一致,說(shuō)明輸出口及輸出設(shè)備工作正常。對(duì)于單片機(jī)本身的輸入口,通過(guò)輸入設(shè)備給輸入口設(shè)置一定的狀態(tài),然后用讀特殊功能寄存器命令讀出相應(yīng)輸入接口寄存器的狀態(tài),與設(shè)定的狀態(tài)一致,輸入口工作正常。擴(kuò)展I/O口大多是可編程的。檢查時(shí)先向其控制(命令)寄存器寫入控制字,設(shè)定接口的工作狀態(tài),然后再用外部數(shù)據(jù)存儲(chǔ)器讀寫命令來(lái)檢查 I/O 口的狀態(tài)。I/O 口狀態(tài)與讀寫數(shù)據(jù)一致,工作正常。 2.試驗(yàn)預(yù)充、充電保護(hù)、自動(dòng)斷電和充電完成報(bào)警提示功能,借助程序進(jìn)行。 軟件調(diào)試軟件調(diào)試是在編譯器下進(jìn)行的。首先要將用C語(yǔ)言編寫的源程序進(jìn)行編輯、編譯,變成目標(biāo)程序(機(jī)器代碼程序),然后才能調(diào)試,最后可結(jié)合硬件實(shí)時(shí)調(diào)試。因此,軟件調(diào)試實(shí)際上可分為編輯、編譯和調(diào)試兩部分。本次設(shè)計(jì)使用的是飛思卡爾單片機(jī)開發(fā)軟件CodeWarrior Development Studio for S12(X) 。應(yīng)用程序應(yīng)分成若干個(gè)功能模塊來(lái)編寫和調(diào)試,單個(gè)程序模塊都調(diào)試通過(guò)后,將它們組合起來(lái)進(jìn)行系統(tǒng)統(tǒng)調(diào)。模塊程序從調(diào)試方法來(lái)說(shuō)分成兩類情況。一類是各種計(jì)算程序已經(jīng)代碼轉(zhuǎn)換程序、靜態(tài) I/O 程序。這類程序如果不能正常運(yùn)行,程序中的錯(cuò)誤是靜態(tài)的固定的錯(cuò)誤,因此可以用單拍或帶斷點(diǎn)運(yùn)行方式來(lái)調(diào)試。另一類是I/O 實(shí)時(shí)處理程序和通訊程序。調(diào)試這類程序不能用單拍或慢速斷點(diǎn)方式,而必須采用全速斷點(diǎn)或全速連續(xù)運(yùn)行方式。這是因?yàn)閷?shí)時(shí)事件的發(fā)生是隨機(jī)的或不能停止的。如果有問(wèn)題,需要從硬件和軟件兩個(gè)方面進(jìn)行檢查和解決。 系統(tǒng)調(diào)試當(dāng)硬件調(diào)試和軟件分模塊調(diào)試完成以后,就可以進(jìn)行系統(tǒng)調(diào)試,在系統(tǒng)調(diào)試時(shí),應(yīng)將全部硬件電路都接上,應(yīng)用程序也都組合好,進(jìn)行全系統(tǒng)軟硬件的統(tǒng)調(diào)。系統(tǒng)調(diào)試的任務(wù)是排除軟硬件中的殘留錯(cuò)誤,使整個(gè)微機(jī)系統(tǒng)能夠完成預(yù)定的工作任務(wù),達(dá)到要求的技術(shù)性能指標(biāo)。在系統(tǒng)調(diào)試中要注意以下幾點(diǎn):,先試空載,空載正常后在試驗(yàn)負(fù)載情況。,避免遺漏。仔細(xì)調(diào)整有關(guān)軟件或硬件,使檢測(cè)和控制達(dá)到要求的精度。,仿真器采用全速斷點(diǎn)或連續(xù)運(yùn)行方式,在綜合調(diào)試的最后階段應(yīng)使用樣機(jī)中的晶振。,以考驗(yàn)硬件部分的穩(wěn)定性。圖 系統(tǒng)調(diào)試 結(jié)束語(yǔ)本次設(shè)計(jì)以充電芯片MAXl898的使用為主體,利用單片機(jī)配合實(shí)現(xiàn)智能化充電的便攜設(shè)備充電器。目前,充電電池的種類繁多,因此在充電器的方案創(chuàng)建時(shí)需要針對(duì)不同的電池選擇不同的充電芯片。本次設(shè)計(jì)實(shí)現(xiàn)的是單節(jié)鋰離子電池充電器,因此選用了芯片MAXl898作為充電芯片。設(shè)計(jì)在選擇芯片后進(jìn)行硬件和軟件設(shè)計(jì),最后進(jìn)行調(diào)試和檢測(cè)。在本次設(shè)計(jì)過(guò)程中,需著重把握的是:預(yù)充、快充、滿充等充電方式的工作原理;MAXl898 的充電狀態(tài)指示輸出信號(hào) 在本設(shè)計(jì)中的應(yīng)用;在整體設(shè)計(jì)中自動(dòng)斷電功能的實(shí)現(xiàn);MAXl898在外圍電路的設(shè)計(jì)中,其中包括設(shè)置充電電流的電阻和充電時(shí)間的電容數(shù)值的選取以及如何在單片機(jī)程序中判斷出充電完成還是充電出錯(cuò),并做出相應(yīng)的處理。采用C語(yǔ)言設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)程序時(shí),首先是要盡可能地采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,這樣就使整個(gè)應(yīng)用系統(tǒng)程序結(jié)構(gòu)清晰,易于調(diào)試和維護(hù)。雖然設(shè)計(jì)的最終結(jié)果與最初的設(shè)計(jì)目標(biāo)有一定的差距,有些功能還沒(méi)有來(lái)的及實(shí)現(xiàn),但是智能充電器在生活中有十分重要的推廣意義,就目前實(shí)現(xiàn)的功能來(lái)說(shuō),智能充電器還有很大的發(fā)展空間,未來(lái)的智能充電器功能將更加完善,充電過(guò)程將更加智能,并且在通用性上有更好的表現(xiàn)。這次設(shè)計(jì)的過(guò)程使我積累了許多寶貴的經(jīng)驗(yàn),無(wú)論是從硬件設(shè)計(jì)上還是程序編寫上的能力都有很大的提高。 致 謝 隨著畢業(yè)設(shè)計(jì)和畢業(yè)論文順利的完成,我的大學(xué)生涯也漸漸接近了尾聲。在這里我首先感謝我的導(dǎo)師給與我的幫助和指導(dǎo)。在畢設(shè)準(zhǔn)備的初期,我的畢業(yè)設(shè)計(jì)的功能還很單一,通過(guò)老師的建議和指導(dǎo)使得畢業(yè)設(shè)計(jì)功能不斷完善,最終完成了現(xiàn)在的畢設(shè)作品。沒(méi)有老師的指導(dǎo),我就不會(huì)有那么多的靈感去完成我的畢設(shè)作品。 同時(shí)還要感謝對(duì)我的作品提出的寶貴的創(chuàng)意和意見的同學(xué)們,在我遇到困難的時(shí)候給予我?guī)椭椭С郑谖胰〉眠M(jìn)展的時(shí)候?yàn)槲壹佑?,如果不是你們,我的畢業(yè)設(shè)計(jì)作品不會(huì)這么完美,謝謝你們! 面對(duì)即將畢業(yè)的分離,我想到了所有陪伴我走過(guò)四年大學(xué)時(shí)光的老師和同學(xué)們給我?guī)?lái)的美好回憶。衷心的感謝大學(xué)四年里所有教過(guò)和幫助過(guò)我的老師們,你們不僅把知識(shí)傳授給我們,也在生活方面給予我們很大的幫助和支持,謝謝你們對(duì)我的教誨和關(guān)愛!也衷心的感謝所有同學(xué)們?cè)谒哪甑墓馐a里攢下點(diǎn)點(diǎn)滴滴的友誼,你們將是我人生中最大的一筆財(cái)富! 生我者父母。感謝生我養(yǎng)我,含辛茹苦的父母。是你們,為我的學(xué)習(xí)創(chuàng)造了條件;是你們,一如既往的站在我的身后默默的支持著我,沒(méi)有你們就不會(huì)有我的今天。謝謝你們,我的父親母親! 參考文獻(xiàn)[1] 中國(guó)鋰電池網(wǎng)(DB/OL).:// .1ibatterv../.[2] 王鴻麟,錢建立,周曉軍.《智能快速充電器設(shè)計(jì)與制作》[M],科學(xué)出版社,2001.[3] 郭炳妮、徐徽.《鋰離子電池》[M],長(zhǎng)沙中南大學(xué)出版社,2002.[4] 鐘國(guó)華、吳玉廣.《鋰電池充電保護(hù)電路的設(shè)計(jì)》[M].《通信電源術(shù)》..[5] 李映超.《基于USB接口的鋰離子電池充電電路設(shè)計(jì)與實(shí)現(xiàn)》[M].《廣西民族學(xué)院學(xué)報(bào)》..[6] 周志敏,周紀(jì)海,紀(jì)愛華.《線性集成穩(wěn)壓電源實(shí)用電路》[M].中國(guó)電力出版社,2006.[7] 路秋生.《常用充電器電路與應(yīng)用》[M],機(jī)械工業(yè)出版社,2005.[8] [M].北京航空航天大學(xué)出版社,2003.[9] 周志敏,周紀(jì)海,紀(jì)愛華.《充電器電路設(shè)計(jì)與應(yīng)用(第1版)》 [M].人民郵電出版社,2005. 附 錄附錄A 系統(tǒng)設(shè)計(jì)源代碼include /* mon defines and macros */include /* derivativespecific definitions */typedef unsigned char uint8。 // 8 位無(wú)符號(hào)數(shù)typedef unsigned short int uint16。 // 16 位無(wú)符號(hào)數(shù)typedef unsigned long int uint32。 // 32 位無(wú)符號(hào)數(shù)typedef char int8。 // 8 位有符號(hào)數(shù)typedef short int int16。 // 16 位有符號(hào)數(shù) typedef int int32。 // 32 位有符號(hào)數(shù) void Delay_2us(int)。void Delay_10us(int)。 void SetBusCLK_32M(void)。void LCM1602_Init(void)。void LCM1602_ClrScreen(void)。void LCM1602_SendCmd(uchar cmd)。void LCM1602_SendData(uchar dat)。uchar LCM1602_ReadData(void)。void LCM1602_ChkBusy(void)。void LCM1602_PrintStr(uchar x,uchar y,char* str)。void Pit_Init(void)。void Wele(void)。void timer(void)。void keyscan(void)。void display(int H,int M,int S)。void battery_detect(void)。define LCM1602_DATA_DIR DDRA define LCM1602_CTRL_DIR DDRBdefine LCM1602_RS_1() {PORTB_PB3=1。}define LCM1602_RS_0() {PORTB_PB3=0。} define LCM1602_RW_1() {PORTB_PB4=1。} define LCM1602_RW_0() {PORTB_PB4=0。} define LCM1602_EN_1() {PORTB_PB5=1。} define LCM1602_EN_0() {PORTB_PB5=0。} define LCM1602_DATA PORTAdefine K1 PORTK_PK0define K2 PORTK_PK1define K3 PORTK_PK2define OK 0define SetH 1define SetM 2define Start 3define Finish 1 void ADCInit(void)。uint16 ADCValue(uint8 channel)。uint16 ADCMid(uint8 channel)。uint16 ADCAve(uint8 channel, uint8 n)。void IntToStr(int a, uchar *str)。int ADtoVOL(uint16 ad)。int g_H=0。 // 時(shí)間時(shí)int g_M=0。 // 時(shí)間分int g_S=20。 // 時(shí)間秒int g_10ms=0。 // 定時(shí)器計(jì)數(shù)int g_funtion=0。 // 功能int g_s=1。 // 確定按鈕標(biāo)志int g_bi=0。 // 電池檢測(cè)標(biāo)志int
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1