單片機接口教程課件_第1頁
單片機接口教程課件_第2頁
單片機接口教程課件_第3頁
單片機接口教程課件_第4頁
單片機接口教程課件_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

單片機實用接口技術(shù)鍵盤接口技術(shù)LED接口技術(shù)A/D轉(zhuǎn)換器與單片機的接口設(shè)計D/A轉(zhuǎn)換器與單片機的接口設(shè)計1單片機實用接口技術(shù)鍵盤接口技術(shù)1鍵盤接口設(shè)計幾種設(shè)計方法

1.利用并行口設(shè)計2.利用8279芯片設(shè)計鍵的識別

1.

行掃描法

2.

線反轉(zhuǎn)法消除鍵的抖動——延時掃描鍵的保護——多鍵同時按下2鍵盤接口設(shè)計幾種設(shè)計方法鍵的識別消除鍵的抖動—獨立式按鍵接口電路+5VP1.0P1.1P1.2P1.380313獨立式按鍵接口電路+5VP1.0P1.1P1.2P1.38044線反轉(zhuǎn)法設(shè)計要點將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低所在行為按鍵所在行。同前面相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全零電平,則列線中電平由高到低所在列為按鍵所在列。綜合上兩步的結(jié)果,可確定按鍵所在行和列,從而識別出所按的鍵5線反轉(zhuǎn)法設(shè)計要點將行線編程為輸入線,列線編程為輸出線,并使輸鍵盤掃描方式CPU對鍵盤的掃描分為編程掃描,定時掃描,中斷掃描三種6鍵盤掃描方式CPU對鍵盤的掃描分為編程掃描,定時掃描,中斷掃77編程掃描方式8255的口地址:PA口:0700HPC口:0702H控制寄存器:0703H(1)判斷有無鍵按下:PA口輸出全0,讀PC口低4位,若4位為全1,則表示無鍵按下。否則有鍵按下。(2)去抖處理:軟件延時10ms再讀PC口,判斷有無鍵按下。開始返回有鍵閉合嗎?軟件延時10ms有鍵閉合嗎?確定按鍵位置閉合鍵釋放?按鍵值存ANYNNYY8編程掃描方式開始返回有鍵閉合嗎?軟件延時10ms有鍵閉合嗎?(3)PA口依次逐列輸出掃描信號,PC口低4位輸入4位行信號,均為低電平有效。由此確定出按鍵的行,列位置。(4)鍵閉合一次僅進行一次按鍵處理。待按鍵釋放以后,才能進行下一次按鍵處理。BEGIN: ACALL KEY_ON;判斷有無鍵按下 JNZ DELAY;有鍵按下 AJMP BEGINDELAY: ACALL DL10MS;去抖延時 ACALL KEY_ON;再判斷有無鍵按下 JNZ KEY_NUM;有鍵按下,確定按鍵位置 AJMP BEGINKEY_NUM: ACALL KEY_P ANL A,#0FFH JZ BEGIN ACALL KEY_CODE;編碼 PUSH AKEY_OFF: ACALL KEY_ON;等待按鍵釋放

JNZ KEY_OFF

