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

正文內(nèi)容

基于單片機(jī)的轉(zhuǎn)速測(cè)量系統(tǒng)的設(shè)計(jì)(編輯修改稿)

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

【文章內(nèi)容簡(jiǎn)介】 用晶體振蕩器,誤差小可以不計(jì);用碼盤脈沖作捕獲信號(hào),碼盤脈沖計(jì)數(shù)值中不含177。1誤差。因此碼盤刻線誤差和標(biāo)準(zhǔn)時(shí)間計(jì)數(shù)值中的177。1誤差是影響測(cè)量準(zhǔn)確度的主要因素[9]。誤差分析:誤差可看為兩部分產(chǎn)生: ()式中t—實(shí)際測(cè)量時(shí)間—刻度誤差—177。1誤差:增大測(cè)量時(shí)間t有利于提高測(cè)量準(zhǔn)確度。在動(dòng)態(tài)性能許可的情況下,應(yīng)盡可能采用大的測(cè)量時(shí)間。通常碼盤脈沖倍頻數(shù)可以是P的整數(shù)倍。在測(cè)量時(shí)間和碼盤脈沖倍頻數(shù)確定后,確定標(biāo)準(zhǔn)時(shí)間Tc。以確保測(cè)量準(zhǔn)確度為準(zhǔn)。在其他條件不變的情況下,轉(zhuǎn)速越高,碼盤刻線誤差越??;反之,刻線誤差越大。實(shí)際測(cè)量時(shí)間t隨Tc的增大而增大。 轉(zhuǎn)速測(cè)量電路設(shè)計(jì) 硬件電路設(shè)計(jì)一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)應(yīng)包含有兩個(gè)部分內(nèi)容:第一是系統(tǒng)擴(kuò)展,即當(dāng)單片機(jī)內(nèi)部的功能單元,如ROM、RAM、I/O口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)等容量不能滿足應(yīng)用系統(tǒng)要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒O(shè)計(jì)相應(yīng)的電路。第二是系統(tǒng)配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤、顯示器、打印機(jī)、D/A、A/D轉(zhuǎn)換器等,并設(shè)計(jì)相應(yīng)的接口電路。因此,系統(tǒng)的擴(kuò)展和配置應(yīng)遵循下列原則:⒈盡可能選擇典型電路,并符合單片機(jī)的常規(guī)用法。⒉系統(tǒng)的擴(kuò)展與外圍設(shè)備配置應(yīng)滿足系統(tǒng)功能的要求,并留有適當(dāng)?shù)挠嗔浚员氵M(jìn)行二次開(kāi)發(fā)。⒊硬件結(jié)構(gòu)應(yīng)與應(yīng)用軟件方案統(tǒng)一考慮,軟件能實(shí)現(xiàn)的硬件功能盡可能用軟件來(lái)實(shí)現(xiàn),但需注意的是軟件實(shí)現(xiàn)占用CPU的時(shí)間,而且,響應(yīng)時(shí)間比硬件長(zhǎng)。⒋單片機(jī)外接電路較多時(shí),應(yīng)考慮其驅(qū)動(dòng)能力,減少芯片功耗,降低總線負(fù)載。本系統(tǒng)由于只考慮轉(zhuǎn)速的測(cè)量與顯示,在考慮系統(tǒng)配置和擴(kuò)展時(shí),盡可能利用單片機(jī)本身的資源,以提高性價(jià)比,選擇89C51系列的單片機(jī)作為系統(tǒng)的控制芯片。89C51單片機(jī)片內(nèi)含有一4K的程序存儲(chǔ)器;128字節(jié)的寄存器空間;2個(gè)16位的定時(shí)/計(jì)數(shù)器;32根I/O口線;5個(gè)中斷源。而本轉(zhuǎn)速測(cè)量系統(tǒng)采用“M”法的測(cè)量方法,需一個(gè)用于對(duì)外部脈沖計(jì)數(shù)的計(jì)數(shù)器,一個(gè)用于對(duì)內(nèi)部高頻脈沖計(jì)數(shù)的定時(shí)器,用于調(diào)整、預(yù)定定時(shí)時(shí)間。從分析可以看出89C51能滿足系統(tǒng)要求,不須另外擴(kuò)展計(jì)數(shù)器,外部中斷分別用于定時(shí)/計(jì)數(shù)同步中斷和響應(yīng),定時(shí)器利用其溢出中斷來(lái)預(yù)定測(cè)量的時(shí)間,該時(shí)間要求準(zhǔn)確,可根據(jù)測(cè)量高、中、低轉(zhuǎn)速來(lái)進(jìn)行調(diào)整。 電路工作原理分析[10]本系統(tǒng)單片機(jī)采用Atmel公司生產(chǎn)的89C51作為主控制器,用6位LED數(shù)碼管作為顯示。1.顯示部分89C51單片機(jī)的I/O口輸出特性是有較大的灌入電流能力,其中P0口的灌電流能力可達(dá)20mA,完全可以用于數(shù)碼管的驅(qū)動(dòng)。2.上電復(fù)位89C51的RST端通過(guò)電阻和電容直接和電源端相連,實(shí)現(xiàn)上電復(fù)位,理論上只要復(fù)位管腳出現(xiàn)2個(gè)機(jī)器周期以上的高電平即可完成復(fù)位,阻容元件的時(shí)間常數(shù)可以很小,但考慮到開(kāi)機(jī)時(shí),電源有個(gè)上升過(guò)程,以及振蕩電路尚未完全起振等因素,這里選用的電阻為1K,電容為10u。上電瞬間,RESET端的電位與Vcc相同,隨著充電電流減小,RESET端的電位逐漸下降,按電路參數(shù)可選擇電阻為1kΩ,電容為10μF。則時(shí)間常數(shù),這個(gè)時(shí)間常數(shù),足以完成復(fù)位操作。系統(tǒng)還可以采用另一種復(fù)位方式,即利用X5045芯片提供的上電復(fù)位功能進(jìn)行復(fù)位。X5045是集上電復(fù)位、看門狗、掉電復(fù)位、串行EEPROM四種功能于一體的多功能芯片,當(dāng)系統(tǒng)要求較高時(shí),應(yīng)采用該芯片進(jìn)行復(fù)位,當(dāng)然,這會(huì)使系統(tǒng)性價(jià)比有所下降。本系統(tǒng)暫不采用。3.脈沖發(fā)生器為了說(shuō)明轉(zhuǎn)速測(cè)量原理,減少硬件的復(fù)雜程度和投入,在不影響分析的基礎(chǔ)上,這里使用了脈沖發(fā)生器產(chǎn)生方波來(lái)替代,并通過(guò)程序中設(shè)置,模擬碼盤每轉(zhuǎn)的線數(shù)及通過(guò)調(diào)節(jié)NE555構(gòu)成的脈沖發(fā)生器的頻率來(lái)模擬轉(zhuǎn)速的快慢。沒(méi)有考慮波形畸變和干擾,在實(shí)際應(yīng)用中也可以用整形和抗干擾電路來(lái)調(diào)整。,即計(jì)數(shù)器T0的輸入端,下降沿觸發(fā)計(jì)數(shù)。4.單片機(jī)時(shí)鐘單片機(jī)的119腳接晶體和兩個(gè)27PF的電容,這里選用振蕩頻率為12MHz的晶體。5.鍵盤為使系統(tǒng)更有靈活性及有擴(kuò)展性,本系統(tǒng)在設(shè)計(jì)時(shí),預(yù)留了鍵盤部份,利用該鍵盤,可以進(jìn)行設(shè)置系統(tǒng)允許的最高/低轉(zhuǎn)速值等操作,以便在今后的工作中對(duì)此板作進(jìn)一步的開(kāi)發(fā)。6.?dāng)?shù)據(jù)存儲(chǔ)為使系統(tǒng)更有靈活性及有擴(kuò)展性,本系統(tǒng)預(yù)留了串行EEPROM接口,以便存儲(chǔ)系統(tǒng)允許的最高/低轉(zhuǎn)速,記錄運(yùn)行中出現(xiàn)的最高/低轉(zhuǎn)速等工作。可以使用一塊X5045芯片作為數(shù)據(jù)存儲(chǔ),該芯片中帶有512字節(jié)EEPROM,可以用電擦除的方式進(jìn)行改寫,改寫的次數(shù)可達(dá)1000000次,掉電之后數(shù)據(jù)保證40年不會(huì)丟失。本系統(tǒng)暫不討論。3 系統(tǒng)程序設(shè)計(jì)和調(diào)試 程序設(shè)計(jì)初步硬件電路設(shè)計(jì)完畢,即進(jìn)行程序設(shè)計(jì),在程序設(shè)計(jì)之前,首先要確定定時(shí)器的工作方式,方式控制字,確定串行口的工作模式等,下面分別討論。 工作方式及控制字設(shè)置[11]1.定時(shí)/計(jì)數(shù)器T0本系統(tǒng)設(shè)計(jì)中,T0被用于計(jì)數(shù),我們當(dāng)然希望計(jì)數(shù)量大為好,這樣,可以獲得較大的測(cè)量范圍,因此,T0選定為工作方式1(16位的計(jì)數(shù)方式),設(shè)計(jì)中,沒(méi)有使用外部控制端,僅用指令置位/清零TR0來(lái)進(jìn)行計(jì)數(shù)的啟動(dòng)/停止,這樣,電路較為簡(jiǎn)單,但精度會(huì)受到一定的影響,但在本設(shè)計(jì)中,認(rèn)為采用這種方式,精度可達(dá)到要求,因此,T0采用自由計(jì)數(shù)的方式,不用預(yù)置初值。2.定時(shí)/計(jì)數(shù)器T1本系統(tǒng)設(shè)計(jì)中,T1被用于數(shù)碼管顯示及形成閘門信號(hào),由于系統(tǒng)中用到5位數(shù)碼管,動(dòng)態(tài)顯示時(shí),一組數(shù)碼管顯示的總時(shí)間以不超過(guò)20ms為宜,因此,這里選擇T1的定時(shí)時(shí)間為4ms,5位數(shù)碼管顯示完畢,正好用于20ms,這里選用T1的工作狀態(tài)1。確定了定時(shí)/計(jì)數(shù)器T1的定時(shí)時(shí)間以后,就要計(jì)算定時(shí)初值,本系統(tǒng)用了12M的晶振,恰好是一個(gè)機(jī)器周期為1us,因此,4ms定時(shí)時(shí)間意味著只要計(jì)數(shù)4000次即可,由于定時(shí)/計(jì)數(shù)器T1是向上計(jì)數(shù),因此,要化為16進(jìn)制,并分別送入T1的高8位和低8位。這里,采用的keil匯編軟件有較強(qiáng)的預(yù)處理功能,能夠處理較復(fù)雜的運(yùn)算,因此,程序中可寫為:MOV TH1,HIGH(655364000)MOV TL1,LOW(655364000)這里使用了兩條指令High和Low,它們的用途分別是取其后括號(hào)中數(shù)值的高8位和低8位,因此,這兩行語(yǔ)句的含義就是取65536-4000的高8位和低8位,寫成65536-4000而不是寫出其結(jié)果61536可以提高程序的維護(hù)性,直觀地看到定時(shí)初值。由于80C51單片機(jī)在中斷時(shí),會(huì)附加延時(shí)38個(gè)周期,在滿足一定條件的情形下,驗(yàn)證這個(gè)數(shù)值是否正確,可以在進(jìn)入仿真調(diào)試時(shí)通過(guò)觀察Keil提供的有關(guān)變量看到,如果不正確,可以根據(jù)實(shí)際情況略作調(diào)整,保證定時(shí)時(shí)間為4ms。3.定時(shí)/計(jì)數(shù)器的方式控制字定時(shí)/計(jì)數(shù)器的方式控制字TMOD,其地址為89H,復(fù)位值00H,不可位尋址。: 說(shuō)明:GATE:門控位。由GATE、軟件控制位TR0/1和INT0/1共同決定定時(shí)/計(jì)數(shù)器0/1的打開(kāi)或關(guān)閉。當(dāng)GATE=0,只要用指令置TR0/1=1即可啟動(dòng)定時(shí)/計(jì)數(shù)器0/1工作。GATE=1,只有INT0/1引腳為高電平且用指令置TR0/1=1時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器0/1的工作。C /T:定時(shí)器/計(jì)數(shù)器選擇位。C /T=1,工作于計(jì)數(shù)器方式;C /T=0工作于定時(shí)器方式。M1M0:定時(shí)/計(jì)數(shù)工作模式選擇位。M1M0=00,13位計(jì)數(shù);M1M0=01,16位計(jì)數(shù);M1M0=10,自動(dòng)再裝入8位計(jì)數(shù);M1M0=11,工作于模式3狀態(tài)。根據(jù)前面的描述,可以確定TMOD的控制字應(yīng)為00010101B。程序中用:MOV TMOD,00010101B將控制字送入TMOD。4.定時(shí)/計(jì)數(shù)控制寄存器TCONTCON地址88H,可進(jìn)行位尋址,復(fù)位值00H。 TF0、TF1分別為定時(shí)器T0和計(jì)數(shù)器T1的溢出標(biāo)志位,TR0和TR1在正常情況下,都沒(méi)有溢出標(biāo)志,只有當(dāng)計(jì)數(shù)值或定時(shí)值超過(guò)65536時(shí),才能有溢出中斷請(qǐng)求,這兩位是由硬件置位和硬件清零,不需另行設(shè)置??稍赥0和T1的溢出中斷服務(wù)程序中,以供使用。TRTR0分別用于開(kāi)啟T1和T0的開(kāi)關(guān)位,其中TR1由系統(tǒng)開(kāi)啟時(shí),直接置位,打開(kāi)T1,開(kāi)始定時(shí),經(jīng)運(yùn)行判斷后,打開(kāi)TR0。 變量分配及程序的初始化在程序開(kāi)始之前,首先進(jìn)行變量的分配,使用EQU偽指令定義了一些符號(hào)變量,使得程序閱讀時(shí)較為直觀。程序的初始化,根據(jù)硬件電路的要求,將各硬件電路置于其規(guī)定的狀態(tài);根據(jù)需要,設(shè)置堆棧;對(duì)定時(shí)器、計(jì)數(shù)器、串行口等設(shè)置工作狀態(tài),預(yù)置初值等[12]。以下是程序定義變量及進(jìn)行初始化的程序行。DISPBUF EQU 5AH;顯示緩沖區(qū)從5AH開(kāi)始,共5個(gè)單元。SecCoun EQU 59H;秒計(jì)數(shù)器單元,用于累計(jì)T1的中斷次數(shù),每250個(gè)為一秒。SpCoun EQU 57H;速度計(jì)時(shí)器單元57H和58H,高位在前(57H單元中)Count EQU 56H;顯示時(shí)的計(jì)數(shù)器SpCalc bit 00h;要求計(jì)算速度的標(biāo)志,該位為1時(shí)主程序計(jì)算速度,然后清該位Hidden EQU 10;消隱碼;以上分配變量MOV SP,5FH;設(shè)置堆棧MOV P1,0FFH;將P1置位高電平。MOV P0,0FFH;將P0置位高電平。MOV P2,0FFH;將P2置位高電平,以上三行熄滅所有LED及數(shù)碼管。MOV TMOD,00010101B;定時(shí)器T1工作于方式1,定時(shí)器T0
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1