版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
汽車故障診斷與檢測(cè)技術(shù)金肯學(xué)院汽車工程系
呂黎明第六節(jié)汽車單片機(jī)程序設(shè)計(jì)原理1.基礎(chǔ)學(xué)問(wèn)流程圖符號(hào)、程序設(shè)計(jì)步驟、源程序匯編、偽指令及程序的結(jié)構(gòu)2.程序?qū)嵗杖急确答佇拚拗圃聿竭M(jìn)電動(dòng)機(jī)怠速閥限制原理在了解MCS-51單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng)后,可以利用它們?nèi)ネ瓿扇藗兤谕墓ぷ鳎闯绦蛟O(shè)計(jì)工作。程序就是為了計(jì)算某一算式或限制某一工作的若干指令的有序集合。單片機(jī)的全部工作都要靠執(zhí)行程序來(lái)完成。一、匯編語(yǔ)言程序設(shè)計(jì)1.匯編語(yǔ)言程序設(shè)計(jì)步驟(1)分析問(wèn)題,確定算法:這是程序設(shè)計(jì)中最重要的一步。設(shè)計(jì)人員必需細(xì)致、細(xì)致地考慮系統(tǒng)須要解決的各種問(wèn)題以及將來(lái)系統(tǒng)功能的進(jìn)一步擴(kuò)展,明確知道程序要解決的問(wèn)題和接收、處理、發(fā)送的數(shù)據(jù)范圍以及運(yùn)用什么樣的算法。(2)畫流程圖:流程圖是用各種圖形、符號(hào)、有向線段來(lái)直觀地表示程序執(zhí)行的步驟和依次。它可使人們通過(guò)流程圖的基本線索,對(duì)全局有完整的了解。
圖1-33流程圖常用圖形符號(hào)(3)支配存儲(chǔ)單元:確定程序存儲(chǔ)區(qū)和數(shù)據(jù)存儲(chǔ)區(qū)的起始地址和區(qū)域大小。(4)編寫源程序代碼:依據(jù)流程圖用匯編語(yǔ)言指令實(shí)現(xiàn)流程圖的每一個(gè)步驟,從而編寫出匯編語(yǔ)言的源程序。(5)調(diào)試、測(cè)試程序:調(diào)試是利用仿真器等開(kāi)發(fā)工具,接受單步、設(shè)斷點(diǎn)、連續(xù)運(yùn)行等方法解除程序中的錯(cuò)誤,完善程序的功能。2.源程序的匯編①手工匯編手工匯編是通過(guò)手工方式查指令編碼表,逐個(gè)把助記符指令“翻譯”成機(jī)器碼的過(guò)程。②機(jī)器匯編機(jī)器匯編是在機(jī)器上運(yùn)用匯編程序自動(dòng)地進(jìn)行源程序的匯編,最終得到機(jī)器碼表示的目標(biāo)程序。3.偽指令偽指令是PC機(jī)將源程序匯編成目標(biāo)程序所須要的指令,而不是單片機(jī)的指令,相對(duì)單片機(jī)指令而言稱其為偽指令。偽指令用于告知匯編程序如何進(jìn)行匯編的指令,它既不限制單片機(jī)的操作也不被匯編成機(jī)器代碼,只能為匯編程序所識(shí)別并指導(dǎo)匯編如何進(jìn)行。偽指令主要用來(lái)指定程序或數(shù)據(jù)的起始位置,給出一些連續(xù)存放數(shù)據(jù)的地址或?yàn)橹虚g運(yùn)算結(jié)果保留一部分存儲(chǔ)空間以及表示源程序結(jié)束等等。不同版本的匯編語(yǔ)言,偽指令的符號(hào)和含義可能有所不同,但基本用法是相像的。下面介紹幾種常用的偽指令。(1)設(shè)置目標(biāo)程序起始地址偽指令ORG格式:ORG16位地址(2)結(jié)束匯編偽指令END格式:END(3)賦值偽指令EQU格式:標(biāo)號(hào):EQU項(xiàng)。項(xiàng)可以是常數(shù)、地址標(biāo)號(hào)或表達(dá)式。例如:TAB1:EQU1000HTAB2:EQU2000H匯編后TAB1、TAB2分別具有值1000H、2000H。用EQU偽指令對(duì)某標(biāo)號(hào)賦值后,該標(biāo)號(hào)的值在整個(gè)程序中不能再變更。(4)定義字節(jié)偽指令DB格式:標(biāo)號(hào):DB項(xiàng)或項(xiàng)表。把項(xiàng)或項(xiàng)表中的數(shù)據(jù)存入程序存儲(chǔ)器從標(biāo)號(hào)起先的連續(xù)地址單元中。例如:ORG2000HTAB1:DB10H,23H,……;TAB1是標(biāo)號(hào);10H,23H,……是數(shù)據(jù)匯編后:(2000H)=10H,(2001H)=23H,……(5)定義字偽指令DW格式:標(biāo)號(hào):DW項(xiàng)或項(xiàng)表DW偽指令與DB相像,但用于定義字的內(nèi)容。匯編時(shí),機(jī)器自動(dòng)按高8位在先,低8位在后的格式排列。(6)預(yù)留存儲(chǔ)區(qū)偽指令DS格式:標(biāo)號(hào):DS表達(dá)式功能是從標(biāo)號(hào)指定單元起先,定義一個(gè)大小為表達(dá)式的值的存儲(chǔ)區(qū),以備后用。例如:ORG3000HDS19HDB10H,11H,……匯編后從3000H起先,預(yù)留19H個(gè)字節(jié)的內(nèi)存單元,即3000H~3018H,然后從3019H起先,依據(jù)下一條定義字節(jié)偽指令DB起先賦值,即(3009H)=10H,(300AH)=11H,……(7)位地址定義偽指令BIT格式:標(biāo)號(hào):BIT位地址功能是將位地址賜予BIT前面的標(biāo)號(hào),經(jīng)賦值后可用該標(biāo)號(hào)代替BIT后面的位地址。例如:M1BIT01HM2BITP1.0匯編后,01H和P1.0的位地址90H分別賦給了M1和M2。
4.基本結(jié)構(gòu)程序匯編語(yǔ)言程序主要由依次結(jié)構(gòu)程序、分支結(jié)構(gòu)程序和循環(huán)結(jié)構(gòu)程序(1)依次結(jié)構(gòu)程序依次程序是最基本的程序。它是依據(jù)指令排列的先后依次依次執(zhí)行,每條指令都必需執(zhí)行,且只執(zhí)行一遍。依次程序設(shè)計(jì)一般比較單一、簡(jiǎn)潔,常常作為困難程序的一部分。(2)分支程序在程序設(shè)計(jì)過(guò)程中,有時(shí)要依據(jù)不同狀況執(zhí)行不同功能的程序段,這種依據(jù)程序要求而變更程序執(zhí)行依次的設(shè)計(jì),稱為分支程序設(shè)計(jì)。分支程序分為無(wú)條件分支程序和條件分支程序兩類。無(wú)條件分支程序中含有LJMP、AJMP等無(wú)條件轉(zhuǎn)移指令,執(zhí)行這類指令,程序?qū)o(wú)條件轉(zhuǎn)移;條件分支程序中含有判零、比較、位限制等條件轉(zhuǎn)移指令。(3)循環(huán)程序在程序中包含重復(fù)執(zhí)行的程序段稱為循環(huán)程序。循環(huán)程序簡(jiǎn)潔,占用內(nèi)存少,運(yùn)行效率高。循環(huán)程序常見(jiàn)的兩種結(jié)構(gòu):一是先執(zhí)行,后推斷,這種結(jié)構(gòu)至少要執(zhí)行1次;另一種是先推斷,后執(zhí)行,這種結(jié)構(gòu)可以1次也不執(zhí)行。循環(huán)程序通常由3部分組成:初始化:賦循環(huán)次數(shù)初值、地址指針初值等。循環(huán)處理:完成主要任務(wù)的程序段。循環(huán)限制:修改循環(huán)次數(shù)、地址指針等,限制循環(huán)是否結(jié)束。二、空燃比反饋修正限制原理程序發(fā)動(dòng)機(jī)起動(dòng)后的基本噴油時(shí)間限制主要由發(fā)動(dòng)機(jī)轉(zhuǎn)速和負(fù)荷量(進(jìn)氣量)確定。為了使發(fā)動(dòng)機(jī)在不同工況下,都處于最佳狀態(tài),還有以下主要的修正限制。其中空燃比反饋修正限制是利用氧傳感器信號(hào)來(lái)修正噴油脈沖寬度?;緡娪蜁r(shí)間限制啟動(dòng)后加濃限制啟動(dòng)后噴油限制暖機(jī)加濃限制怠速穩(wěn)定限制修正限制進(jìn)氣溫度修正限制空燃比反饋修正限制功率加大修正限制蓄電池電壓修正限制自學(xué)習(xí)修正限制氧傳感器動(dòng)態(tài)電壓信號(hào)xxH值與設(shè)計(jì)目標(biāo)值yyH比較,有以下3種狀況須要處理:xxH值>yyH:表示噴油過(guò)濃,須要調(diào)用減小噴油子程序,執(zhí)行后返回轉(zhuǎn)移循環(huán)監(jiān)測(cè);xxH值<yyH:表示噴油過(guò)稀,須要調(diào)用增大噴油子程序,執(zhí)行后返回轉(zhuǎn)移循環(huán)監(jiān)測(cè)xxH值=yyH:表示噴油在志向空燃比旁邊,保持不變,轉(zhuǎn)移循環(huán)監(jiān)測(cè)利用“比較不相等轉(zhuǎn)移指令CJNE”和“位條件轉(zhuǎn)移指令JC”實(shí)現(xiàn)三分支推斷。發(fā)動(dòng)機(jī)整體限制是一個(gè)很大的程序,空燃比反饋修正限制程序只是其中一個(gè)程序段或子程序(有不同的設(shè)計(jì)方法),為了簡(jiǎn)便,設(shè)定這是一個(gè)相對(duì)獨(dú)立程序。空燃比反饋修正限制程序流程圖如圖1-35所示(圖中沒(méi)有顯示子程序)。圖1-35空燃比反饋修正限制程序流程圖從程序流程圖可以看出,這是一個(gè)3分支結(jié)構(gòu)程序,左分支程序保持噴油量不變,中間分支程序調(diào)用增大噴油子程序,右分支程序調(diào)用減小噴油子程序。子程序增大或減小1個(gè)變量的噴油時(shí)間參數(shù)后,要返回轉(zhuǎn)移循環(huán)監(jiān)測(cè)氧傳感器不斷傳來(lái)的動(dòng)態(tài)電壓信號(hào)值xxH,看是否達(dá)到目標(biāo)值。發(fā)動(dòng)機(jī)在全部運(yùn)行過(guò)程中,空燃比反饋修正限制程序始終在不斷的循環(huán)監(jiān)測(cè)氧傳感器信號(hào)和修正噴油時(shí)間,使尾氣排放達(dá)到環(huán)保要求。空燃比反饋修正限制程序如下:標(biāo)號(hào)地址源程序注釋LOOP:1954HMOVR1,#xxH;氧傳感器動(dòng)態(tài)信號(hào)xxH送R11956HCJNER1,#yyH,N2;R1內(nèi)xxH≠yyH,轉(zhuǎn)移N2(rel1=02H)xxH=yyH,不轉(zhuǎn)移,順接N1N1:1959HSJMPLOOP(rel2=F9H);轉(zhuǎn)移LOOP循環(huán)監(jiān)測(cè)N2:195BHJCN3(rel3=);xxH<yyH,CY=1,轉(zhuǎn)移N4,xxH>yyH,CY=0,順接N3N3:195DHLCALLL1;調(diào)用減小噴油子程序L11960HSJMPLOOP(rel4=);執(zhí)行減小噴油后返回,轉(zhuǎn)移循環(huán)監(jiān)測(cè)N4:1962HLCALLL2;調(diào)用增大噴油子程序L21965HSJMPLOOP(rel5=);執(zhí)行增大噴油后返回,轉(zhuǎn)移循環(huán)監(jiān)測(cè)程序中的地址偏移量rel計(jì)算如下:第2條指令的rel1=195BH-(1956H+3)=02H第3條指令的rel2=100H-∣1954H-(1959H+2)∣=100H-07H=F9H其它rel值由讀者計(jì)算。三、步進(jìn)電機(jī)怠速閥限制原理程序1.怠速限制原理怠速就是汽車發(fā)動(dòng)后溫度上升到正常溫度,發(fā)動(dòng)機(jī)處于空擋時(shí)穩(wěn)定的最低轉(zhuǎn)速。此時(shí)混合氣燃燒所做的功,只是用以克服發(fā)動(dòng)機(jī)的內(nèi)部阻力。在運(yùn)用汽車時(shí),發(fā)動(dòng)機(jī)怠速運(yùn)轉(zhuǎn)的時(shí)間約占30%,怠速轉(zhuǎn)速的凹凸干脆影響燃油消耗和排放尾氣。怠速過(guò)高,耗油量增加;怠速過(guò)低,發(fā)動(dòng)機(jī)轉(zhuǎn)速不穩(wěn),簡(jiǎn)潔熄火。怠速限制均接受發(fā)動(dòng)機(jī)轉(zhuǎn)速反饋閉環(huán)限制方式,即發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器將發(fā)動(dòng)機(jī)的實(shí)際轉(zhuǎn)速和目標(biāo)轉(zhuǎn)速進(jìn)行比較,依據(jù)比較的差值確定使發(fā)動(dòng)機(jī)達(dá)到目標(biāo)值的限制量,并通過(guò)執(zhí)行機(jī)構(gòu)對(duì)發(fā)動(dòng)機(jī)怠速轉(zhuǎn)速進(jìn)行校正。步進(jìn)電機(jī)式怠速限制閥由步進(jìn)電機(jī)、閥桿、限制閥和閥座組成。轉(zhuǎn)子的正轉(zhuǎn)或反轉(zhuǎn)運(yùn)動(dòng)經(jīng)閥桿(絲桿)轉(zhuǎn)換成向前或向后的直線伸縮運(yùn)動(dòng),閥桿每旋轉(zhuǎn)1圈,伸縮1個(gè)螺距;圖1-36步進(jìn)電機(jī)式怠速限制閥示意圖2.怠速限制用步進(jìn)電機(jī)目前應(yīng)用怠速限制的步進(jìn)電機(jī)多為永磁式,由發(fā)動(dòng)機(jī)電控單元限制。目前應(yīng)用怠速限制的步進(jìn)電機(jī)多為永磁式,由發(fā)動(dòng)機(jī)電控單元限制。圖1-37為某種怠速限制閥所用步進(jìn)電機(jī)定子與轉(zhuǎn)子結(jié)構(gòu)和相互作用示意圖。定子由兩個(gè)圓形爪極式鐵芯相疊而組成,每個(gè)爪極式鐵芯內(nèi)有2個(gè)線圈,共有4個(gè)線圈;每個(gè)爪極式鐵芯有16個(gè)爪極,兩個(gè)鐵芯錯(cuò)開(kāi)相疊,形成32個(gè)爪極。轉(zhuǎn)子是圓形永久磁鐵,磁極方向與轉(zhuǎn)子半徑方向一樣,共有16個(gè)(8對(duì))磁極,圖中只畫出2個(gè)(1對(duì))磁極。步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一圈須要32步,步距角為11.25°。步進(jìn)電機(jī)的工作范圍為0~125步。圖1-37步進(jìn)電動(dòng)機(jī)定子與轉(zhuǎn)子示意圖圖1-38為步進(jìn)電機(jī)的限制電路圖,由單片機(jī)的并行輸入/輸出P1端口的P1.0、P1.1、P1.2、P1.3分別限制步進(jìn)電機(jī)的A相、B相、C相、D相線圈。共有4條相同的限制電路,限制電路由反相器、光電隔離器、復(fù)合放大電路、疼惜二極管組成。A相、B相、C相、D相分別通電時(shí),對(duì)應(yīng)產(chǎn)生的磁極對(duì)是C1、C2、C3、C4。例如A相線圈通電,產(chǎn)生4對(duì)(8個(gè))C1磁極。其它線圈通電狀況類似。步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的基本原理是:按A→B→C→D→A相序依次通電,轉(zhuǎn)子正轉(zhuǎn)(圖中為順時(shí)針);按A→D→C→B→A相序依次通電,轉(zhuǎn)子反轉(zhuǎn)。線圈通電時(shí)間的長(zhǎng)短確定轉(zhuǎn)速,通電時(shí)間長(zhǎng),轉(zhuǎn)速慢,通電時(shí)間短,轉(zhuǎn)速快。圖1-38步進(jìn)電動(dòng)機(jī)限制電路圖3.怠速閥的限制過(guò)程單片機(jī)主要通過(guò)發(fā)動(dòng)機(jī)轉(zhuǎn)速傳感器和溫度傳感器的信號(hào)和設(shè)定的轉(zhuǎn)速值來(lái)限制步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)動(dòng)。為了講解便利,設(shè)定步進(jìn)電機(jī)正轉(zhuǎn)為關(guān)閥,即限制閥向閥座移動(dòng),減小通氣截面積;反轉(zhuǎn)為開(kāi)閥,即限制閥向遠(yuǎn)離閥座方向移動(dòng),增大通氣截面積。下面以怠速的三種基本限制為例,介紹單片機(jī)對(duì)怠速限制閥步進(jìn)電機(jī)的限制原理。(1)暖機(jī)限制怠速限制閥的初始狀態(tài)是全開(kāi),步進(jìn)電機(jī)的步數(shù)為0,通氣截面積最大,發(fā)動(dòng)機(jī)起動(dòng)后,怠速比較高,是快速暖機(jī)過(guò)程??焖倥瘷C(jī)過(guò)程的怠速一般限制在1200轉(zhuǎn)/分,稱暖機(jī)高怠速。當(dāng)發(fā)動(dòng)機(jī)的溫度增高到設(shè)定目標(biāo)值,發(fā)動(dòng)機(jī)怠速穩(wěn)定在800轉(zhuǎn)/分,稱正常低怠速。從暖機(jī)高怠速1200轉(zhuǎn)/分到正常低怠速800轉(zhuǎn)/分的限制模式有多種,較先進(jìn)的限制模式是建立溫度與怠速的對(duì)應(yīng)數(shù)列,存在單片機(jī)的程序存儲(chǔ)器內(nèi),監(jiān)測(cè)到多高的溫度,就調(diào)取對(duì)應(yīng)的怠速值。為初學(xué)理解便利,減小程序長(zhǎng)度,暫設(shè)兩級(jí)數(shù)值:目標(biāo)溫度≥實(shí)測(cè)溫度,按暖機(jī)高怠速1200轉(zhuǎn)/分限制,允許±20轉(zhuǎn)/分;目標(biāo)溫度<實(shí)測(cè)溫度,按正常低怠速800轉(zhuǎn)/分限制,允許±20轉(zhuǎn)/分。單片機(jī)始終將發(fā)動(dòng)機(jī)轉(zhuǎn)速與目標(biāo)值比較,假如高于目標(biāo)值,就限制步進(jìn)電動(dòng)機(jī)正轉(zhuǎn),減小通氣截面積,降低發(fā)動(dòng)機(jī)轉(zhuǎn)速;假如低于目標(biāo)值,就限制步進(jìn)電動(dòng)機(jī)反轉(zhuǎn),增大通氣截面積,增加發(fā)動(dòng)機(jī)轉(zhuǎn)速。由于怠速限制閥在初始是全開(kāi)狀態(tài),發(fā)動(dòng)機(jī)在此狀態(tài)的設(shè)計(jì)轉(zhuǎn)速要高于1200轉(zhuǎn)/分,所以在發(fā)動(dòng)機(jī)起動(dòng)后的暖機(jī)限制起先,單片機(jī)限制步進(jìn)電機(jī)從0步起先,只可能是正轉(zhuǎn),減小通氣截面積,降低發(fā)動(dòng)機(jī)轉(zhuǎn)速至1200轉(zhuǎn)/分。步進(jìn)電機(jī)每轉(zhuǎn)動(dòng)1步,單片機(jī)就累加正轉(zhuǎn)步數(shù)1次;假如反轉(zhuǎn),單片機(jī)就削減正轉(zhuǎn)步數(shù)1次。發(fā)動(dòng)機(jī)受各種因素影響,怠速會(huì)有確定的波動(dòng)。怠速與目標(biāo)轉(zhuǎn)速的誤差,允許在±20轉(zhuǎn)/分以內(nèi),超過(guò)±20轉(zhuǎn)/分,單片機(jī)就調(diào)控。(2)正常怠速限制發(fā)動(dòng)機(jī)正常運(yùn)行時(shí),按正常低怠速800轉(zhuǎn)/分限制,允許±20轉(zhuǎn)/分。(3)發(fā)動(dòng)機(jī)關(guān)閉后限制關(guān)閉發(fā)動(dòng)機(jī)后,發(fā)動(dòng)機(jī)ECU(不斷電)限制步進(jìn)電動(dòng)機(jī)反轉(zhuǎn)到怠速閥復(fù)原到初始全開(kāi)狀態(tài),為了下次起動(dòng)做好準(zhǔn)備。單片機(jī)限制步進(jìn)電動(dòng)機(jī)從初始全開(kāi)狀態(tài),到正常怠速狀態(tài),再?gòu)?fù)原到初始全開(kāi)狀態(tài),其間的步數(shù)變更都被記憶下來(lái);發(fā)動(dòng)機(jī)關(guān)閉后,從初始全開(kāi)狀態(tài)正轉(zhuǎn)多少步,就轉(zhuǎn)反多少步,正好回到初始全開(kāi)狀態(tài)。4.步進(jìn)電機(jī)的限制限制步進(jìn)電動(dòng)機(jī)正、反轉(zhuǎn)有多種方法,基本原理是通過(guò)對(duì)P1口輸入限制字(也稱限制碼),依次對(duì)每一相線圈供電。由于怠速限制常用4相步進(jìn)電動(dòng)機(jī),所以可用循環(huán)移位指令來(lái)實(shí)現(xiàn)。把限制字傳送給累加器A,A再把內(nèi)容傳輸?shù)絇1口。P1口的低4位P1.0、P1.1、P1.2、P1.3分別限制步進(jìn)電動(dòng)機(jī)的A相、B相、C相、D相線圈。P1口的高4位不用。表1-12是P1口限制步進(jìn)電動(dòng)機(jī)正轉(zhuǎn)和反轉(zhuǎn)的循環(huán)移位限制字。正轉(zhuǎn)用左移循環(huán)指令,反轉(zhuǎn)用右移循環(huán)指令。表1-12P1口限制步進(jìn)電動(dòng)機(jī)正轉(zhuǎn)和反轉(zhuǎn)的循環(huán)移位限制字P1口高4位低4位控制字P1口高4位低4位控制字線圈不用DCBA線圈不用DCBA正轉(zhuǎn)↓0001000111H反轉(zhuǎn)↓0001000111H0010001022H1000100088H0100010044H0100010044H1000100088H0010001022H0001000111H0001000111H0010001022H1000100088H發(fā)動(dòng)機(jī)運(yùn)行期間,步進(jìn)電動(dòng)機(jī)要時(shí)常的正轉(zhuǎn)或反轉(zhuǎn)穩(wěn)定怠速,假如正轉(zhuǎn),則正轉(zhuǎn)步數(shù)增加;假如反轉(zhuǎn),則正轉(zhuǎn)步數(shù)削減。每轉(zhuǎn)一步,正轉(zhuǎn)步數(shù)都要存入內(nèi)存30單元。步進(jìn)電動(dòng)機(jī)每次停止轉(zhuǎn)動(dòng)的最終限制字都要存入內(nèi)存31單元,下次轉(zhuǎn)動(dòng)就從上次最終限制字的左移或右移后的新限制字起先,這樣就保證轉(zhuǎn)子轉(zhuǎn)動(dòng)的連續(xù)和平穩(wěn)。例如上次停轉(zhuǎn)最終限制字是44H,下次轉(zhuǎn)動(dòng),假如反轉(zhuǎn),就右移1位,新限制字就是22H;假如正轉(zhuǎn),就左移1位,新限制字就是88H。5.怠速限制閥步進(jìn)電機(jī)限制程序怠速限制程序是發(fā)動(dòng)機(jī)電控單元主控程序下的一個(gè)子程序。設(shè)單片機(jī)內(nèi)存RAM有關(guān)單元所要儲(chǔ)存的數(shù)據(jù)和來(lái)源如下:30H:存步進(jìn)電動(dòng)機(jī)的正轉(zhuǎn)步數(shù);31H:存驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)的限制字;32H:存缸溫實(shí)測(cè)值,由溫度傳感器傳來(lái);33H:存缸溫目標(biāo)值,由程序存儲(chǔ)器傳來(lái);34H:存怠速實(shí)測(cè)值,由轉(zhuǎn)速傳感器傳來(lái);35H:存正常低怠速目標(biāo)上限值(820轉(zhuǎn)/分),由程序存儲(chǔ)器傳來(lái);36H:存正常低怠速目標(biāo)下限值(780轉(zhuǎn)/分),由程序存儲(chǔ)器傳來(lái);37H:存暖機(jī)高怠速目標(biāo)上限值(1220轉(zhuǎn)/分),由程序存儲(chǔ)器傳來(lái);38H:存暖機(jī)高怠速目標(biāo)下限值(1180轉(zhuǎn)/分),由程序存儲(chǔ)器傳來(lái);3AH:臨時(shí)存怠速目標(biāo)上限值;3BH:臨時(shí)存怠速目標(biāo)下限值00H(位地址):存發(fā)動(dòng)機(jī)運(yùn)行和關(guān)閉數(shù)據(jù):(00H)=0,發(fā)動(dòng)機(jī)關(guān)閉;(00H)=1,發(fā)動(dòng)機(jī)運(yùn)行;信號(hào)由發(fā)動(dòng)機(jī)點(diǎn)火開(kāi)關(guān)傳來(lái)。怠速步進(jìn)電機(jī)限制程序流程圖(圖1-39)中有5個(gè)推斷框。第1個(gè)推斷框是“有發(fā)動(dòng)機(jī)關(guān)閉信號(hào)嗎?”,推斷是否停機(jī)。第2個(gè)推斷框是“步數(shù)=0嗎?”,步數(shù)=0就停機(jī),否則轉(zhuǎn)移驅(qū)動(dòng)步進(jìn)電機(jī)反轉(zhuǎn)至停機(jī)。第3個(gè)推斷框是“缸溫達(dá)到目標(biāo)值嗎?”,沒(méi)達(dá)到轉(zhuǎn)移“按暖機(jī)高怠速處理”,達(dá)到“按正常低怠速處理”。處理的過(guò)程是把高怠速或低怠速目標(biāo)值的上、下限值,賦給下一步作為推斷依據(jù)。第4個(gè)推斷框是“怠速≥目標(biāo)上限值嗎”,假如大于或等于,就轉(zhuǎn)移驅(qū)動(dòng)步進(jìn)電機(jī)正轉(zhuǎn)1步,減小怠速;假如小于,則順接怠速下限值推斷。第5個(gè)推斷框是“怠速<目標(biāo)下限值嗎”,假如小于,就轉(zhuǎn)移驅(qū)動(dòng)步進(jìn)電機(jī)反轉(zhuǎn)1步,增大怠速;假如大于,說(shuō)明至此已判出:目標(biāo)上限值>實(shí)測(cè)值≥目標(biāo)下限值,怠速在正常范圍內(nèi),可以保持不變,轉(zhuǎn)移接著查發(fā)動(dòng)機(jī)關(guān)閉信號(hào),起先下一循環(huán)監(jiān)控。圖1-39怠速步進(jìn)電機(jī)限制程序流程圖步進(jìn)電機(jī)的轉(zhuǎn)速是由每一相的通電延時(shí)長(zhǎng)短確定,因此,必需有延時(shí)子程序。由于步進(jìn)電機(jī)每一相的通電延時(shí)是20ms(或10ms),比較短,所以不須要用定時(shí)器,利用空操作指令和推斷轉(zhuǎn)移指令所占的機(jī)器周期,經(jīng)多次循環(huán)就可達(dá)到延時(shí)目的。設(shè)單片機(jī)的晶振是12MHz,一個(gè)機(jī)器周期是1μs,3個(gè)空操作指令和1個(gè)推斷轉(zhuǎn)移指令共占5個(gè)機(jī)器周期,即占5μs。經(jīng)C8H=200次循環(huán),延時(shí)為1ms;再經(jīng)14H=20次大循環(huán),總延時(shí)就是20ms。延時(shí)子程序流程圖如圖1-40所示。圖1-40延時(shí)子程序流程圖
怠速限制閥步進(jìn)電機(jī)限制程序如下(為了易讀,每個(gè)程序段前加有小標(biāo)題):標(biāo)號(hào)源程序 注釋初始化:MOV30H,#00H;將存步數(shù)的30H單元清0MOV31H,#11H;將限制字送31H單元查發(fā)動(dòng)機(jī)關(guān)閉否:LOOP1:JNB00H,LOOP2;(00H)=0,發(fā)動(dòng)機(jī)關(guān)閉,轉(zhuǎn)移LOOP2反轉(zhuǎn)開(kāi)閥最大00H)=1,發(fā)動(dòng)機(jī)運(yùn)行,順接缸溫推斷缸溫推斷:MOVA,33H;將33H內(nèi)缸溫目標(biāo)值送A;CJNEA,32H,N1;缸溫目標(biāo)值-實(shí)測(cè)值≠0,轉(zhuǎn)移N1,對(duì)CY推斷N1:JNCN2;缸溫目標(biāo)值≥實(shí)測(cè)值,CY=0,轉(zhuǎn)移N2按高怠速處理缸溫目標(biāo)值<實(shí)測(cè)值;CY=1,順接按正常低怠速處理按正常低怠速處理:MOV3AH,35H;將35H內(nèi)正常低怠速上限值(820)送3AH內(nèi)MOV3BH,36H;將36H內(nèi)正常低怠速下限值(780)送3BH內(nèi)SJMPN3;轉(zhuǎn)移N3怠速推斷按暖機(jī)高怠速處理:N2:MOV3AH,37H;將37H內(nèi)暖機(jī)高怠速上限值(1220)送3AH內(nèi)MOV3BH,38H;將36H內(nèi)暖機(jī)高怠速下限值(1180)送3BH內(nèi)SJMPN3;轉(zhuǎn)移N3怠速推斷怠速推斷N3:MOVA,34H;將34H內(nèi)怠速實(shí)測(cè)值送ACJNEA,3AH,N4;怠速實(shí)測(cè)值-目標(biāo)上限值≠0,轉(zhuǎn)移N4對(duì)CY推斷N4:JNCN5;實(shí)測(cè)值≥目標(biāo)上限值,CY=0,轉(zhuǎn)移N5正轉(zhuǎn)(減速)驅(qū)動(dòng)實(shí)測(cè)值<目標(biāo)上限值,CY=1,順接以下指令CJNEA,3BH,N6;怠速實(shí)測(cè)值-目標(biāo)下限值≠0,轉(zhuǎn)移N6對(duì)CY推斷N6:JCN7;實(shí)測(cè)值<目標(biāo)下限值,CY=1,轉(zhuǎn)移N7反轉(zhuǎn)(增速)驅(qū)動(dòng)實(shí)測(cè)值≥目標(biāo)下限值,CY=0,順接以下指令SJMPLOOP1;至此確定:目標(biāo)上限值>實(shí)測(cè)值≥目標(biāo)下限值轉(zhuǎn)LOOP1接著查發(fā)動(dòng)機(jī)關(guān)閉信號(hào)正轉(zhuǎn)驅(qū)動(dòng):N5:MOVA,31H;將31H單元的限制字送ARLA;把A的內(nèi)容向左循環(huán)移1位MOV31H,A;把A中新限制字存31單元MOVP1,A;把A中新限制字送P1口LCALLDELAY;調(diào)用延時(shí)子程序,通電延時(shí)20msINC30H;正轉(zhuǎn)步數(shù)加1SJMPLOOP1;轉(zhuǎn)LOOP1接著查發(fā)動(dòng)機(jī)關(guān)閉信號(hào)反轉(zhuǎn)驅(qū)動(dòng):N7:MOVA,31H;將31H單元的限制字送ARRA;把A的內(nèi)容向右循環(huán)移1位MOV31H,A;把A中新限制字存31單元MOVP1,A;把A中新限制字送P1口LCALLDELAY;調(diào)用延時(shí)子程序,通電延時(shí)20ms DEC30H;正轉(zhuǎn)步數(shù)減1SJMPLOOP1;轉(zhuǎn)LOOP1接著查發(fā)動(dòng)機(jī)關(guān)閉信號(hào)發(fā)動(dòng)機(jī)關(guān)閉后反轉(zhuǎn)驅(qū)動(dòng):LOOP2:MOVR0,30H;將30H單元正轉(zhuǎn)步數(shù)送R0CJNER0,#00H,N8;R0≠00,轉(zhuǎn)移N8反轉(zhuǎn)驅(qū)動(dòng)SJMPNEXT9;R0=00,轉(zhuǎn)移N9停止N8:MOVA,31H;將31H單元的限制字送ARRA;把A的內(nèi)容向右循環(huán)移1位MOV31H,A;把A中新限制字存31單元MOVP1,A;把A中新限制字送P1口LCALLDELAY;調(diào)用延時(shí)子程序,通電延時(shí)20msDEC30H;正轉(zhuǎn)步數(shù)減1SJMPLOOP2;轉(zhuǎn)移L2推斷是否接著反轉(zhuǎn)N9:RET;怠速限制閥復(fù)原初始全開(kāi)狀態(tài),返回主控程序延時(shí)子程序:
DELAY:MOVR1,#14H;給R1賦大循環(huán)次數(shù)14H=20LOOP1:MOVR2,#C8H;給R2賦小循環(huán)次數(shù)C8H=200LOOP2:NOP ;空操作,(1μs)
NOP ;空操作,(1μs)
NOP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省南平市峻德中學(xué)高一數(shù)學(xué)理期末試卷含解析
- 2025年度基礎(chǔ)設(shè)施建設(shè)材料采購(gòu)合同約定3篇
- 實(shí)施“兩化”融合發(fā)展戰(zhàn)略提升現(xiàn)代物流產(chǎn)業(yè)發(fā)展-基層調(diào)研體會(huì)
- 2024年為規(guī)范公司管理制度
- 2024年鋁錠供應(yīng)商協(xié)議
- 2024版煤炭購(gòu)銷不可撤銷居間協(xié)議
- 2024年人事年終工作總結(jié)范文(35篇)
- 2025年度定制刀具表面處理及打磨合同2篇
- 2024年人教新課標(biāo)語(yǔ)文四年級(jí)教案篇
- 2024音響工程整體解決方案安裝合同范本5篇
- 2025年國(guó)務(wù)院發(fā)展研究中心信息中心招聘應(yīng)屆畢業(yè)生1人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年公安機(jī)關(guān)理論考試題庫(kù)500道及參考答案
- 特殊情況施工的技術(shù)措施
- 《急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)》
- 《中國(guó)糖尿病防治指南(2024版)》更新要點(diǎn)解讀
- 大學(xué)物理(二)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋湖南大學(xué)
- 銀行運(yùn)營(yíng)集中規(guī)劃
- 《數(shù)據(jù)分析你懂的》課件
- TSGD7002-2023-壓力管道元件型式試驗(yàn)規(guī)則
- 《鐵路危險(xiǎn)貨物運(yùn)輸管理規(guī)則》
- 2024年托管裝修責(zé)任協(xié)議
評(píng)論
0/150
提交評(píng)論