9(3)PA口依次逐列輸出掃描信號,PC口低4位輸入4位行 POP A RET;判斷有無鍵按下子程序,有鍵按下時,A的值不為0KEY_ON: MOV A,#00H MOV DPTR,#0700H;PA口 MOVX @DPTR,A MOV DPTR,#0702H MOVX A,@DPTR CPL A ANL A,#0FH RET;延時10ms子程序(時鐘6MHZ)DL10MS: MOV R7,#05HLOOP1: MOV R6,#0F9HLOOP2: NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RET10 POP A10;掃描按鍵位置的子程序KEY_P: MOV R7,#0FEH MOV A,R7L_LOOP: MOV DPTR,#0700H MOVX @DPTR,A MOV DPTR,#0702H MOVX A,@DPTR ANL A,#0FH MOV R6,A;R6中保存行號 XRL A,#0FH;低4位取反 JZ NEXT;此行無鍵按下 AJMP KEY_CNEXT: MOV A,R7 RL A JNB ACC.0,ERROR MOV R7,A;R7保存掃描碼 AJMP L_LOOPERORR: MOV A,#00H;置出錯碼00H RET1111;確定按鍵的行列位置子程序KEY_C: MOV R2,#00H;R2用于行計數(shù) MOV R3,#00H;R3用于列計數(shù) MOV R5,#04H MOV A,R6;行號AGAIN1: JNB ACC.0,OUT1 INC R2 RR A DJNZ R5,AGAIN1OUT1: INC R2 MOV R5,#08H MOV A,R7;列號AGAIN2: JNB ACC.0,OUT2 INC R3 RR A DJNZ R5,AGAIN2OUT2: INC R3 MOV A,R2 SWAP A ADD A,R3;行號在高4位,列號在低4位 RET12;確定按鍵的行列位置子程序12;編碼子程序,鍵碼=行號*8+列號KEY_CODE: PUSH A ANL A,#0FH MOV R7,A;R7=列號 DEC R7 POP A SWAP A ANL A,#0FH DEC A MOV B,#08H MUL AB ADD A,R7 RET中斷方式必須用硬件形成中斷信號13;編碼子程序,鍵碼=行號*8+列號131414編程要點:P1.0,P1.1,P1.2作為輸出口輸出掃描碼000—111,經(jīng)譯碼后產(chǎn)生列掃描信號,此時8列中只有1列為0電平。其余各都為高電平。行狀態(tài)由P1.3,P1.4讀入15編程要點:15LED顯示器接口設(shè)計LED的結(jié)構(gòu)LED靜態(tài)顯示LED動態(tài)顯示16LED顯示器接口設(shè)計LED的結(jié)構(gòu)1617171.LED靜態(tài)顯示方式各數(shù)碼管的共陰極(或共陽極)連接在一起并接地(接+5V),每個數(shù)碼管的各段分別與一個8位的鎖存器輸出相連,這樣當鎖存器存入一個數(shù)據(jù)后,數(shù)碼管將始終顯示此數(shù)據(jù)。特點:硬件電路多。編程簡單。181.LED靜態(tài)顯示方式18

19

19START: SETB P1.7 MOV R1,#06H MOV R0,#00H MOV DPTR,#TABLOOP: MOV A,R0 MOVC A,@A+DPTR MOV SBUF,AWAIT: JNB T1,WAIT;串行輸出完成否 CLR T1 INC R0 DJNZ R1,LOOP CLR P1.7TAB: DB 06H,4FH,3FH,7FH,40H,73H軟件譯碼格式:D7D6D5D4D3D2D1D0dpgfedcba20START: SETB P1.7202.LED動態(tài)顯示方式將各個數(shù)碼管對應(yīng)的段選線并聯(lián)在一起,由一個8位的I/O口控制,形成段選線的多路復(fù)用。而各位的公共極(共陽或共陰)分別由相應(yīng)的I/O口線控制,實現(xiàn)各位的分時選通。特點:硬件電路簡單。程序設(shè)計復(fù)雜。212.LED動態(tài)顯示方式212222DISP: ORL P1,#80H;選擇8155的I/O口(P1.7=1) MOV R1,#0F8H;8155命令口地址 MOV A,#0F3H;8155方式命令字 MOVX @R1,ASTART: MOV DPTR,#TAB MOV R0,#00H MOV R2,#80H;位碼SCAN: MOV R1,#0FAH;PB口地址 MOV A,#00H MOVX @R1,A;全暗 MOV A,R0 MOVC A,@A+DPTR;取段碼 DEC R1;指向PA口 MOVX @R1,A;段碼送PA口 MOV A,R2 INC R1;指向PB口 MOVX @R1,A;位碼送PB口 ACALL DL1MS INC R0 MOV A,R2 ;改變位碼,指向下一位23DISP: ORL P1,#80H;選 CLR C RRC A MOV R2,A XRL A,#00H;改變標志寄存器 JNZ SCAN AJMP STARTDL1MS: SETB D3H;PS0(D3H)=1 MOV R2,#83H;使用第1組工作寄存器LL0: NOP NOP DJNZ R2,LL0 CLR D3H;恢復(fù)第0組工作寄存器 RETTAB: DB 0C6H,8CH,0C1H,0CEH,86H,88H,0A1H,91H24 CLR C24LED顯示器驅(qū)動技術(shù)發(fā)光二極管工作電流在10ma左右,而一般I/O接口不能提供這么大的電流,需要使用驅(qū)動電路。常用的有ULN2003A,7段驅(qū)動,ULN28038段驅(qū)動。特點:1。最大驅(qū)動電流可達500ma2。反相驅(qū)動3。需要限流電阻,數(shù)碼管越多,限流電阻的阻值越小。25LED顯示器驅(qū)動技術(shù)252626A/D轉(zhuǎn)換器的接口設(shè)計1。根據(jù)要求的精度選擇位數(shù)。8,12,16位2。根據(jù)信號性質(zhì)選擇轉(zhuǎn)換速度。低速:直流和緩變信號,如溫度,壓力,流量中速:工業(yè)多通道控制系統(tǒng),聲頻信號高速:雷達信號,視頻信號3。選擇采樣保持器 除直流和變化非常緩慢的信號外, 都應(yīng)使用采樣保持器27A/D轉(zhuǎn)換器的接口設(shè)計272828延時等待方式:MAIN MOV R1,#DATA MOV DPTR,#7FF8H MOV R7,#08HLOOP: MOVX @DPTR,A;啟動A/D MOV R6,#0AHDLAY: NOP NOP NOP NOP NOP DJNZ R6,DLAY MOVX A,@DPTR MOV @R1,A INC DPTR;指向下一通道 INC R1 DJNZ R7,LOOP ………..29延時等待方式:293030中斷方式:INADC: SETB IT1;外部中斷1設(shè)為下降沿觸發(fā)中斷 SETB EA;開總中斷 SETB EX1;開INT1中斷 MOV DPTR,#0FEFFH;選擇ADC0809IN7(P2.0=0) MOV A,#00H MOVX@DPTR,A;啟動A/D轉(zhuǎn)換 ……PINT1: …… MOV DPTR,#0FEFFH MOVXA,@DPTR;讀轉(zhuǎn)換數(shù)據(jù) MOV 50H,A MOV A,#00H;啟動下一次A/D轉(zhuǎn)換 MOVX@DPTR,A RETI31中斷方式:313232ADC0809A/D轉(zhuǎn)換器與單片機的接口設(shè)計一、ADC0809A/D轉(zhuǎn)換器的接口設(shè)計

