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

正文內容

電動輪汽車智能化加油系統(tǒng)——加油控制系統(tǒng)的軟件設計(編輯修改稿)

2025-08-03 14:59 本頁面
 

【文章內容簡介】 7來指定。在方式1和方式3下,(不是任意的頻點)。常見的波特率有2400、4800、9600、19200、38400、57600、115200等。數據的收發(fā)雙方,一般要事先約定好相同的波特率才能正常通信。Baud Rate即串行通信的位速率,單位bps。標準的AT89C51單片機沒有專門的波特率發(fā)生器,因此在串口設置為方式1和3后,必須占用定時器T1來產生波特率。在方式1和3下。定時器T1的工作方式0和工作方式1沒有自動重裝的功能,這會帶來波特率的誤差,進而導致收發(fā)數據出錯。所以用到了T1定時器的工作方式2,即8位自動重裝模式。定時器的T1初值計算公式為:=0時,THTL=256(f/12)/(32*baud rate)=1時,THTL=256(f/12)/(16*baud rate) =1這種方式,其中f=,baud rate=115200串行口通信可以選擇查詢方式或中斷方式處理,要視具體情況而定,一般,對較大的程序,為了提高處理效率,常采用中斷處理方式進行通信。 初始化好串口以后,置位SFR寄存器IE當中的EA和ES后,不管是軟件或硬件的原因,只要使TI或RI置位,就會觸發(fā)串行口中斷。發(fā)送和接收共享同一個中斷向量,入口地址都是0023H。在編寫中斷服務程序時,應當首先判斷TI和RI位,然后再跳轉到不同的處理分支。[22]圖44 串口通信接收流程圖includeinclude include includeincludeincludeincludeincludevoid receive(){unsigned char a,b。TI=1。 /*串行口接收中斷請求標志*/RI=1。 /*串行口發(fā)送中斷請求標志*/XTYBE[0x00H]=0; /*握手協議標志位*/while(XTYBE[0x00H]==0) /*握手協議,同意開始傳輸*/{if(SBUFr==39。?39。) { SBUFs=39。?39。 XTYBE[0x00H]=1;/*同意傳輸結束標志*/ XTYBE[0x01H]=0;/*接收油液類別標志位*/ }}while(XTYBE[0x01H]==0)/*接收油液類別*/ {if(SBUFr==39。39。) { SBUFs=39。39。 while(SBUFr!=39。$39。) { a=SBUFr。 XTYBE[0x01H]==1。 XTYBE[0x02H]==0。/*接收油量標志位*/ }} }while(XTYBE[0x02H]==0)/*接收油量*/ {if(SBUFr==39。$39。) { SBUFs=39。$39。; while(SBUFr!=39。39。) { b=SBUFr。 XTYBE[0x02H]==1。 SBUFs=39。39。}} }} 串口通信發(fā)送程序流程圖.:圖43 串口通信發(fā)送程序流 串口通信發(fā)送程序includeinclude include includeincludeincludeincludeincludevoid send(){unsigned char j。unsigned int i=0。TI=1。 /*串行口接收中斷請求標志*/RI=1。 /*串行口發(fā)送中斷請求標志*/XTYBE[0x03H]=0; /*握手協議標志位*/SBUFs=!。while(XTYBE[0x03H]==0) /*握手協議,同意開始發(fā)送*/{ if(SBUFr==39。!39。) { XTYBE[0x03H]=1。 XBYTE[0x04H]=0。 }}while(XBYTE[0x04H]==0) /*開始傳輸內容*/ { SBUFs=j。 while(SBUFr==39。F39。) { XBYTE[0x04H]=1。 } while(SBUFr==39。N39。) { XBYTE[0x04H]=1。 } }},電動球閥等部件的介紹 對電動機的控制原理說明第一,根據機械部分以及系統(tǒng)硬件部分的設計,本次設計選用了380V/、油液B、油液C、油液D的供應油泵的開啟和停止,以及正轉和反轉。但由于單片機不能輸出電機所能允許的啟動的電流,因此我們選用了繼電器作為輔助開關,通過單片機發(fā)出信號,對繼電器進行充電,達到繼電器所能吸合的電流時,使其控制電動機的啟動,但需要停止電動機的工作時,只需將單片機控制電動機的繼電器的控制引腳置零,通過外加的電路使繼電器放電,從而達到了使繼電器的觸點斷開,進而將電動機停止,使用這樣的方法可以很容易的控制油泵的啟動和停止的工作。第二,在成功加油后,在管道內部還存有大量的油液,不能送回儲油池,只有使電動機反轉才能實現殘留在油管內大量的油液,這里就用到了本次設計中的電動機反轉的部分,當加油停止后,供油的電動機正轉停止,處在制動的過程,根據手冊查得,本次設計中選用的電動機的啟動和制動時間大概小于二十秒,這里防止在正轉和反轉時電動機處在短路的狀態(tài),因此就選擇二十秒作為完全啟動或者完全制動的時間,當電動機供油的正轉制動完成時(20S后),電動機的反轉引腳有置位,開始讓電動機反轉,電動機反轉的工作原理和電動機正轉的工作原理一致,這里就不在敘述。第三,電動機的正反轉用到了單片機的把個引腳,分別連接在以下各引腳正轉:(A),(B),(C),(D) 反轉:(A),(B),(C),(D)在本次設計中,采用的電動機的啟動和制動時間分別為20s,這里20s已經包含了三極管的飽和導通的時間和繼電器充電導通的時間。在C語言[23] [24]中延時程序可以由單片機中的定時器精確的算出,但是由于本次設計中已經用掉了兩個定時器T1和T0,因此在這里就用C語言的循環(huán)指令來算出20s的延時時間,以下為20s的延時程序:includeinclude include includeincludeincludeincludeinclude /*延時10s*/void delay20(void){unsigned char i。for(i=0。i=200000。i++){ _nop_()。}}在控制電動機的模塊部分中,采用AT89C51單片機的P1口作為四個驅動電動機的啟動和停止的控制端,、B電動機、C電動機、D電動機的正轉。、B電動機、C電動機、D電動機的反轉。下面以驅動電動機A為例介紹連接驅動電動機A處的繼電器連接AT89C51的連接電路:圖45 驅動電機A同單片機連接電路以上是驅動電動機的正反轉控制電路圖,當PC機發(fā)送加油指令時,首先給三極管Q1充電,當三極管達到它的自身飽和導通電流時開始給繼電器導電,使得繼電器內部線圈產生磁感應吸合K1觸點,這樣使電動機正轉帶動油泵開始泵油。當加油量達到預置量時,此時就啟動了繼電器盒二極管構成的回路,開始給繼電器放電,使電動機停止泵油。當需要電動機反轉時,,這時電動機就開始反轉,這就是通過單片機控制驅動電動機工作的整個過程。如圖46所示,本圖電路為8個電動球閥與單片機的電路連接方法:圖46 電動球閥同單片機連接電路在本次設計中用到了8個電動球閥控制出油口和回油口的控制,這8個電動球閥是兩兩互相自鎖的電動球閥,它們的完全打開和完全關閉都需要不同的引腳來分別控制,這里就用到了單片機的P2口,作為電動球閥的打開和關閉的控制引腳,其中,、、。以電動球閥AA2同單片機連接電路為例介紹電動球閥同單片機的連接和引腳使用。因為電動球閥AA2是一對互為自鎖的電動球閥,它們的開啟與閉合是分別使用了兩個相同的繼電器作為開關,A2閉合,這時,球閥處于給車輛加油的待命狀態(tài)。相反,,A1閉合,這時系統(tǒng)處于回流殘余在管道中的油液的狀態(tài)。本次設計中用到了8個如圖圖410這樣的繼電器作為電動球閥開關,來控制輸入、輸出油液的開關,其中8個電動球閥是兩兩互為開關,把油液A的出油口處的電動球閥記為A1,把油液A的回油口處的電動球閥記為A2,以此類推,油液B處的出油口處的電動球閥記為B1,油液B的回油口處的電動球閥記為B2;油液C的出口處的電動球閥記為C1,油液C的回油口處的電動球閥記為C2;油液D的出口處的電動球閥記為D1,油液D的回油口處的電動球閥記為D2。那么現在以其中一對A1和A2進行說明。AA2兩個電動球閥是互為自鎖的一對電動球閥,當A1開啟式A2是閉合狀態(tài),當A2開啟時A1是閉合的。這里同電動機一樣,也用到了繼電器來控制每一對電動球閥的開啟和關閉,電動球閥的開啟和關閉的工作原理同驅動電機的工作原理一樣。 在本次設計中選用的電動球閥的完全打開和完全關閉的時間都為10s,但對于給電動球閥供電的三極管的飽和通電時間和繼電器的充電吸合也同樣需要時間,經過粗略的計算,本次選用的電動球閥的打開和關閉的時間小于12s,為例安全起見,把這三部分的時間記為12s,以下為電動球閥的延時程序:includeincludeincludeincludeincludeincludeincludeinclude /*延時12s*/void delay12(void){unsigned char i。for(i=0。i=120000。i++){ _nop_()。}}本次設計中用了四個刮板型流量計來實時監(jiān)控輸出的油液的油量,來對加油系統(tǒng)進行實時的檢測和記錄,對于刮板型流量計是發(fā)出的脈沖信號,這里就用到了光電脈沖傳感器,主要是因為光電脈轉換器發(fā)出來的是脈沖信號,可以直接和單片機相連接,本次設計師只能允許一個車道加油,所以,可以將四個光電脈沖轉化器的四個輸入端和單片機的TO口相連接,把發(fā)來的技術脈沖累加到TO口的計數累加器中,當有信號發(fā)出時,T0開始工作,這樣使其能夠對加油系統(tǒng)進行實時的檢測、采集、上傳等任務。下面以放置在油液A處的流量計為例介紹流量計和光電脈沖轉換器的電路圖:圖47 轉換器同單片機的連接電路 1.簡要介紹LPJ12D型光電式電脈沖轉換器[25](以下簡稱轉換器)能把容積式流量計上輸出軸的角位移轉變成電脈沖信號,遠傳給相應的接收儀表,以顯示角位移的總量和角速度量,與本公司生產的各種容積式流量計配套使用,可輸出與流量相對應的電脈沖信號,供二次儀表或其它接收儀表作輸入信號,顯示流量計的瞬時流量和累積總量。LPJ12D/FI型光電式電脈沖轉換器,是在LPJ12D型光電式電脈沖轉換器基礎上增加了電流輸出功能,能同時輸出流量脈沖信號及標準直流電流信號。2.工作原理實現光電轉換的部件主要由發(fā)光二極管、轉軸上二塊刻有間隙很小條紋的玻璃光柵及有關電路組成,發(fā)光二極管作為光源。工作時通過轉軸的角位移,使二塊玻璃光柵作為動光柵和指示光柵相對移動,利用光學原理產生摩爾條紋,發(fā)出一明一暗的光信號由光敏管接收,經電路放大得到相應的電脈沖信號。由于動光柵上刻有1000條條紋,所以角位移360176。(即軸轉一圈),發(fā)出1000個電脈沖信號。正轉時,A相超前B相90176。;反轉時,B相超前A相90176。A、B相信號同時使用時,不宜在同一束屏蔽電纜內傳送,以免互相干擾。流量脈沖信號經F/I轉換單元由單穩(wěn)電路形成一定寬度的矩形脈沖。經過積分電路、恒流源輸出4~20mA的標準直流電流信號(LPJ12D/FI型轉換器)。(1)油量計數依據已知本次設計中的刮板流量計流量系數K=100,管道上限體積流量為30L/min=,要求輸出流量脈沖信號及4~20mA標準直流信號,根據公式4—1f滿=KQ體滿/=100≈(Hz) (4—1)計算得到當流量為Q=30L/(Hz),那么根據以上計算,能夠推出每升油液的計數脈沖的個數,當總油量不變的情況下,在每分鐘油量變化的過程中,總油量的計數脈沖的個數是不變的,本次設計就是依據這個道理來計量總油量,從而監(jiān)控加油的全過程,通過光電脈沖轉換器發(fā)給計數器T0的脈沖個數,來控制加油的整個過程。(2)計算油量算法因為AT89C51單片機的計數器T0接收到得是高電平計數,在光電脈沖轉換器發(fā)來計數脈沖時時脈沖的周期,只需要計數器計的是整個脈沖的高電平周期。根據計數脈沖的發(fā)出頻率公式4—1,就能夠得知一個計數脈沖的高電平的周期t為:t=1/2f (42)當預置加油量為V升時,油量恒定下的周期為T=V/Q,根據以上就能夠計算出預置加油量的發(fā)送單片機的計數器的脈沖個數為n=T/t。[26]介紹 AT89C51單片機內部設有兩個16位的可編程計數器??删幊痰囊馑际侵钙涔δ埽ㄈ绻ぷ鞣绞?、定時時間、量程、啟動方式等)均可由指令來確定和改變。在計數器中除了有兩個16位的計數器之外,還有兩個特殊功能寄存器(控制寄存器和方式寄存器)。如圖48為它的原理圖。圖48 AT89C51單片機的定時器/計數器的原理圖從上面定計數器的結構圖中我們可以看出,16位的計數器分別由兩個8位專用寄存器組成,即:T0由TH0和TL0構成;T1由TH1和TL1構成。其訪問地址依次為8AH8DH。每個寄存器均可單獨訪問。這些寄存器是用于存放計數初值的。此外,其內部還有一個8位的定時器方式寄存器TMOD和一個8位的定時控制寄存器TCON。這些寄存器之間
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1