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

正文內(nèi)容

汽車節(jié)能裝置控制器設(shè)計畢業(yè)論文(編輯修改稿)

2024-07-23 15:31 本頁面
 

【文章內(nèi)容簡介】 慮到單片機(jī)固件的復(fù)雜性,沒有用到DMA傳輸。7)PLL鎖槌環(huán)片內(nèi)集成了6MHZ~48MHZ時鐘乘法PLL,這樣可使用低成本的6MHZ晶振。USB接口電路原理圖如圖2.9所示:PDIUSBDl2芯片在正常工作前,必須進(jìn)行正確的上電復(fù)位,把PDIUSBDl2的復(fù)位端連接至O+5v電壓即可實(shí)現(xiàn)PDIUSBDl2芯片的上電復(fù)位,把PDIUSBDl2芯片的D+、D一兩個引腳分別接上IMQ下拉電阻、IMQ上拉電阻,這是為了防止外界噪聲,因?yàn)槿绻鸇+、D一在懸浮的情況下,外界噪聲很可能引起D+、D一的狀態(tài)變化。圖2.9 IJSB接口電路圖2.9本章小結(jié) 本章講述了汽車節(jié)能裝置控制器的設(shè)計,浚控制器能夠?qū)崿F(xiàn)對汽車節(jié)能裝置的電磁離合器位置、車速、儲氣桶壓力等模擬信號的采集,能夠?qū)崿F(xiàn)對電磁離合器、電磁閥的開關(guān)量控制。擴(kuò)展的串行通信接口、USB通信接口能夠?qū)崿F(xiàn)與上位機(jī)通信。通過通信接口能夠把采集到模擬信號的數(shù)據(jù)傳輸給上位機(jī)處理。3 系統(tǒng)軟件設(shè)計 該課題涉及到單片機(jī)程序設(shè)計、PC機(jī)應(yīng)用程序設(shè)計。合理選用程序沒計語言和開發(fā)工具是非常重要的,這對于整個系統(tǒng)的開發(fā)周期、開發(fā)效率都是有著很大影響。3.1單片機(jī)編程語言和開發(fā)工具 MCS一51單片機(jī)的編程語言有兩種:一種是匯編語言,一種是C51語言,匯編語占具有編譯產(chǎn)生的機(jī)器代碼效率高的特點(diǎn),但是匯編語言可讀性不高,而C語言是一種通用的計算機(jī)程序設(shè)計語言,雖然它的編譯效率不如匯編語言,但是隨著各種編譯器的開發(fā)和改進(jìn),實(shí)踐證明,對于同一個問題,用C語言編寫的程序生成代碼的效率僅比匯編語言編寫的程序低10%~20%。對于MCS一51單片機(jī)來說,現(xiàn)在普遍使用的C51編譯器是NAIL 51的C51編譯器,能夠產(chǎn)生非常間接形式、效率極高的程序代碼,在代碼的質(zhì)量上可以與匯編語言相媲美。在該課題的開發(fā)中,對于采用C51語言和匯編語言進(jìn)行混合編程,要實(shí)現(xiàn)這一點(diǎn),必須對單片機(jī)丌發(fā)工具和開發(fā)環(huán)境進(jìn)行一些設(shè)置。 單片機(jī)的調(diào)試離不開單片機(jī)仿真器,我們該系統(tǒng)調(diào)試選用了WAVE 2000S仿真器及其配套的WAVE 6000仿真軟件。由于本課題中程序開發(fā)中使用了匯編語言和C51語言混合編程,但是有WAVE6000仿真軟件沒有C編譯工具,所以,必須使用第三方的c語言編譯器,而WAVE 6000仿真軟件的一項顯著特點(diǎn)就是能夠通過設(shè)定,能夠利用第三方編譯軟件KAIL 51的c編譯器。首先簡單介紹一下KAIL 51軟件,KEIL 51軟件是眾多單片機(jī)應(yīng)用開發(fā)的優(yōu)秀軟件之一,它的編譯器支持匯編語言、c語言的程序設(shè)計。 下面講述如何安裝單片機(jī)開發(fā)工具和設(shè)定升:發(fā)環(huán)境。其具體步驟如下:(1)安裝WAVE 6000仿真軟件。(2)安裝KAIL 5l軟件,其安裝的路徑為c:\Keil\C5l\(3)設(shè)置WAVE 6000仿真軟件。具體設(shè)置方法是:把編譯器路徑設(shè)定為NAI:L51軟件的安裝路徑C:\Keil\C51\。圖3.1偉福仿真軟件設(shè)置。 在單片機(jī)硬件設(shè)計完成后,其軟件的調(diào)試和修改都必須借助于某種工具能完成,這一工具就是單片機(jī)開發(fā)系統(tǒng)。單片機(jī)的在線仿真器通過串口與計算機(jī)相連通,構(gòu)成單片機(jī)開發(fā)系統(tǒng)。仿真器的軟件具有自己的行編輯功能,用以編輯用戶的匯編程序,用戶的源程序可存放在源程序存儲器或外接仿真板的存儲器中。同時仿真器的軟件具有匯編和編譯的能力,以及單步、跟蹤、慢速斷點(diǎn)、全速斷點(diǎn)和連續(xù)方式運(yùn)行程序的調(diào)試能力。單片機(jī)開發(fā)系統(tǒng)除了可以對用戶程序進(jìn)行輸入、編輯、調(diào)試和匯編的功能以外,還有一個顯著的特點(diǎn)是在線仿真功能。在線仿真功能是通過在線仿真器實(shí)現(xiàn)的,設(shè)計人員通過系統(tǒng)機(jī)就可對被設(shè)計的目標(biāo)系統(tǒng)進(jìn)行仿真。3.2 PC機(jī)應(yīng)用程序編程語言和集成開發(fā)環(huán)境++程序語言 c++是~門高效實(shí)用的程序設(shè)計語言。它既可以進(jìn)行過程化的程序設(shè)計,也可以進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計。c++語言強(qiáng)調(diào)對高級抽象的支持。C++實(shí)現(xiàn)了類的封裝、數(shù)據(jù)隱藏、繼承,使得代碼容易維護(hù)和高度可重用。C++是從C進(jìn)化而來,是c語言的超集,c++在程序結(jié)構(gòu)的本質(zhì)上與C是一致的,都是用函數(shù)驅(qū)動機(jī)制實(shí)現(xiàn)的,縱觀當(dāng)前,c++的發(fā)展領(lǐng)導(dǎo)了程序設(shè)計語言的潮流,在系統(tǒng)軟件的研究開發(fā)上,它是上選的語種,在小規(guī)??刂茟?yīng)用上,e++的效率比C毫不遜色,在大規(guī)模應(yīng)用軟件開發(fā)上,在windows操作系統(tǒng)上,C++類庫以及組件在迅速發(fā)展,這些類庫和組件使得開發(fā)應(yīng)用程序更加方便和快捷。]c++6.0集成開發(fā)環(huán)境Visual c++6.0是用戶所喜愛的面向?qū)ο蟮腤indows編程環(huán)境,借助于Visual c168。MFC類庫中的交互式工具,就能很容易生成一個可以實(shí)際運(yùn)行的Windows應(yīng)用程序。在這個開發(fā)環(huán)境中,程序員不必面對建立一個應(yīng)用程序都要親手設(shè)計用戶接口的枯燥工作,而只需選取菜單命令,Visual c++系統(tǒng)就會生成一個可實(shí)際運(yùn)行的Windows應(yīng)用程序框架,然后利用基于Windows的c抖源程序編輯器,就可以在App Wizard的基礎(chǔ)上建立自己的面向?qū)ο蟮膽?yīng)用程序。3.3單片機(jī)程序設(shè)計3.3.1模塊化的程序設(shè)計方法1.程序功能模塊化的特點(diǎn)實(shí)際的應(yīng)用程序一般都由一個主程序(包括若干個功能模塊)和多個子程序構(gòu)成。每一程序模塊都麓完成一個明確的任務(wù),實(shí)現(xiàn)某個具體功能,如通信、接收、延時、顯示等等。采用模塊化的程序設(shè)計方法有下述優(yōu)點(diǎn):1)單個模塊結(jié)構(gòu)的程序功能單一,易于編寫,調(diào)試和修改;2)便于分工,從而可使多個程序員同時進(jìn)行程序的編寫和調(diào)試工作,可以加快程序的研制進(jìn)度;3)程序可讀性好,便于功能擴(kuò)充和版本升級;4)對程序的修改可局部進(jìn)行,其它部分呵以保持不變;5)對于使用頻繁的子程序可以建立子程序庫,便于多個模塊的調(diào)用;本系統(tǒng)的程序設(shè)計充分利用了模塊化程序設(shè)計的方法,在主程序模塊中由若干個子程序和功能模塊組成。主程序模塊的功能包括X2504825ADC080PDIUSBDl2等的初始化和控制程序。它是整個軟件系統(tǒng)的核心,其它子程序都是按照主程序的設(shè)定方式進(jìn)行工作的。整個程序流程如下圖3.2所示:3.3.2 X25045編程 X25045將四種功能合于一體:上電復(fù)位控制、看門狗定時器、降壓管理、串行EEPROM,X25045在本系統(tǒng)中所用的指令集見表3.1,表中所有的指令、地址及數(shù)據(jù)都以MSB(最高有效位)在前的方式傳送。表3.1 X25045指令集表。指令名稱,指令格式,功能。“正在寫”WIP位表示X25045是否處于寫操作。當(dāng)為?l時,寫操作J下在進(jìn)行;當(dāng)為“0”時,沒有寫操作。在寫操作期間,所有其它位全部置“1I,.WIP位是只讀的?!皩懯鼓苕i存”WEL位表示“寫使能”鎖存器的狀態(tài),當(dāng)設(shè)置為“l(fā)”時,表示鎖存器置位i當(dāng)設(shè)置為“0”時,表示鎖存器復(fù)位。WEL由WREN指令置位。由WRDI指令復(fù)位或由寫周期后復(fù)位。“塊保護(hù)”BLO和BL1位表示所使用的保護(hù)范圍。這些位由發(fā)出WFSF指令來設(shè)置,允許用戶選擇4種保護(hù)級別之一。“看門狗定時器”WDO、WD1位允許如表3.3所列的那樣設(shè)置看門狗的超時功能。表3.3看門狗定時器設(shè)置表X25045的初始化子程序主要如下:設(shè)置寫使能寄存器子程序WREN_CMI)Wren -cmd:clrsck: 將sck變?yōu)榈碗娖絚lrcs: cs變?yōu)榈碗娖組ov A,yrren—Jnst:寫使能命令為00000110blcall outbyt: 發(fā)送寫使能命令clr sck: 使得sck為低電平setb cs: 使得cs為高電平ret: 程序名.寫狀態(tài)寄存器WTSF_Cmdwrsr_cmd:Clr sck: 將sck變?yōu)榈碗娖絚lrcs: cs變?yōu)榈碗娖絤ov A, WRSRINST:WRSR指令lcaIIoutbyt: 發(fā)送隙SR指令movA, STATUS—REG:待寫入狀態(tài)寄存器中的數(shù)據(jù)送入Alcal 1 outbyt:發(fā)送狀態(tài)寄存器數(shù)據(jù)C1r sck: 將sck變?yōu)榈碗娖絊etb cs: CS變?yōu)楦唠娖絃call wip_pol1: 等待完成寫操作;當(dāng)上面的韌始化程序在主程序中調(diào)用后,便可以調(diào)用下面復(fù)位看門狗定時器子程序。rst—wdog::程序名稱:RST_IFDOG復(fù)位看168。狗定時器clr c8: 使得cs為低電平來復(fù)位看門狗setbcs: 使得cs為高電平ret3.3.3數(shù)據(jù)采集程序模塊 數(shù)據(jù)采集的芯片采用ADC0809,ADC0809是一個多路開關(guān)有8個模擬量輸入量,最多允許8路模擬量的分時輸入,共用一個A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,ADC0809完成一次轉(zhuǎn)換大約需100 us的時間。所以在進(jìn)行AD轉(zhuǎn)換的程序設(shè)計時,采用中斷控制法,中斷控制是在啟動信號送到ADC0809后,單片機(jī)執(zhí)行別的程序。ADC轉(zhuǎn)換結(jié)束后向單片機(jī)發(fā)出中斷請求信號,單片機(jī)響應(yīng)此中斷請求,進(jìn)入到中斷服務(wù)程序,讀入轉(zhuǎn)換數(shù)據(jù),并進(jìn)行必要的數(shù)據(jù)處理,然后返回到主程序。這種方法單片機(jī)不需要進(jìn)行轉(zhuǎn)換時間的管理,CPU效率商。首先在主程序模塊中啟動A/D轉(zhuǎn)換,則通過調(diào)用啟動A/D轉(zhuǎn)換的子程序?qū)崿F(xiàn)。啟動A/D轉(zhuǎn)換子程序的程序流程如圖3.3所示。由于模擬信號采集程序需要采集多路數(shù)據(jù),所以在啟動A/D轉(zhuǎn)換程序之前,必須先檢查是否采集了系統(tǒng)所需要的各路數(shù)據(jù)。如果采集完成,就在主程序中重新啟動A/D轉(zhuǎn)換程序。當(dāng)在主程序中啟動了A/D轉(zhuǎn)換程序后,程序進(jìn)入到中斷程序執(zhí)行.在中斷程序中啟動A/D轉(zhuǎn)換,使得程序再次進(jìn)入中斷,當(dāng)各個通道的模擬信號都采集完成了,則設(shè)置各個通道數(shù)據(jù)采集完成標(biāo)志。對于實(shí)時數(shù)據(jù)采集系統(tǒng),為了消除傳感器通道中的干擾信號,利用單片機(jī)的運(yùn)算、控制功能,編寫的單片機(jī)軟件可實(shí)現(xiàn)濾波,這就是數(shù)字濾波。在本系統(tǒng)中采用中位值濾波法,就是對某一被測參數(shù)接連采樣n次,然后把n次采樣值按大小排列,取中間值為本次采樣值。因此在中斷程序中必須采樣斷程序流程圖如圖3.4所示。圖3 4中斷程序流程圖3.3.4串行通信程序 在本課題中,單片機(jī)要與上位機(jī)進(jìn)行通信,利用MCS一51單片機(jī)的串行臼和上位機(jī)的COM口進(jìn)行串行通信,將單片機(jī)采集的數(shù)據(jù)送入到上位機(jī),以利于對單片機(jī)采集的數(shù)據(jù)進(jìn)行分析與計算。要想保證通信的成功,上位機(jī)與單片機(jī)需要一個通信協(xié)議,該課題中規(guī)定的通信協(xié)議和單片機(jī)發(fā)送數(shù)據(jù)流程圖如下:●波特率:1200b/s●信息格式:8位數(shù)據(jù)位,l位停止位,無奇偶校驗(yàn);●傳送方式:上位機(jī)采用查詢方式發(fā)送數(shù)據(jù)、中斷方式接收數(shù)據(jù);8051采用查詢方式發(fā)送數(shù)據(jù)、中斷方式接收數(shù)據(jù):●校驗(yàn)方式:位異或運(yùn)算進(jìn)行異或和校驗(yàn)。如果上位機(jī)接收到的數(shù)據(jù)在上位機(jī)中進(jìn)行異或和運(yùn)算得到的校驗(yàn)和結(jié)果等于單片機(jī)傳送的校驗(yàn)和,則上位機(jī)接受此數(shù)據(jù),否則拋棄此數(shù)據(jù)。3.4單片機(jī)的USB固件程序 編寫單片機(jī)USB固件程序,必須深入理解USB體系結(jié)構(gòu)、USB協(xié)議。下面來簡要講述USB體系結(jié)構(gòu)和IJSB協(xié)議。3.4.1 USB體系 USB體系一般分為三部分:USB主機(jī)(USB HOST),集線器,USB設(shè)備(USB DEVICE).USB足一種層狀的星形拓?fù)?,其根部是主控制器,USB器件直接與根部接12連接實(shí)現(xiàn)其功能。若多個器件同時需要連到主控制器上,只需用集線器(HUB)來擴(kuò)展。如下圖3.6所示(圖中的NODE代表USB設(shè)備):USB主機(jī)可以看作是一個硬件、固件和軟件的結(jié)合體,是USB通信的中心。它控制和分時連接各個器件。主機(jī)功能如下:(1)檢測USB設(shè)備的安裝和拆卸:(2)管理在主機(jī)和USB設(shè)備之間的控制流;(3)管理在主機(jī)和USB設(shè)備之問的數(shù)據(jù)流;(4)收集狀態(tài)和動作信息:(5)提供能量給連接的USB設(shè)備; USB集線器可讓不同性質(zhì)的設(shè)備連接在USB總線上,連接點(diǎn)稱作端口。每個集線器的上游端口向主機(jī)方向進(jìn)行連接,每個集線器的下游端口允許連接另外的集線器或功能部件。集線器可檢測每個下游端口的設(shè)備的安裝或拆卸,并可對下游端口的設(shè)備分配能源。USB設(shè)備是帶有USB接口并可以完成特定功能的外設(shè),它通過USB總線進(jìn)行發(fā)送接收數(shù)據(jù)和控制信息,用一根電纜連接在集線器的某個端口上。一個物理單元中可以有多個功能部件和一個內(nèi)置集線器,并利用一根USB電纜,這通常被稱為復(fù)合設(shè)備,即一個集線器連向主機(jī),并有一個或多個不可拆卸的USB設(shè)備連接其上。每個USB設(shè)備都包含設(shè)置信息,束描述該設(shè)備的性能和所需資源。主機(jī)要在功能部件使用前對其進(jìn)行設(shè)置。設(shè)置信息包括USB帶寬分配,選擇設(shè)備的設(shè)置信息等。目前USB設(shè)備是USB總線中發(fā)展最快的部分,常見USB外設(shè)有:鼠標(biāo)或光筆、鍵盤等。3.4.2USB總線的數(shù)據(jù)傳輸方式 USB總線有四
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1