下面以ADC0809為例來介紹A/D轉(zhuǎn)換器的接口設(shè)計。ADC0809是一種常用的8位逐次比較式A/D轉(zhuǎn)換器,其特點如下:可直接與微處理機接口,無需另加接口邏輯。l

具有三態(tài)鎖存輸出,可與微處理機總線接口。l

具有鎖存控制邏輯的8通道模擬開關(guān)可輸入8個模擬信號。l

單一電源+5V。

33ADC0809A/D轉(zhuǎn)換器與單片機的接口設(shè)計33主要指標如下:1.分辨率8位2.轉(zhuǎn)換時間100μs3.絕對誤差±1LSB4.功耗1.5mW

引腳功能:IN0~IN7:8通道模擬量輸入A、B、C:通道選擇信號

34主要指標如下:34ALE:通道地址鎖存信號。該信號上升沿把A、B、C上的通道號鎖存在地址鎖存器中。D0~D7:數(shù)字量輸出。OE:輸出允許。OE為1時,D0~D7輸出轉(zhuǎn)換后的數(shù)據(jù),OE為0時,D0~D7呈高阻態(tài)。START:啟動信號,下降沿啟動。EOC:轉(zhuǎn)換結(jié)束信號。該信號從啟動信號上升沿開始經(jīng)1、8個時鐘周期后由高電平變?yōu)榈碗娖?,表征A/D轉(zhuǎn)換正在進行;64個時鐘周期后(每位轉(zhuǎn)換需8個時鐘周期)由低變高,表征轉(zhuǎn)換結(jié)束.35ALE:通道地址鎖存信號。該信號上升沿把A、CLK:時鐘輸入。時鐘頻率≤640kHz。、:基準電壓輸入.基準電壓必須滿足:0≤<≤VccVcc:數(shù)字電源電壓輸入。范圍:+4.5V~6V。GND:數(shù)字、模擬公共地。例:ADC0809接口技術(shù)ADC0809帶有三態(tài)輸出鎖存器,可以和51系列單片機的總線直接接口,后面的圖示出了ADC0809與51系列單片機的接口電路.36CLK:時鐘輸入。時鐘頻率≤640kHz。36ADC0809與8031單片機的接口電路37ADC0809與8031單片機的接口電路37P2.3=0時,選中ADC0809(允許啟動各通道轉(zhuǎn)換與讀取相應(yīng)的轉(zhuǎn)換結(jié)果).轉(zhuǎn)換結(jié)束信號EOC經(jīng)反相后,接至單片機的外部中斷INT1,由外部中斷1的中斷服務(wù)程序讀取轉(zhuǎn)換結(jié)果。外部中斷INTl采用邊沿觸發(fā)方式.啟動各通道進行A/D轉(zhuǎn)換的程序段如下:CLRP2.3;0809的端口地址,P2.3=0MOVA,#N;通道號NMOVX@DPTR,A;啟動N通道,此指令用來產(chǎn)生ALE和START信號N=0~7,對應(yīng)于IN0,IN1,···,IN7。38P2.3=0時,選中ADC0809(允許啟動各通道轉(zhuǎn)換中斷服務(wù)程序中讀轉(zhuǎn)換結(jié)果的程序段如下:CLRP2.3;選中ADC0809,P2.3=0MOVXA,@R0;讀轉(zhuǎn)換結(jié)果到A中按照前面的電路圖設(shè)計一個由ADC0809構(gòu)成的八通道數(shù)據(jù)采集系統(tǒng),要求:采樣周期T=2秒,在每個采樣周期內(nèi)巡回采集八通道模擬量輸入并存放在以DATA為首地址的8個連續(xù)單元中。軟件設(shè)計如下:ORG0000HAJMPSTART;跳轉(zhuǎn)主程序ORG000BHAJMPCTC0;跳轉(zhuǎn)定時中斷0服務(wù)程序39中斷服務(wù)程序中讀轉(zhuǎn)換結(jié)果的程序段如下:39ORG0013HAJMPINT1;跳轉(zhuǎn)外部中斷1服務(wù)程序START:MOVTMOD,#1;T0的初始化MOVTL0,#0B0HMOVTH0,#3CHMOVIP,#2;T0設(shè)為高優(yōu)先級中斷(PT0=1)SETBIT1;外部中斷1設(shè)為下降沿觸發(fā)中斷SETBTR0;觸發(fā)T0工作SETBET0;開T0中斷SETBEX1;開INT1中斷SETBEA;開總中斷40ORG0013HMOVTIM,#0ECH;秒計數(shù)單元設(shè)初值︰︰;其他任務(wù)(略)CTC0:PUSHA;T0中斷服務(wù)程序MOVTL0,#0B0HMOVTH0,#3CHINCTIMMOVA,TIMJNZCTC01;未到2秒,中斷返回MOVTIM,#0ECH;已到2秒,秒計數(shù)單元設(shè)初值MOVABM,#0;從通道0開始ACALLSR;調(diào)用啟動A/D子程序41MOVTIM,#0ECCTC01:POPARETI;T0中斷返回INT1:CLRP2.3;外部中斷1服務(wù)程序MOVA,#DATAADDA,ABMMOVR1,A;R1中是某通道的數(shù)據(jù)存放地址MOVXA,@R0SETBP2.3MOV@R1,ACJNEABM,#7,INT11RETI42CTC01:POPA42INT11:INCABMACALLSRRETISR:CLRP2.3;啟動ADC0809子程序MOVA,ABMMOVX@R0,ASETBP2.3RETABM:EQU30H;通道地址暫存器DATA:EQU31H;采樣值緩沖區(qū)(31H-38H)TIM:EQU39H;2秒計時單元43INT11:INCABM43D/A轉(zhuǎn)換器與單片機的接口設(shè)計1.D/A轉(zhuǎn)換器的主要技術(shù)指標(1)分辨率

