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

正文內(nèi)容

智能型充電器的電源和顯示的設(shè)計本科畢業(yè)設(shè)計-資料下載頁

2025-06-29 05:58本頁面
  

【正文】 開 始讀左邊控制器的狀態(tài)字驅(qū)動器忙?送 狀 態(tài) 字返 回YN 圖33 判忙程序流程圖 (三)顯示程序流程圖根據(jù)上面采用的方法設(shè)置漢字的初始值(lr、X、Y),當(dāng)顯示完第一列的8字節(jié)以后,跳到第二列又從上往下顯示。由于一個漢字每一列有16字節(jié),則當(dāng)一頁的16列顯示完,只相當(dāng)于顯示的漢字的上半部分,則再次跳到下一頁的初始位,進(jìn)行漢字下半部分的顯示,值到16列顯示完成,才表示一個漢字全部顯示結(jié)束。通過上面的介紹,一個漢字的顯示流程圖編寫如下:滿16列?NY漢顯完成,繼續(xù)嗎?NY返 回設(shè)lr、X、Y初始值lr—選取控制器X—頁面值,Y—列地址值開 始 顯 示顯示滿16列?NYX+1顯示下半部分開 始初 始 化 圖34 漢字顯示流程圖按上面的流程圖,就可以進(jìn)行顯示程序的設(shè)計了。具體程序詳見附錄的程序清單。4 系統(tǒng)調(diào)試1 系統(tǒng)調(diào)試軟件介紹完成對系統(tǒng)的硬、軟件設(shè)計后,就可以對系統(tǒng)進(jìn)行調(diào)試了。本次設(shè)計本人采用了ICCAVR編譯器作為系統(tǒng)的開發(fā)工具,進(jìn)行程序的燒錄和仿真。 ICCAVR編譯器簡介(一) ICC AVR是ImageCraft公司針對AVR單片機(jī)而開發(fā)的一個C語言編譯,它具有以下幾個特點:。(STK200/300)。 AVR是一個運行于Windows 9X/NT的集成開發(fā)環(huán)境(ODE),它包括單片機(jī)軟件開發(fā)所需要的編輯器、工程管理器和C編譯器。 AVR采用了工程的組織形式。程序的所有源文件全部以工程的一個要素保存在工程中,并且程序的編輯和編譯也都在這個環(huán)境中進(jìn)行。工程管理器最后還能生成HEX格式的燒錄文件和COFF格式的仿真文件。 (二)ICC AVR支持的數(shù)據(jù)類型數(shù)據(jù)類型就是數(shù)據(jù)的不同表示形式,它們按照被描敘數(shù)據(jù)的性質(zhì)及其所占存儲空間的大小來劃分。ICC AVR的C編譯器可以支持4種數(shù)據(jù)類型,它們分別是:基本數(shù)據(jù)類型、構(gòu)造類型、指針類型和空類型?;緮?shù)據(jù)類型包括字符型(Unsign Char和Signed Char)、整型(Unsigned Int和SignedInt)、長整型(Unsigned Long和Signed long)、浮點型(Float)和雙精度型(Double〕?;緮?shù)據(jù)類型不只有再分性,它不可以再分解為其他的數(shù)據(jù)類型。構(gòu)造數(shù)據(jù)類塑包括數(shù)組型(Array)、結(jié)構(gòu)體類型(Smuct)、公用體類型(Union)和枚舉類刑(Enum)。構(gòu)造數(shù)據(jù)類型由若干個基本數(shù)據(jù)類型采用構(gòu)造的方法成,因此,每個構(gòu)造數(shù)據(jù)類烈都可以分解成若干個基本數(shù)招類型。 指針是一種用來專門存放所指對象地址的變量,它指向計算機(jī)內(nèi)的一個內(nèi)存單元。指針的處理具有較高的靈活性,使用它可以有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu),有效地使用內(nèi)存空間,方便地處理數(shù)組,因此,它是C語言中一種非常重要的數(shù)據(jù)類型。 空類型也就是Void類型。在調(diào)用函數(shù)時,函數(shù)通常都會返同一個函數(shù)值。這個返回的函數(shù)值的數(shù)據(jù)類型可以在函數(shù)定義和函數(shù)說明中由用戶指定。但有一些函數(shù),它只進(jìn)行一定的處理,在調(diào)用后并不需要返回某個函數(shù)值,那么這種函數(shù)可以定義為“空類型”。這種轉(zhuǎn)換可自動進(jìn)行,也可以人工強(qiáng)制轉(zhuǎn)換。通常來說,編譯器會把“窄”的數(shù)據(jù)類型自動轉(zhuǎn)換成“寬”數(shù)據(jù)類型,以保證計算信息不被丟失。 ICC AVR的主要設(shè)置點擊菜單中“Tools”欄中的“Application Builder”命令,打開應(yīng)用構(gòu)筑向?qū)υ捒颍淇驁D如41所示??驁D主要有以下頁面:⑴CPU選項:可對芯片的種類、頻率、是否使用看門狗以及是否使用INT0和INT1等進(jìn)行選擇。在這里選擇M16芯片,使用看門狗。⑵PORTS選項:可以設(shè)計I/O的屬性,其關(guān)系如下:表41 Ports選項中符號與端口實際設(shè)定Direction:“1”Value: “1” Direction:“1”Value: “1”Direction:“1”Value: “1”Direction:“1”Value: “1”PORTA 0xff 0x00 0xff 0x00DDRA 0x00 0x00 0xff 0xff 圖41 應(yīng)用構(gòu)筑向?qū)Э騊orts的設(shè)定在具體調(diào)試過程中設(shè)定。Memory選項:可以設(shè)定是否擴(kuò)展SRAM,是否插入等待周期等內(nèi)存信息。這里選中“Enable external memory”和“Wait states”的復(fù)選框。 圖42 應(yīng)用構(gòu)筑向?qū)Э騎imer0選項:可以設(shè)定是否使用Timer0,是否打開Timer0溢出中斷以及設(shè)定Timer0的周期。在這里選中“Use timer0”和“Overflow interrupt”的復(fù)選框。在“Desired Units”中設(shè)定100ms,“Rescale select”為1024。 圖43應(yīng)用構(gòu)筑向?qū)Э騎imer1選項:同Timer0相同,還可設(shè)定比較寄存器以及輸入捕獲等功能。在這里暫不作任何設(shè)定。2 調(diào)試過程為了鞏固前面所學(xué)的知識,培養(yǎng)對AVR單片機(jī)學(xué)習(xí)的興趣,同時也為了學(xué)會并熟練掌握ICCAVR編譯器的應(yīng)用,為最后的聯(lián)機(jī)調(diào)試打下基礎(chǔ)。在這里設(shè)計了一些最簡單的單片機(jī)系統(tǒng)實例進(jìn)行調(diào)試,其核心部件采用Atmega16L芯片。一個最簡單的單片機(jī)系統(tǒng)的開發(fā)也需要電路設(shè)計、單片機(jī)器件選擇和程序編寫3個步驟。對于單片機(jī)系統(tǒng),最簡單的功能無非是控制輸出電平的高低。單片機(jī)的最簡單系統(tǒng)是指單片機(jī)能正常工作所必須的外圍元件,主要由單片機(jī)、晶振電路和復(fù)位電路組成。同傳統(tǒng)的單片機(jī)系統(tǒng)一樣,Atmega16L的晶振電路也分為外部時鐘模式和內(nèi)部時鐘模式兩種,其內(nèi)部時鐘電路如下圖:XTAL2XTAL1MPUGNDC1 C2 圖44 晶振電路 鑒于Atmega16L的主頻范圍為08MHz。復(fù)位電路采用了上電復(fù)位電路,其電路圖如下: RESET+RGND1K22UfVCC MPU 圖45 復(fù)位電路注意這一點和有51系列的單片機(jī)是不同的,Atmega16的RST是低電平復(fù)位,而8051系列單片機(jī)是高電平才發(fā)生復(fù)位,換句話說,這兩種單片機(jī)復(fù)位電路的設(shè)計完全相反。了解了以上兩部分電路,再配合I/O接口中,就可以進(jìn)行電路的設(shè)計了。本來這次是準(zhǔn)備在面包板上完成實驗的,但后來覺得引腳插在面包板里面,松緊不一,且面包板是一個長條形,如果做到后面的實現(xiàn)隨著線的增多,空間跨度太大,影響視覺,某根線一旦出了問題也不易檢查,綜合各方面考慮,最后選用了一次性萬用板來進(jìn)行,這和印制電路板差不多,是通過焊接焊上去的,這既美觀,出了問題也方便查找并解決。 編寫好的程序通過并行通信下裁AVRISP燒到板子里面,其下裁電纜的電源由目標(biāo)板提供,其管腳如下: 圖46 目標(biāo)板管腳圖使用廣東雙龍電子提供的MCU下載程序軟件,用數(shù)據(jù)線將ISP下載插座同電腦相連。就可以進(jìn)行程序的調(diào)試了。其中下載軟件界面如圖54所示。將“通信參數(shù)設(shè)計及器件選擇”欄中的“AT89C52”改為“Atmega16”。1圖 47 MCU下載程序軟件界面圖當(dāng)下載軟件的(1)區(qū)域出現(xiàn)“擦除完成,編程開始”字樣時,表示它已和AVR的ISP插座連接好,可以進(jìn)行程序下載的操作了。否則,將顯示“程序編程連接失敗”的字樣。在第一次進(jìn)行操作時,也出現(xiàn)了連接失敗的信號。軟件是最新下載的,通過萬用表檢查,軟件周圍的接線都沒有問題,顯然不是自身的問題。再經(jīng)仔細(xì)檢查,原來是Atmega16L的芯片的5V電源掉線了。單片機(jī)不能運作,當(dāng)然沒法進(jìn)行程序的下載了。雖然這一過程花了不少時間,吃一塹,長一智,從這也看出了進(jìn)行電子創(chuàng)作的嚴(yán)謹(jǐn)性,不通過細(xì)心的觀察,冷靜的分析,是不可能完成的。前面說到,測試單片機(jī)的最簡單系統(tǒng)最簡單的就是控制輸出電平的高低,這里采用發(fā)光二極管作為它的輸出器件,用二極管的亮或滅表示自己設(shè)計的單片機(jī)系統(tǒng)是否能夠正常工作。具體進(jìn)行了以下實際電路的設(shè)計。(一)一個燈的閃爍。通過上面的介紹,Atmega16L有32個I/O輸出口,作為第一功能時,它們是沒有區(qū)別的。這次主要用它的B口進(jìn)行實驗。在萬用板上插上Atmega16L芯片,按上面的方法接上晶振電路和復(fù)位電路。接通電源(5V),用萬用表測B0口壓降,測得電壓+5V,可知系統(tǒng)正常。在B0端接上一發(fā)光二極管。發(fā)光二極管是由于其兩端的電壓差超出其導(dǎo)通壓降時開始工作。且工作電流也要滿足該二極管的發(fā)光要求。滿足了這兩點,發(fā)光二極管就可以開始發(fā)光了??刂艬0口電平的高低,就可以實現(xiàn)二極管的亮滅了。打開ICCAVR編譯器,按照上面的步驟進(jìn)行構(gòu)筑向?qū)Э虻牟僮?。在PORTS的選項中,把B口設(shè)置為輸出口,值為“1”。其它按上面的設(shè)置,進(jìn)入到IDE環(huán)境。編輯顯示程序,編輯窗口里面已經(jīng)有初始化程序、看門狗程序等基本程序。只要進(jìn)行主函數(shù)的編寫就可以了。要讓輸出口電平發(fā)生轉(zhuǎn)換,采用了兩種方法。一種是用延時的辦法。初始設(shè)B0口為0,二極管不亮,經(jīng)過一定時間的延時后,B0口變?yōu)?,二極管發(fā)光。再過相同時間,B0口再為0…按上述步驟循環(huán),就可以實現(xiàn)二極管的亮滅了。編寫程序,由于這里采用的是C語言編寫,程序相對來說比較簡單,延時程序如下:void delay_1ms(void){ unsigned int i。 for(i=1。i(unsigned int)(xtal*1432。i++) 。}xtal是晶振頻率,從理論上講,應(yīng)出現(xiàn)1ms左右的延時。編譯器上通過以后,可以進(jìn)行程序的下載。選中“Flash”存儲器,選擇保存的路徑。二極管出現(xiàn)了快速的亮滅交替顯示。將143設(shè)置為143000,將周期提高到近1s,實際運行時,小燈的閃動明顯變慢,基本達(dá)到了預(yù)期目標(biāo)。第二種利用中斷。主程序?qū)0口置1,使小燈發(fā)亮。在timer0中設(shè)置計數(shù)操作,當(dāng)?shù)竭_(dá)一定的數(shù)值時,B0口跳為0。程序跳到timer0中運行,實現(xiàn)中斷。然后跳出中斷,每計數(shù)到一固定的數(shù)值時,程序就執(zhí)行中斷操作。第一次運行時,小燈發(fā)亮,但不閃爍。檢查電路,接線完好,程序是編譯通過的,語法上不可能有毛病。程序設(shè)計的思想也應(yīng)該沒有錯誤。反復(fù)讀寫程序,結(jié)果發(fā)現(xiàn)沒有調(diào)用看門狗復(fù)位程序??撮T狗可以保證程序執(zhí)行過程中不會復(fù)位,而當(dāng)程序陷入死循環(huán)后,能保證在允許的時間里復(fù)位。把看門狗程序放在timer0里面,重新下載,就發(fā)現(xiàn)小燈可以閃爍了。(二)燈的循環(huán)顯示這一實驗主要實現(xiàn)在B口接8個小燈,讓小燈從B0到B7逐個發(fā)亮。通過上面的兩種方法的比較,當(dāng)小燈個數(shù)較多時,對逐個實現(xiàn)延時比較麻煩。而采用中斷實現(xiàn)時,初設(shè)小燈全部發(fā)亮,當(dāng)每計數(shù)到一固定時間時,點亮1個燈,8個燈全亮?xí)r作為總的循環(huán)時間,用for語句實現(xiàn),里面用switch…case語句分為8種情況。設(shè)置的時間不同,其循環(huán)時間就不一樣。經(jīng)過運行,小燈的顯示達(dá)到了預(yù)期目標(biāo)。在一段時間里,用發(fā)光二極管作為主要輸出工具,本人在指導(dǎo)老師和同學(xué)的大力幫助下,實現(xiàn)了一個又一個實驗,期間出現(xiàn)了不少問題,但最終都順利得到了解決。為最后實現(xiàn)LCD的顯示邁出了重要的一步。16 畢業(yè)設(shè)計總結(jié)1 主要成果 本次畢業(yè)設(shè)計在自己的努力,同學(xué)的幫助,老師的指點下已全部完成,結(jié)果重要,過程也很珍貴,因為好的結(jié)果必然得經(jīng)過一個艱辛的過程,而從這個堅信的過程中我獲得了珍貴的經(jīng)驗和教訓(xùn),仔細(xì)認(rèn)真的總結(jié)將對自己是個質(zhì)的提升?,F(xiàn)先將此次畢業(yè)設(shè)計的成果簡要匯報如下:?完整的電池充電器設(shè)計方案?模塊化的 “C”源代碼?支持多數(shù)電池類型?快速充電算法?充電參數(shù)易修改?片內(nèi)EEPROM 可用于存儲電池信息?支持在線編程,低成本2 經(jīng)驗總結(jié)和感謝當(dāng)畢業(yè)論文寫到這里的時候,為期一學(xué)期四個月的畢業(yè)設(shè)計基本要畫上句號了,四個月的時間可以說長也可以說短,但這一百多天的時間里,在劉啟新老師的耐心指導(dǎo)下,自己可謂有了一個全新的提高。與同組人郭偉的通力配合下,畢業(yè)設(shè)計也較順利圓滿地完成了。此次我的畢業(yè)設(shè)計的課題是“智能充電器的設(shè)計”,是由我和郭偉同學(xué)共同設(shè)計完成的。同組同學(xué)主要負(fù)責(zé)充電器硬件電路部分的設(shè)計,而我則主要設(shè)計LCD顯示部分,主要包括LCD電源電路原理圖的設(shè)計和C程序的編寫。一開始拿到這個課題確實也是一頭的霧水,不知道該如何的下手,也就在畢業(yè)設(shè)計的開始階段,劉老師為我們指出了此課題的大概方向和需要查閱的相關(guān)書籍以及在后面會遇到的主要問題,當(dāng)時可謂受益頗多。接下來便是查閱相關(guān)的文獻(xiàn)資料,由于本人主要負(fù)責(zé)軟件部分,而C語言由于當(dāng)時學(xué)的不是很精通,所以我用了兩周左右的時間對C語言重新學(xué)習(xí)了一遍,這也為后面的實際編程打了下了基礎(chǔ)。結(jié)合本次的設(shè)計,我也需了解控制芯片ATmega16L的相關(guān)知識,特別是它的智力指令系統(tǒng),而之前我們只
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1