




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)實(shí)用接口技術(shù)鍵盤(pán)接口技術(shù)LED接口技術(shù)A/D轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)D/A轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)1單片機(jī)實(shí)用接口技術(shù)鍵盤(pán)接口技術(shù)1鍵盤(pán)接口設(shè)計(jì)幾種設(shè)計(jì)方法
1.利用并行口設(shè)計(jì)2.利用8279芯片設(shè)計(jì)鍵的識(shí)別
1.
行掃描法
2.
線反轉(zhuǎn)法消除鍵的抖動(dòng)——延時(shí)掃描鍵的保護(hù)——多鍵同時(shí)按下2鍵盤(pán)接口設(shè)計(jì)幾種設(shè)計(jì)方法鍵的識(shí)別消除鍵的抖動(dòng)—獨(dú)立式按鍵接口電路+5VP1.0P1.1P1.2P1.380313獨(dú)立式按鍵接口電路+5VP1.0P1.1P1.2P1.38044線反轉(zhuǎn)法設(shè)計(jì)要點(diǎn)將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低所在行為按鍵所在行。同前面相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全零電平,則列線中電平由高到低所在列為按鍵所在列。綜合上兩步的結(jié)果,可確定按鍵所在行和列,從而識(shí)別出所按的鍵5線反轉(zhuǎn)法設(shè)計(jì)要點(diǎn)將行線編程為輸入線,列線編程為輸出線,并使輸鍵盤(pán)掃描方式CPU對(duì)鍵盤(pán)的掃描分為編程掃描,定時(shí)掃描,中斷掃描三種6鍵盤(pán)掃描方式CPU對(duì)鍵盤(pán)的掃描分為編程掃描,定時(shí)掃描,中斷掃77編程掃描方式8255的口地址:PA口:0700HPC口:0702H控制寄存器:0703H(1)判斷有無(wú)鍵按下:PA口輸出全0,讀PC口低4位,若4位為全1,則表示無(wú)鍵按下。否則有鍵按下。(2)去抖處理:軟件延時(shí)10ms再讀PC口,判斷有無(wú)鍵按下。開(kāi)始返回有鍵閉合嗎?軟件延時(shí)10ms有鍵閉合嗎?確定按鍵位置閉合鍵釋放?按鍵值存ANYNNYY8編程掃描方式開(kāi)始返回有鍵閉合嗎?軟件延時(shí)10ms有鍵閉合嗎?(3)PA口依次逐列輸出掃描信號(hào),PC口低4位輸入4位行信號(hào),均為低電平有效。由此確定出按鍵的行,列位置。(4)鍵閉合一次僅進(jìn)行一次按鍵處理。待按鍵釋放以后,才能進(jìn)行下一次按鍵處理。BEGIN: ACALL KEY_ON;判斷有無(wú)鍵按下 JNZ DELAY;有鍵按下 AJMP BEGINDELAY: ACALL DL10MS;去抖延時(shí) ACALL KEY_ON;再判斷有無(wú)鍵按下 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口依次逐列輸出掃描信號(hào),PC口低4位輸入4位行 POP A RET;判斷有無(wú)鍵按下子程序,有鍵按下時(shí),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;延時(shí)10ms子程序(時(shí)鐘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中保存行號(hào) XRL A,#0FH;低4位取反 JZ NEXT;此行無(wú)鍵按下 AJMP KEY_CNEXT: MOV A,R7 RL A JNB ACC.0,ERROR MOV R7,A;R7保存掃描碼 AJMP L_LOOPERORR: MOV A,#00H;置出錯(cuò)碼00H RET1111;確定按鍵的行列位置子程序KEY_C: MOV R2,#00H;R2用于行計(jì)數(shù) MOV R3,#00H;R3用于列計(jì)數(shù) MOV R5,#04H MOV A,R6;行號(hào)AGAIN1: JNB ACC.0,OUT1 INC R2 RR A DJNZ R5,AGAIN1OUT1: INC R2 MOV R5,#08H MOV A,R7;列號(hào)AGAIN2: JNB ACC.0,OUT2 INC R3 RR A DJNZ R5,AGAIN2OUT2: INC R3 MOV A,R2 SWAP A ADD A,R3;行號(hào)在高4位,列號(hào)在低4位 RET12;確定按鍵的行列位置子程序12;編碼子程序,鍵碼=行號(hào)*8+列號(hào)KEY_CODE: PUSH A ANL A,#0FH MOV R7,A;R7=列號(hào) DEC R7 POP A SWAP A ANL A,#0FH DEC A MOV B,#08H MUL AB ADD A,R7 RET中斷方式必須用硬件形成中斷信號(hào)13;編碼子程序,鍵碼=行號(hào)*8+列號(hào)131414編程要點(diǎn):P1.0,P1.1,P1.2作為輸出口輸出掃描碼000—111,經(jīng)譯碼后產(chǎn)生列掃描信號(hào),此時(shí)8列中只有1列為0電平。其余各都為高電平。行狀態(tài)由P1.3,P1.4讀入15編程要點(diǎn):15LED顯示器接口設(shè)計(jì)LED的結(jié)構(gòu)LED靜態(tài)顯示LED動(dòng)態(tài)顯示16LED顯示器接口設(shè)計(jì)LED的結(jié)構(gòu)1617171.LED靜態(tài)顯示方式各數(shù)碼管的共陰極(或共陽(yáng)極)連接在一起并接地(接+5V),每個(gè)數(shù)碼管的各段分別與一個(gè)8位的鎖存器輸出相連,這樣當(dāng)鎖存器存入一個(gè)數(shù)據(jù)后,數(shù)碼管將始終顯示此數(shù)據(jù)。特點(diǎn):硬件電路多。編程簡(jiǎn)單。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動(dòng)態(tài)顯示方式將各個(gè)數(shù)碼管對(duì)應(yīng)的段選線并聯(lián)在一起,由一個(gè)8位的I/O口控制,形成段選線的多路復(fù)用。而各位的公共極(共陽(yáng)或共陰)分別由相應(yīng)的I/O口線控制,實(shí)現(xiàn)各位的分時(shí)選通。特點(diǎn):硬件電路簡(jiǎn)單。程序設(shè)計(jì)復(fù)雜。212.LED動(dòng)態(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;改變標(biāo)志寄存器 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ū)動(dòng)技術(shù)發(fā)光二極管工作電流在10ma左右,而一般I/O接口不能提供這么大的電流,需要使用驅(qū)動(dòng)電路。常用的有ULN2003A,7段驅(qū)動(dòng),ULN28038段驅(qū)動(dòng)。特點(diǎn):1。最大驅(qū)動(dòng)電流可達(dá)500ma2。反相驅(qū)動(dòng)3。需要限流電阻,數(shù)碼管越多,限流電阻的阻值越小。25LED顯示器驅(qū)動(dòng)技術(shù)252626A/D轉(zhuǎn)換器的接口設(shè)計(jì)1。根據(jù)要求的精度選擇位數(shù)。8,12,16位2。根據(jù)信號(hào)性質(zhì)選擇轉(zhuǎn)換速度。低速:直流和緩變信號(hào),如溫度,壓力,流量中速:工業(yè)多通道控制系統(tǒng),聲頻信號(hào)高速:雷達(dá)信號(hào),視頻信號(hào)3。選擇采樣保持器 除直流和變化非常緩慢的信號(hào)外, 都應(yīng)使用采樣保持器27A/D轉(zhuǎn)換器的接口設(shè)計(jì)272828延時(shí)等待方式:MAIN MOV R1,#DATA MOV DPTR,#7FF8H MOV R7,#08HLOOP: MOVX @DPTR,A;啟動(dòng)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延時(shí)等待方式:293030中斷方式:INADC: SETB IT1;外部中斷1設(shè)為下降沿觸發(fā)中斷 SETB EA;開(kāi)總中斷 SETB EX1;開(kāi)INT1中斷 MOV DPTR,#0FEFFH;選擇ADC0809IN7(P2.0=0) MOV A,#00H MOVX@DPTR,A;啟動(dòng)A/D轉(zhuǎn)換 ……PINT1: …… MOV DPTR,#0FEFFH MOVXA,@DPTR;讀轉(zhuǎn)換數(shù)據(jù) MOV 50H,A MOV A,#00H;啟動(dòng)下一次A/D轉(zhuǎn)換 MOVX@DPTR,A RETI31中斷方式:313232ADC0809A/D轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)一、ADC0809A/D轉(zhuǎn)換器的接口設(shè)計(jì)
下面以ADC0809為例來(lái)介紹A/D轉(zhuǎn)換器的接口設(shè)計(jì)。ADC0809是一種常用的8位逐次比較式A/D轉(zhuǎn)換器,其特點(diǎn)如下:可直接與微處理機(jī)接口,無(wú)需另加接口邏輯。l
具有三態(tài)鎖存輸出,可與微處理機(jī)總線接口。l
具有鎖存控制邏輯的8通道模擬開(kāi)關(guān)可輸入8個(gè)模擬信號(hào)。l
單一電源+5V。
33ADC0809A/D轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)33主要指標(biāo)如下:1.分辨率8位2.轉(zhuǎn)換時(shí)間100μs3.絕對(duì)誤差±1LSB4.功耗1.5mW
引腳功能:IN0~I(xiàn)N7:8通道模擬量輸入A、B、C:通道選擇信號(hào)
34主要指標(biāo)如下:34ALE:通道地址鎖存信號(hào)。該信號(hào)上升沿把A、B、C上的通道號(hào)鎖存在地址鎖存器中。D0~D7:數(shù)字量輸出。OE:輸出允許。OE為1時(shí),D0~D7輸出轉(zhuǎn)換后的數(shù)據(jù),OE為0時(shí),D0~D7呈高阻態(tài)。START:?jiǎn)?dòng)信號(hào),下降沿啟動(dòng)。EOC:轉(zhuǎn)換結(jié)束信號(hào)。該信號(hào)從啟動(dòng)信號(hào)上升沿開(kāi)始經(jīng)1、8個(gè)時(shí)鐘周期后由高電平變?yōu)榈碗娖剑碚鰽/D轉(zhuǎn)換正在進(jìn)行;64個(gè)時(shí)鐘周期后(每位轉(zhuǎn)換需8個(gè)時(shí)鐘周期)由低變高,表征轉(zhuǎn)換結(jié)束.35ALE:通道地址鎖存信號(hào)。該信號(hào)上升沿把A、CLK:時(shí)鐘輸入。時(shí)鐘頻率≤640kHz。、:基準(zhǔn)電壓輸入.基準(zhǔn)電壓必須滿足:0≤<≤VccVcc:數(shù)字電源電壓輸入。范圍:+4.5V~6V。GND:數(shù)字、模擬公共地。例:ADC0809接口技術(shù)ADC0809帶有三態(tài)輸出鎖存器,可以和51系列單片機(jī)的總線直接接口,后面的圖示出了ADC0809與51系列單片機(jī)的接口電路.36CLK:時(shí)鐘輸入。時(shí)鐘頻率≤640kHz。36ADC0809與8031單片機(jī)的接口電路37ADC0809與8031單片機(jī)的接口電路37P2.3=0時(shí),選中ADC0809(允許啟動(dòng)各通道轉(zhuǎn)換與讀取相應(yīng)的轉(zhuǎn)換結(jié)果).轉(zhuǎn)換結(jié)束信號(hào)EOC經(jīng)反相后,接至單片機(jī)的外部中斷INT1,由外部中斷1的中斷服務(wù)程序讀取轉(zhuǎn)換結(jié)果。外部中斷INTl采用邊沿觸發(fā)方式.啟動(dòng)各通道進(jìn)行A/D轉(zhuǎn)換的程序段如下:CLRP2.3;0809的端口地址,P2.3=0MOVA,#N;通道號(hào)NMOVX@DPTR,A;啟動(dòng)N通道,此指令用來(lái)產(chǎn)生ALE和START信號(hào)N=0~7,對(duì)應(yīng)于IN0,IN1,···,IN7。38P2.3=0時(shí),選中ADC0809(允許啟動(dòng)各通道轉(zhuǎn)換中斷服務(wù)程序中讀轉(zhuǎn)換結(jié)果的程序段如下:CLRP2.3;選中ADC0809,P2.3=0MOVXA,@R0;讀轉(zhuǎn)換結(jié)果到A中按照前面的電路圖設(shè)計(jì)一個(gè)由ADC0809構(gòu)成的八通道數(shù)據(jù)采集系統(tǒng),要求:采樣周期T=2秒,在每個(gè)采樣周期內(nèi)巡回采集八通道模擬量輸入并存放在以DATA為首地址的8個(gè)連續(xù)單元中。軟件設(shè)計(jì)如下:ORG0000HAJMPSTART;跳轉(zhuǎn)主程序ORG000BHAJMPCTC0;跳轉(zhuǎn)定時(shí)中斷0服務(wù)程序39中斷服務(wù)程序中讀轉(zhuǎn)換結(jié)果的程序段如下:39ORG0013HAJMPINT1;跳轉(zhuǎn)外部中斷1服務(wù)程序START:MOVTMOD,#1;T0的初始化MOVTL0,#0B0HMOVTH0,#3CHMOVIP,#2;T0設(shè)為高優(yōu)先級(jí)中斷(PT0=1)SETBIT1;外部中斷1設(shè)為下降沿觸發(fā)中斷SETBTR0;觸發(fā)T0工作SETBET0;開(kāi)T0中斷SETBEX1;開(kāi)INT1中斷SETBEA;開(kāi)總中斷40ORG0013HMOVTIM,#0ECH;秒計(jì)數(shù)單元設(shè)初值︰︰;其他任務(wù)(略)CTC0:PUSHA;T0中斷服務(wù)程序MOVTL0,#0B0HMOVTH0,#3CHINCTIMMOVA,TIMJNZCTC01;未到2秒,中斷返回MOVTIM,#0ECH;已到2秒,秒計(jì)數(shù)單元設(shè)初值MOVABM,#0;從通道0開(kāi)始ACALLSR;調(diào)用啟動(dòng)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;啟動(dòng)ADC0809子程序MOVA,ABMMOVX@R0,ASETBP2.3RETABM:EQU30H;通道地址暫存器DATA:EQU31H;采樣值緩沖區(qū)(31H-38H)TIM:EQU39H;2秒計(jì)時(shí)單元43INT11:INCABM43D/A轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)1.D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)(1)分辨率
n是D/A轉(zhuǎn)換器的位數(shù)(2)線性度(3)轉(zhuǎn)換精度(4)建立時(shí)間(5)輸出電平44D/A轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)44
(6)輸入代碼設(shè)計(jì)要點(diǎn):1.參考電源的配置---改變輸出模擬電壓的范圍、極性齊納二極管精密穩(wěn)壓電源2.輸出電壓極性單極性雙極性硬件電路實(shí)現(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ù)時(shí):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)制信號(hào)很適合作以下工作:11、
控制電機(jī)的轉(zhuǎn)速(串激振流子電機(jī)、單相電機(jī)、直流電機(jī))和電熱式加熱裝置。
控制電機(jī)轉(zhuǎn)速和電熱式加熱裝置需要較大的功率,PWM脈寬調(diào)制信號(hào)必須經(jīng)過(guò)變換裝置才能提供足以驅(qū)動(dòng)電機(jī)的功率或加熱裝置需要的功率,常用的變換裝置是固態(tài)繼電器。TpTc51PWM脈寬調(diào)制TpTc51固態(tài)繼電器的主要特點(diǎn)如下:(1)
光電耦合器作為輸入級(jí),完善的隔離使其具有高抗干擾能力。(2)
輸入端與DTL、TTL、HTL電平兼容,可采用直流或脈沖觸發(fā)方式。(3)
無(wú)觸點(diǎn)、無(wú)火花、無(wú)機(jī)械運(yùn)動(dòng)部件,無(wú)動(dòng)作噪聲,耐振動(dòng),長(zhǎng)壽命。(4)
小的死區(qū)電壓,小射頻干擾。(5)
內(nèi)部具有RC過(guò)電壓吸收電路。(6)
高于2KV的輸入、輸出間及底殼間的安全絕緣電壓,UL認(rèn)可的安全部件。52固態(tài)繼電器的主要特點(diǎn)如下:52使用固態(tài)繼電器作為功率變換裝置的電路圖如下:
負(fù)載為電機(jī)(調(diào)速)或電阻加熱器(調(diào)溫)
負(fù)載
PWM信號(hào)地AC電源+-~~53使用固態(tài)繼電器作為功率變換裝置的電路圖如下:地12、
作D/A轉(zhuǎn)換器使用積分電路就可以把PWM脈沖變成D/A轉(zhuǎn)換器輸出的電壓信號(hào)。使用PWM實(shí)現(xiàn)D/A轉(zhuǎn)換的積分電路如圖所示。
5412、
作D/A轉(zhuǎn)換器54在圖中,輸出端Vout的平均電壓與PWM脈沖的占空比成正比。實(shí)際的Vout輸出是在平均電壓的基礎(chǔ)上疊加上一定的紋波。積分電路中電容、電阻值和PWM的頻率將影響紋波的幅度和頻率,也影響響應(yīng)速度。55在圖中,輸出端Vout的平均電壓與PWM脈沖的占空比成55應(yīng)用實(shí)例汽車轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)高壓泵站監(jiān)控器56應(yīng)用實(shí)例汽車轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)56汽車轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)1。汽車轉(zhuǎn)彎時(shí),左右尾燈和儀表板的左轉(zhuǎn)右轉(zhuǎn)指示燈相應(yīng)邊應(yīng)發(fā)出閃爍 信號(hào)。2。當(dāng)應(yīng)急開(kāi)關(guān)合上時(shí),所有6個(gè)信號(hào)燈都應(yīng)閃爍。3。汽車剎車時(shí),2個(gè)尾燈發(fā)出不閃爍信號(hào)。4。如剎車時(shí)正在轉(zhuǎn)彎,相應(yīng)的轉(zhuǎn)彎閃爍信號(hào)不受影響。57汽車轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)575858高頻閃爍:信號(hào)燈以30Hz頻率閃爍,產(chǎn)生低亮度。用于PARK(??浚┬盘?hào)有效時(shí)。低頻閃爍:信號(hào)燈以1Hz頻率閃爍,產(chǎn)生閃爍效果。低頻閃爍用T0和軟件計(jì)數(shù)器SUB_DIV實(shí)現(xiàn)。當(dāng)TH0=-16,TL0=0,晶振頻率=12MHz時(shí)則T0每隔4096微秒中斷一次。當(dāng)SUB_DIV=244(初始值),每次中斷減1,減至0歷經(jīng)時(shí)間為244*4096微秒=0.9999414秒SUB_DIV.7=0占0.5秒,SUB_DIV.7=1占0.5秒。類似地,根據(jù)SUB_DIV.0的變化可得高頻閃爍59高頻閃爍:信號(hào)燈以30Hz頻率閃爍,產(chǎn)生低亮度。當(dāng)TH0=輸入部分·+12VP1.0P1.1P1.2P1.3P1.4剎車板緊急開(kāi)關(guān)??繜艮D(zhuǎn)彎開(kāi)關(guān)左右805160輸入部分·+12VP1.0剎車板左右805160輸出部分61輸出部分61開(kāi)始置軟件計(jì)數(shù)器初值PSW入棧PSW出棧計(jì)算輸出右側(cè)燈計(jì)算輸出左側(cè)燈產(chǎn)生快閃信號(hào)故障報(bào)警處理監(jiān)測(cè)故障SUB_DIV裝244設(shè)置T0初值,模式TH0裝-16中斷返回中斷開(kāi)始有故障?1秒到否?允許T0中斷允許總中斷啟動(dòng)T0等待YN主程序流程中斷服務(wù)程序流程62開(kāi)始置軟件計(jì)數(shù)器初值PSW入棧PSW出棧計(jì)算輸出右側(cè)燈計(jì)算輸BRAKE EQU P1.0;剎車EMERG EQU P1.1;應(yīng)急P(pán)ARK EQU P1.2;??縇_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;故障信號(hào)SUB_DIV EQU 20H;軟件計(jì)數(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;開(kāi)左前燈 CLR L_DASH;關(guān)左儀表燈JB T0,FAULT;T0輸入1,有故障 SETB L_DASH;開(kāi)左儀表燈 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;頻率信號(hào)
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。分時(shí)地自動(dòng)巡回檢測(cè)各臺(tái)高壓泵的出口壓力,并將檢測(cè)結(jié)果送記錄儀2。定時(shí)檢測(cè)高壓泵站系統(tǒng)壓力,水箱高低水位的3個(gè)電接點(diǎn)的通斷狀態(tài)。3。高壓泵的出口壓力超限時(shí),自動(dòng)切斷相應(yīng)電源,并發(fā)聲光報(bào)警信號(hào)。故障排除后,由人工“解除”保護(hù)“狀態(tài),恢復(fù)高壓泵的運(yùn)行。4。系統(tǒng)壓力,水箱高低水位的電接點(diǎn)閉合時(shí),僅發(fā)相應(yīng)報(bào)警信號(hào)。69高壓泵站監(jiān)控器697070主程序:復(fù)位入口系統(tǒng)初始化調(diào)顯示設(shè)定子程序顯示控制鍵識(shí)別及鍵代碼生成調(diào)鍵處理子程序71主程序:復(fù)位入口系統(tǒng)初始化調(diào)顯示設(shè)定子程序顯示控制鍵識(shí)別及鍵顯示設(shè)定子程序:DSSUB: MOV R2,#4 MOV R0,#DSMEM;R0指向顯示緩沖區(qū)DSLP: MOV @R0,#0FH;顯示緩沖區(qū) DJNZ R2,DSLP MOV A,DSWI;DSWI*3,因?yàn)樘D(zhuǎn)表每項(xiàng) ADD A,DSWI;占3個(gè)字節(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:“顯示切換”標(biāo)志位,為1,則切換顯示內(nèi)容DCNTR:“顯示計(jì)數(shù)器”,待顯示壓力的泵號(hào)STF0:1號(hào)泵是否被監(jiān)控的啟/停標(biāo)志單元的地址標(biāo)號(hào)77 MOV R0,A77鍵處理子程序:入口:鍵代碼R2中KEYPR: CJNE R2,#6,KEYP1;鍵代碼《6 LJMP KEYP3KEYP1: INC R2;泵號(hào)=鍵代碼+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定時(shí)中斷服務(wù)程序:T0的計(jì)數(shù)初值的計(jì)算:溢出中斷周期:50ms晶振頻率:12MHz計(jì)數(shù)初值Tc=65536-50×=15536=3CD0H82定時(shí)中斷服務(wù)程序:82TISUB: MOV TH0,#3CH MOV TL0,#0D0H PUSH PSW PUSH ACC PUSH DPH PUSH DPL CLR RS1;選第1組工作寄存器 SETB RS0 INC R7;秒計(jì)數(shù)器加1 CJNE R7,#0C8H,TISUB3;未到1秒,轉(zhuǎn)TISUB3 MOV R7,#0;到1秒,秒計(jì)數(shù)器置0 MOV R6,#0FFH;巡檢計(jì)數(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;輪顯計(jì)數(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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 乳品廢棄物處理技術(shù)智能化發(fā)展研究考核試卷
- 農(nóng)機(jī)租賃市場(chǎng)拓展策略與區(qū)域差異化發(fā)展考核試卷
- 糖業(yè)市場(chǎng)環(huán)境政策對(duì)行業(yè)影響評(píng)估考核試卷
- 2024年事業(yè)單位考試山西省運(yùn)城市《公共基礎(chǔ)知識(shí)》考前沖刺試題含解析
- 基本醫(yī)療保險(xiǎn)醫(yī)療機(jī)構(gòu)制劑支付管理辦法
- 企業(yè)新員工個(gè)人工作總結(jié)10篇
- 化工裝置儀表自動(dòng)控制理論知識(shí)
- 楚雄幼兒園手工活動(dòng)方案
- 桌球獎(jiǎng)品活動(dòng)方案
- 欣賞與設(shè)計(jì)活動(dòng)方案
- 2024年江西省公安廳招聘警務(wù)輔助人員考試真題
- 2025年湖北省普通高中學(xué)業(yè)水平合格性考試模擬(三)歷史試題(含答案)
- 2025年高考全國(guó)二卷數(shù)學(xué)高考真題解析 含參考答案
- 2025年普通高等學(xué)校招生全國(guó)統(tǒng)一考試數(shù)學(xué)試題(全國(guó)一卷)(有解析)
- 2025年日歷表全年(打印版)完整清新每月一張
- 2023年建設(shè)銀行紀(jì)檢監(jiān)察條線考試真題模擬匯編(共858題)
- GB/T 4744-2013紡織品防水性能的檢測(cè)和評(píng)價(jià)靜水壓法
- 2021年包頭職業(yè)技術(shù)學(xué)院教師招聘試題及答案解析
- DBJ50∕T-342-2019 工程建設(shè)對(duì)既有建(構(gòu))筑物安全影響評(píng)估標(biāo)準(zhǔn)
- [論文]黃土隧道洞身開(kāi)挖、支護(hù)施工技術(shù)
- 廈門(mén)職稱改革領(lǐng)導(dǎo)小組
評(píng)論
0/150
提交評(píng)論