n是D/A轉(zhuǎn)換器的位數(shù)(2)線性度(3)轉(zhuǎn)換精度(4)建立時間(5)輸出電平44D/A轉(zhuǎn)換器與單片機的接口設(shè)計44

(6)輸入代碼設(shè)計要點:1.參考電源的配置---改變輸出模擬電壓的范圍、極性齊納二極管精密穩(wěn)壓電源2.輸出電壓極性單極性雙極性硬件電路實現(xiàn)45(6)輸入代碼454646

MOV DPTR,#7FFFH MOV A,#DATA MOVX@DPTR,A47 MOV DPTR,#7FFFH47484812位D/A轉(zhuǎn)換器DAC1208系列采用雙緩沖方式輸出12位數(shù)據(jù)時:1。先輸出高8位D11——D42。后輸出低4位D3——D03。先后順序不能反設(shè)高8位數(shù)據(jù)在內(nèi)存DIGIT單元,低4位在DIGIT+1單元。轉(zhuǎn)換程序:

4912位D/A轉(zhuǎn)換器DAC1208系列采用雙緩沖方式49

MOV DPTR,#4001H;高8位地址 MOV R1,#DIGIT MOV A,@R1 MOVX @DPTR,ADEC DPTR;低4位地址 INC R1 MOV A,@R1 MOVX @DPTR,A MOV DPTR,#6000H;觸發(fā)12位輸出 MOV @DPTR,A50 MOV DPTR,#4001H;高8位地址50PWM脈寬調(diào)制

PWM脈寬調(diào)制信號很適合作以下工作:11、

控制電機的轉(zhuǎn)速(串激振流子電機、單相電機、直流電機)和電熱式加熱裝置。

控制電機轉(zhuǎn)速和電熱式加熱裝置需要較大的功率,PWM脈寬調(diào)制信號必須經(jīng)過變換裝置才能提供足以驅(qū)動電機的功率或加熱裝置需要的功率,常用的變換裝置是固態(tài)繼電器。TpTc51PWM脈寬調(diào)制TpTc51固態(tài)繼電器的主要特點如下:(1)

光電耦合器作為輸入級,完善的隔離使其具有高抗干擾能力。(2)

輸入端與DTL、TTL、HTL電平兼容,可采用直流或脈沖觸發(fā)方式。(3)

無觸點、無火花、無機械運動部件,無動作噪聲,耐振動,長壽命。(4)

小的死區(qū)電壓,小射頻干擾。(5)

內(nèi)部具有RC過電壓吸收電路。(6)

高于2KV的輸入、輸出間及底殼間的安全絕緣電壓,UL認可的安全部件。52固態(tài)繼電器的主要特點如下:52使用固態(tài)繼電器作為功率變換裝置的電路圖如下:

負載為電機(調(diào)速)或電阻加熱器(調(diào)溫)

負載

PWM信號地AC電源+-~~53使用固態(tài)繼電器作為功率變換裝置的電路圖如下:地12、

作D/A轉(zhuǎn)換器使用積分電路就可以把PWM脈沖變成D/A轉(zhuǎn)換器輸出的電壓信號。使用PWM實現(xiàn)D/A轉(zhuǎn)換的積分電路如圖所示。

5412、

作D/A轉(zhuǎn)換器54在圖中,輸出端Vout的平均電壓與PWM脈沖的占空比成正比。實際的Vout輸出是在平均電壓的基礎(chǔ)上疊加上一定的紋波。積分電路中電容、電阻值和PWM的頻率將影響紋波的幅度和頻率,也影響響應(yīng)速度。55在圖中,輸出端Vout的平均電壓與PWM脈沖的占空比成55應(yīng)用實例汽車轉(zhuǎn)彎信號燈控制系統(tǒng)高壓泵站監(jiān)控器56應(yīng)用實例汽車轉(zhuǎn)彎信號燈控制系統(tǒng)56汽車轉(zhuǎn)彎信號燈控制系統(tǒng)1。汽車轉(zhuǎn)彎時,左右尾燈和儀表板的左轉(zhuǎn)右轉(zhuǎn)指示燈相應(yīng)邊應(yīng)發(fā)出閃爍 信號。2。當應(yīng)急開關(guān)合上時,所有6個信號燈都應(yīng)閃爍。3。汽車剎車時,2個尾燈發(fā)出不閃爍信號。4。如剎車時正在轉(zhuǎn)彎,相應(yīng)的轉(zhuǎn)彎閃爍信號不受影響。57汽車轉(zhuǎn)彎信號燈控制系統(tǒng)575858高頻閃爍:信號燈以30Hz頻率閃爍,產(chǎn)生低亮度。用于PARK(停靠)信號有效時。低頻閃爍:信號燈以1Hz頻率閃爍,產(chǎn)生閃爍效果。低頻閃爍用T0和軟件計數(shù)器SUB_DIV實現(xiàn)。當TH0=-16,TL0=0,晶振頻率=12MHz時則T0每隔4096微秒中斷一次。當SUB_DIV=244(初始值),每次中斷減1,減至0歷經(jīng)時間為244*4096微秒=0.9999414秒SUB_DIV.7=0占0.5秒,SUB_DIV.7=1占0.5秒。類似地,根據(jù)SUB_DIV.0的變化可得高頻閃爍59高頻閃爍:信號燈以30Hz頻率閃爍,產(chǎn)生低亮度。當TH0=輸入部分·+12VP1.0P1.1P1.2P1.3P1.4剎車板緊急開關(guān)??繜艮D(zhuǎn)彎開關(guān)左右805160輸入部分·+12VP1.0剎車板左右805160輸出部分61輸出部分61開始置軟件計數(shù)器初值PSW入棧PSW出棧計算輸出右側(cè)燈計算輸出左側(cè)燈產(chǎn)生快閃信號故障報警處理監(jiān)測故障SUB_DIV裝244設(shè)置T0初值,模式TH0裝-16中斷返回中斷開始有故障?1秒到否?允許T0中斷允許總中斷啟動T0等待YN主程序流程中斷服務(wù)程序流程62開始置軟件計數(shù)器初值PSW入棧PSW出棧計算輸出右側(cè)燈計算輸BRAKE EQU P1.0;剎車EMERG EQU P1.1;應(yīng)急PARK EQU P1.2;停靠L_TURN EQU P1.3;左轉(zhuǎn)R_TURN EQU P1.4;右轉(zhuǎn)L_FRNT EQU P1.5;左前燈R_FRNT EQU P1.6;右前燈L_DASH EQU P1.7;左儀表板R_DASH EQU P2.0;右儀表板L_REAR EQU P2.1;左后燈R_REAR EQU P2.2;右后燈S_FAIL EQU P2.3;故障信號SUB_DIV EQU 20H;軟件計數(shù)器HI_FREQ EQU SUB_DIV.0LO_FREQ EQU SUB_DIV.7DIM EQU PSW.1;位操作數(shù)暫存位63BRAKE EQU P1.0;剎車63

ORG 0000H LJMP INITORG 000BH;T0中斷 MOV TH0,#-16 PUSH PSW AJAMP UPDATE ORG 0040HINIT: MOV TL0,#0 MOV TH0,#-16 MOV TMOD,#01100001B;T0方式1 MOV SUB_DIV,#244 SETB ET0 SETB EA SETB TR0 SIMP $64 ORG 0000H 64UPDATE: DJNZ SUB_DIV,T0SERV; MOV SUB_DIV,#244

ORL P1,#11100000B;P1.5,P1.6,P1.7置1ORL P2,#00000111B;P1.5,P1.6,P1.7置1 所有燈亮CLR L_FRNT;關(guān)左前燈JB T0,FAULT;T0輸入1,有故障 SETB L_FRNT;開左前燈 CLR L_DASH;關(guān)左儀表燈JB T0,FAULT;T0輸入1,有故障 SETB L_DASH;開左儀表燈 CLR L_REAR;下面與前類似 JB T0,FAULTSETB L_REAR CLR R_FRNT JB T0,FAULT65UPDATE: DJNZ SUB_DIV,T0SERV

SETB R_FRNT CLR R_DASH JB T0,FAULT SETB R_DASH CLR R_REAR JB T0,FAULT SETB R_REAR JB T0_T0SERVFAULT: CPL S_FAILT0SERV: MOV C,SUB_DIV.1;形成占空比為

ANL C,SUB_DIV.0;62.5%的30Hz ORL C,SUB_DIV.2;頻率信號

ANL C,PARK MOV DIM,C

66 SETB R_FRNT66MOV C,L_TURNORL C,EMERGANL C,LO_FREQ

MOV L_DASH,CMOV F0,CORL C,DIMMOV L_FRNT,C

MOV C,BRAKEANL C,/L_TURNORL C,F0ORL C,DIMMOV L_REAR,C

67MOV C,L_TURN67 MOV C,R_TURN ORL C,EMERG ANL C,LO_FREQMOV R_DASH,C MOV F0,C

ORL C,DIM MOV R_FRNT,C MOV C,BRAKE ANL C,/R_TURN ORL C,F0 ORL C,DIM MOV R_REAR,C

POP PSW RETI

END68 MOV C,R_TURN68高壓泵站監(jiān)控器1。分時地自動巡回檢測各臺高壓泵的出口壓力,并將檢測結(jié)果送記錄儀2。定時檢測高壓泵站系統(tǒng)壓力,水箱高低水位的3個電接點的通斷狀態(tài)。3。高壓泵的出口壓力超限時,自動切斷相應(yīng)電源,并發(fā)聲光報警信號。故障排除后,由人工“解除”保護“狀態(tài),恢復(fù)高壓泵的運行。4。系統(tǒng)壓力,水箱高低水位的電接點閉合時,僅發(fā)相應(yīng)報警信號。69高壓泵站監(jiān)控器697070主程序:復(fù)位入口系統(tǒng)初始化調(diào)顯示設(shè)定子程序顯示控制鍵識別及鍵代碼生成調(diào)鍵處理子程序71主程序:復(fù)位入口系統(tǒng)初始化調(diào)顯示設(shè)定子程序顯示控制鍵識別及鍵顯示設(shè)定子程序:DSSUB: MOV R2,#4 MOV R0,#DSMEM;R0指向顯示緩沖區(qū)DSLP: MOV @R0,#0FH;顯示緩沖區(qū) DJNZ R2,DSLP MOV A,DSWI;DSWI*3,因為跳轉(zhuǎn)表每項 ADD A,DSWI;占3個字節(jié),DSWI中存放的 ADD A,DSWI;是顯示格式編碼。 MOV DPTR,#DJPTR JMP @A+DPTRDJPTR: LJMP DSUB0 LJMP DSUB1 LJMP DSUB2 LJMP DSUB3 LJMP DSUB4 LJMP DSUB5 LJMP DSUB6DSUB0: MOV DSMEM,#10H RET72顯示設(shè)定子程序:72DSUB1: MOV R0,#DSMEM+3 MOV @R0,#11H SJMP DSUB21DSUB2: MOV R0,#DSMEM+3 MOV @R0,#0FHDSUB21: DEC R0 MOV @R0,#0 SJMP DSUB31DSUB3: MOV R0,#DSMEM+3 MOV @R0,#12H DEC R0 MOV @R0,#0CHDSUB31: DEC R0 DEC R0 MOV @R0,NOBR RETDSUB4: MOV R0,#DSMEM+3 MOV @R0,#13H MOV R2,#373DSUB1: MOV R0,#DSMEM+373 MOV R1,#RECODDSUB41: INC R0 MOV A,@R1 MOV @R0,A INC R1 DJNZ R2,DSUB41 RETDSUB5: MOV R0,#DSMEM MOV @R0,NOBR MOV A,#STF0-1 ADD A,@R0 MOV R1,A MOV A,@R1 JZ DSUB54 MOV A,NOBR ADD A,#PMEM-1 MOV R1,A MOV A,@R1 MOV R2,#374 MOV R1,#RECOD74DSUB52: INC R0 MOV @R0,#0 DJNZ R2,DSUB52 MOV R2,#8 DEC R0 MOV @R0,ADSUB53: MOV A,@R0 RLC A MOV @R0,A MOV A,DSMEM+2 ADDC A,DSMEM+2 DA A MOV DSMEM+2,A MOV A,DSMEM+1 ADDC A,DSMEM+1 DA A MOV DSMEM+1,A DJNZ R2,DSUB53 MOV A,DSMEM+2 ADD A,#25H75DSUB52: INC R075 DA A MOV R2,A MOV A,DSMEM+1 ADDC A,#02H MOV DSMEM+1,A MOV A,R2 MOV B,#10H DIV AB MOV DSMEM+2,A MOV DSMEM+3,BDSUB54: RETDSUB6: MOV R2,#6 JNB DFLG,DSUB62 CLR DFLGDSUB61: INC DCNTR CJNE DCNTR,#7,DSUB62 MOV DCNTR,#1DSUB62: MOV A,#STF0-1 ADD A,DCNTR76 DA A76 MOV R0,A MOV A,@R0 JNZ DSUB63 DJNZ R2,DSUB61 RETDSUB63: MOV NOBR,DCNTR SJMP DSUB5DFLG:“顯示切換”標志位,為1,則切換顯示內(nèi)容DCNTR:“顯示計數(shù)器”,待顯示壓力的泵號STF0:1號泵是否被監(jiān)控的啟/停標志單元的地址標號77 MOV R0,A77鍵處理子程序:入口:鍵代碼R2中KEYPR: CJNE R2,#6,KEYP1;鍵代碼《6 LJMP KEYP3KEYP1: INC R2;泵號=鍵代碼+1 JB RCDF,KEYP2 SETB PNIF MOV NOBR,R2 RETKEYP2: MOV A,#STF0-1 ADD A,R2 MOV R0,A MOV A,@R0 JZ KEYP21 MOV A,#RSET0 ADD A,RPCNT MOV R0,A MOV A,R2 MOV @R0,AKEY21: RET78鍵處理子程序:入口:鍵代碼R2中78KEYP3: MOV A,R2 SUBB A,#5 MOV DSWI,A MOV R2,A ADD A,R2 ADD A,R2 MOV DPTR,#KJPTB-3 JMP @A+DPTRKJPTB: LJMP KCMAD0 LJMP KCMAD1 LJMP KCMAD2 LJMP KCMAD3 LJMP KMD12 RETKCMAD0: JNB PNIF,KMD12 MOV R1,#1 SJMP KMD11KCMAD1: JNB PNIF,KMD12 MOV R1,#079KEYP3: MOV A,R279KMD11: MOV A,#STF0 ADD A,NUBR MOV R0,A MOV A,R1 MOV @R0,AKMD12: RETKCMAD2: JNB RCDF,KMD21 MOV R2,#0 SJMP KEYP2KMD21: JNB PNIF,KMD12 MOV A,#1 MOV R2,NUBRKMD22: DJNZ R2,KMD23 SJMP KMD24KMD23: RL A SJMP KMD22KMD24: CPL A ANL A,MAPCO MOV MAPCO,A

80KMD11: MOV A,#STF080 MOV DPTR,#PORTO1 MOVX @DPTR,A CLR P3.5 RETKCMAD3: JB RCDF,KMD31 SETB RCDF MOV RPCNT,#0 MOV DPNT,#4 RETKMD31: INC RPCNT MOV A,DPNT CLR C RRC A MOV DPNT,A JNC KMD32 CLR RCDF MOV DSWI,#0KMD32: RET81 MOV DPTR,#PORTO181定時中斷服務(wù)程序:T0的計數(shù)初值的計算:溢出中斷周期:50ms晶振頻率:12MHz計數(shù)初值Tc=65536-50×=15536=3CD0H82定時中斷服務(wù)程序:82TISUB: MOV TH0,#3CH MOV TL0,#0D0H PUSH PSW PUSH ACC PUSH DPH PUSH DPL CLR RS1;選第1組工作寄存器 SETB RS0 INC R7;秒計數(shù)器加1 CJNE R7,#0C8H,TISUB3;未到1秒,轉(zhuǎn)TISUB3 MOV R7,#0;到1秒,秒計數(shù)器置0 MOV R6,#0FFH;巡檢計數(shù)器置-1TISUB1: INC R6 CJNE R6,#6,TISUB2 SJMP TISUB3TISUB2: MOV A,#STF0 ADD A,R6 MOV R0,A MOV A,@R083TISUB: MOV TH0,#3CH83 JZ TISUB1 CLR P2.3 MOV A,R6 MOVX @R0,A INC R5;輪顯計數(shù)器加1秒 CJNE R5,#2,TISUB3;未到2秒,轉(zhuǎn)TISUB3 MOV R5,#0 SETB DFLGTISUB3: MOV DPTR,#PORTI1 MOVX A,@DPTR RRC A MOV F0,C RRC A MOV R2,A ANL C,F0 JNC TISUB4 ANL MAPC0,#0BFH SJMP TISUB5TISUB4: ORL MAPC0,#40HTISUB5: MOV A,R284 JZ TISUB184 RRC A JNC TISUB6 ANL MAPC0,#7FH SJMP TISUB7TISUB6: ORL MAPC0,#80HTISUB7: MOV A,MAPC0 MOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論