單片機(jī)實(shí)用接口技術(shù)_第1頁(yè)
單片機(jī)實(shí)用接口技術(shù)_第2頁(yè)
單片機(jī)實(shí)用接口技術(shù)_第3頁(yè)
單片機(jī)實(shí)用接口技術(shù)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余87頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、1單片機(jī)實(shí)用接口技術(shù) 鍵盤接口技術(shù) LED接口技術(shù) A/D轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì) D/A轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)2鍵盤接口設(shè)計(jì) 幾種設(shè)計(jì)方法 1. 利用并行口設(shè)計(jì) 2. 利用8279芯片設(shè)計(jì)鍵的識(shí)別 1. 行掃描法 2. 線反轉(zhuǎn)法 消除鍵的抖動(dòng)延時(shí)掃描 鍵的保護(hù)多鍵同時(shí)按下3獨(dú)立式按鍵接口電路+5VP1.0P1.1P1.2P1.3803145線反轉(zhuǎn)法設(shè)計(jì)要點(diǎn) 將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低所在行為按鍵所在行。 同前面相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全零電平,則列線中電平由高到低所在列為按鍵所在列。 綜合上兩步的

2、結(jié)果,可確定按鍵所在行和列,從而識(shí)別出所按的鍵6鍵盤掃描方式 CPU對(duì)鍵盤的掃描分為編程掃描,定時(shí)掃描,中斷掃描三種78編程掃描方式8255的口地址:PA口:0700H PC口:0702H 控制寄存器:0703H()判斷有無鍵按下:A口輸出全,讀C 口低位,若4位為全 1, 則表示無鍵按下。 否則有鍵按下。(2)去抖處理:軟件延時(shí)10ms 再讀PC口,判斷有無鍵按 下。 開始返回有鍵閉合嗎?軟件延時(shí)ms有鍵閉合嗎?確定按鍵位置閉合鍵釋放?按鍵值存NYNNYY9(3)PA口依次逐列輸出掃描信號(hào), PC口低4位輸入4位行信 號(hào),均為低電平有效。由此確定出按鍵的行,列位置。(4)鍵閉合一次僅進(jìn)行一次

3、按鍵處理。待按鍵釋放以后,才 能進(jìn)行下一次按鍵處理。BEGIN:ACALLKEY_ON ;判斷有無鍵按下JNZDELAY ;有鍵按下AJMPBEGINDELAY:ACALLDL10MS ;去抖延時(shí)ACALLKEY_ON ;再判斷有無鍵按下JNZKEY_NUM ;有鍵按下,確定按鍵位置AJMPBEGINKEY_NUM:ACALLKEY_P ANLA, #0FFHJZBEGINACALLKEY_CODE ;編碼PUSHAKEY_OFF:ACALLKEY_ON ;等待按鍵釋放JNZKEY_OFF10POPARET; 判斷有無鍵按下子程序, 有鍵按下時(shí),A的值不為0KEY_ON:MOV A, #00H

4、MOVDPTR, #0700H ;PA口MOVXDPTR, A MOVDPTR, #0702H MOVXA,DPTRCPLAANLA,#0FHRET;延時(shí)10ms子程序(時(shí)鐘6MHZ)DL10MS:MOVR7, #05HLOOP1:MOV R6, #0F9HLOOP2:NOPNOPDJNZR6, LOOP2DJNZ R7, LOOP1RET11;掃描按鍵位置的子程序KEY_P:MOVR7, #0FEHMOV A, R7L_LOOP:MOVDPTR, #0700HMOVXDPTR, AMOVDPTR, #0702HMOVXA, DPTRANLA,#0FHMOVR6, A ;R6中保存行號(hào)XRLA

5、,#0FH ;低4位取反JZNEXT ; 此行無鍵按下AJMPKEY_CNEXT:MOVA, R7 RLAJNBACC.0, ERRORMOVR7, A ;R7保存掃描碼 AJMPL_LOOPERORR:MOVA, #00H ; 置出錯(cuò)碼00HRET12; 確定按鍵的行列位置子程序KEY_C:MOVR2, #00H ;R2用于行計(jì)數(shù)MOVR3, #00H ; R3用于列計(jì)數(shù)MOV R5, #04HMOV A, R6 ; 行號(hào)AGAIN1:JNBACC.0, OUT1INCR2 RRADJNZR5, AGAIN1OUT1:INCR2MOVR5, #08HMOVA, R7 ; 列號(hào)AGAIN2:J

6、NBACC.0, OUT2INC R3RRADJNZR5, AGAIN2OUT2:INC R3MOVA, R2SWAPAADDA, R3 ;行號(hào)在高4位,列號(hào)在低4位RET13;編碼子程序,鍵碼=行號(hào)*8+列號(hào)KEY_CODE:PUSHAANLA,#0FHMOVR7, A ;R7=列號(hào)DECR7POPASWAPAANLA,#0FHDECAMOVB,#08HMULABADDA,R7RET中斷方式必須用硬件形成中斷信號(hào)1415編程要點(diǎn):P1.0, P1.1, P1.2作為輸出口輸出掃描碼000111,經(jīng)譯碼后產(chǎn)生列掃描信號(hào),此時(shí)8列中只有1列為0電平。其余各都為高電平。行狀態(tài)由P1.3, P1.4

7、讀入16LED顯示器接口設(shè)計(jì) LED的結(jié)構(gòu) LED靜態(tài)顯示 LED動(dòng)態(tài)顯示17181. LED靜態(tài)顯示方式 各數(shù)碼管的共陰極(或共陽(yáng)極)連接在一起并接地(接+5V),每個(gè)數(shù)碼管的各段分別與一個(gè)8位的鎖存器輸出相連,這樣當(dāng)鎖存器存入一個(gè)數(shù)據(jù)后,數(shù)碼管將始終顯示此數(shù)據(jù)。特點(diǎn): 硬件電路多。 編程簡(jiǎn)單。1920START:SETBP1.7MOVR1, #06HMOVR0, #00HMOVDPTR, #TABLOOP:MOVA, R0MOVCA, A+DPTRMOVSBUF, AWAIT:JNBT1, WAIT ;串行輸出完成否CLRT1INCR0DJNZR1, LOOPCLRP1.7TAB:DB06

8、H,4FH,3FH,7FH,40H,73H軟件譯碼格式:D7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a212.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ù)雜。2223DISP:ORLP1, #80H ; 選擇8155的I/O口(P1.7=1)MOVR1, #0F8H ; 8155命令口地址MOVA, #0F3H ;8155方式命令字MOVXR1, ASTART:MOVDPTR, #TABMOV

9、R0, #00HMOVR2, #80H ;位碼SCAN:MOVR1, #0FAH ;PB口地址MOVA, #00HMOVXR1, A ;全暗MOVA, R0MOVCA, A+DPTR ;取段碼DECR1 ;指向PA口MOVXR1, A ;段碼送PA口MOVA, R2INCR1 ;指向PB口MOVXR1, A ;位碼送PB口ACALLDL1MSINCR0MOVA, R2 ;改變位碼,指向下一位24CLRCRRCAMOVR2, A XRLA, #00H ;改變標(biāo)志寄存器JNZSCANAJMPSTARTDL1MS:SETBD3H ;PS0(D3H)= 1MOVR2, #83H ;使用第1組工作寄存器

10、LL0:NOPNOPDJNZR2, LL0CLRD3H ;恢復(fù)第0組工作寄存器RETTAB:DB0C6H,8CH,0C1H,0CEH,86H,88H,0A1H,91H25LED顯示器驅(qū)動(dòng)技術(shù) 發(fā)光二極管工作電流在10ma左右,而一般I/O接口不能提供這么大的電流,需要使用驅(qū)動(dòng)電路。常用的有 ULN2003A,7段驅(qū)動(dòng), ULN2803 8段驅(qū)動(dòng)。特點(diǎn): 1。 最大驅(qū)動(dòng)電流可達(dá)500ma 2。反相驅(qū)動(dòng) 3。需要限流電阻,數(shù)碼管越多,限流電 阻的阻值越小。2627A/D轉(zhuǎn)換器的接口設(shè)計(jì)轉(zhuǎn)換器的接口設(shè)計(jì) 1。根據(jù)要求的精度選擇位數(shù)。8,12,16位 2。根據(jù)信號(hào)性質(zhì)選擇轉(zhuǎn)換速度。 低速:直流和緩變信

11、號(hào),如溫度, 壓力, 流量 中速:工業(yè)多通道控制系統(tǒng),聲頻信號(hào) 高速:雷達(dá)信號(hào),視頻信號(hào) 3。選擇采樣保持器 除直流和變化非常緩慢的信號(hào)外, 都應(yīng)使用采樣保持器2829延時(shí)等待方式:MAINMOVR1,#DATAMOVDPTR,#7FF8HMOVR7,#08HLOOP:MOVX DPTR,A ;啟動(dòng)A/DMOVR6,#0AHDLAY:NOPNOPNOPNOPNOPDJNZR6,DLAYMOVX A,DPTRMOVR1,AINCDPTR ;指向下一通道INCR1DJNZR7,LOOP.3031中斷方式:INADC:SETB IT1 ;外部中斷1設(shè)為下降沿觸發(fā)中斷SETB EA ;開總中斷SETB

12、 EX1 ;開INT1中斷MOV DPTR, #0FEFFH ;選擇ADC0809IN7 (P2.0=0)MOV A, #00HMOVX DPTR, A ; 啟動(dòng)A/D轉(zhuǎn)換PINT1:MOV DPTR, #0FEFFHMOVX A, DPTR ; 讀轉(zhuǎn)換數(shù)據(jù)MOV 50H, AMOV A, #00H ; 啟動(dòng)下一次A/D轉(zhuǎn)換MOVX DPTR, ARETI3233ADC0809A/D轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)轉(zhuǎn)換器與單片機(jī)的接口設(shè)計(jì)一、ADC0809A/D轉(zhuǎn)換器的接口設(shè)計(jì) 下面以ADC0809為例來介紹A/D轉(zhuǎn)換器的接口設(shè)計(jì)。ADC 0809是一種常用的8位逐次比較式AD轉(zhuǎn)換器,其特點(diǎn) 如下:

13、可直接與微處理機(jī)接口,無需另加接口邏輯。l 具有三態(tài)鎖存輸出,可與微處理機(jī)總線接口。l 具有鎖存控制邏輯的8通道模擬開關(guān)可輸入8個(gè)模擬信號(hào)。l 單一電源 +5V。 34主要指標(biāo)如下: 1分辨率 8位 2轉(zhuǎn)換時(shí)間 100s 3絕對(duì)誤差 1LSB 4功耗 15mW 引腳功能: IN0IN7:8通道模擬量輸入 A、B、C:通道選擇信號(hào) 35 ALE:通道地址鎖存信號(hào)。該信號(hào)上升沿把A、B、C上的 通道號(hào)鎖存在地址鎖存器中。D0D7:數(shù)字量輸出。OE: 輸出允許。OE為1時(shí),D0D7輸出轉(zhuǎn)換后的數(shù)據(jù), OE為0時(shí),D0D7呈高阻態(tài)。START:?jiǎn)?dòng)信號(hào),下降沿啟動(dòng)。EOC:轉(zhuǎn)換結(jié)束信號(hào)。該信號(hào)從啟動(dòng)信

14、號(hào)上升沿開始經(jīng)1、8個(gè) 時(shí)鐘周期后由高電平變?yōu)榈碗娖剑碚鰽D轉(zhuǎn)換正在 進(jìn)行;64個(gè)時(shí)鐘周期后(每位轉(zhuǎn)換需8個(gè)時(shí)鐘周期)由低 變高,表征轉(zhuǎn)換結(jié)束 36 CLK:時(shí)鐘輸入。時(shí)鐘頻率640kHz。 、:基準(zhǔn)電壓輸入基準(zhǔn)電壓必須滿足: 0Vcc Vcc: 數(shù)字電源電壓輸入。 范圍: +45V6V。 GND:數(shù)字、模擬公共地。例:ADC 0809接口技術(shù)ADC 0809帶有三態(tài)輸出鎖存器,可以和51系列單片機(jī)的總線直接接口,后面的圖示出了ADC 0809與51系列單片機(jī)的接口電路 37IN-026msb2-1212-220IN-1272-3192-418IN-2282-582-615IN-312-71

15、4lsb2-817IN-42EOC7IN-53ADD-A25IN-64ADD-B24ADD-C23IN-75ALE22ref(-)16ENABLE9START6ref(+)12CLOCK10ADC0809EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD108031123A74LS28

16、456B74LS28NOT+5V-5VADC 0809與8031單片機(jī)的接口電路 38P2.3=0時(shí),選中ADC 0809 (允許啟動(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)行AD轉(zhuǎn)換的程序段如下: CLR P2.3 ;0809的端口地址,P2.3=0 MOV A,#N ;通道號(hào)N MOVX DPTR,A ;啟動(dòng)N通道,此指令用來產(chǎn)生 ALE和START信號(hào) N=07,對(duì)應(yīng)于IN0,IN1,IN7。39中斷服務(wù)程序中讀轉(zhuǎn)換結(jié)果的程序段如下: CLR P2

17、.3 ;選中ADC0809,P2.3=0 MOVX A,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ì)如下: ORG 0000H AJMP START ;跳轉(zhuǎn)主程序 ORG 000BH AJMP CTC0 ;跳轉(zhuǎn)定時(shí)中斷0服務(wù)程序 40 ORG 0013H AJMP INT1 ;跳轉(zhuǎn)外部中斷1服務(wù)程序START: MOV TMOD,#1 ;T0的初始化 MOV TL0,#0B0H MOV TH0,#3CH MOV IP,#2 ;T0設(shè)為

18、高優(yōu)先級(jí)中斷(PT0=1) SETB IT1 ;外部中斷1設(shè)為下降沿觸發(fā)中斷 SETB TR0 ;觸發(fā)T0工作 SETB ET0 ;開T0中斷 SETB EX1 ;開INT1中斷 SETB EA ;開總中斷41 MOV TIM,#0ECH ;秒計(jì)數(shù)單元設(shè)初值 ;其他任務(wù)(略)CTC0: PUSH A ;T0中斷服務(wù)程序 MOV TL0,#0B0H MOV TH0,#3CH INC TIM MOV A,TIM JNZ CTC01 ;未到2秒,中斷返回 MOV TIM,#0ECH ;已到2秒,秒計(jì)數(shù)單元設(shè)初值 MOV ABM,#0 ; 從通道0開始 ACALL SR ;調(diào)用啟動(dòng)A/D子程序42CT

19、C01: POP A RETI ;T0中斷返回INT1: CLR P2.3 ;外部中斷1服務(wù)程序 MOV A,#DATA ADD A,ABM MOV R1,A ; R1中是某通道的數(shù)據(jù)存放地址 MOVX A,R0 SETB P2.3 MOV R1,A CJNE ABM,#7,INT11 RETI43INT11: INC ABM ACALL SR RETISR: CLR P2.3 ;啟動(dòng)ADC0809子程序 MOV A,ABM MOVX R0,A SETB P2.3 RETABM: EQU 30H ;通道地址暫存器DATA: EQU 31H ;采樣值緩沖區(qū)(31H-38H)TIM: EQU 39

20、H ;2秒計(jì)時(shí)單元44D/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)輸出電平 分辯率121n45 (6)輸入代碼設(shè)計(jì)要點(diǎn): 1. 參考電源的配置-改變輸出模 擬電壓的范圍、極性 齊納二極管 精密穩(wěn)壓電源 2. 輸出電壓極性 單極性 雙極性 硬件電路實(shí)現(xiàn)4647MOV DPTR, #7FFFHMOV A, #DATAMOVX DPTR, A484912位D/A轉(zhuǎn)換器DAC1208系列采用雙緩沖方式輸出12位數(shù)據(jù)時(shí): 1。先輸出高8位D11D4 2。后輸出低4位D3D0 3。先后順序不能

21、反設(shè) 高8位數(shù)據(jù)在內(nèi)存DIGIT單元, 低4位在DIGIT+1單元。轉(zhuǎn)換程序:50MOVDPTR,#4001H ;高8位地址MOVR1,#DIGITMOVA,R1MOVXDPTR,A DECDPTR ; 低4位地址 INCR1MOVA, R1MOVXDPTR, AMOVDPTR, #6000H ;觸發(fā)12位輸出MOVDPTR, A51PWM脈寬調(diào)制脈寬調(diào)制 PWM脈寬調(diào)制信號(hào)很適合作以下工作: 1 1、 控制電機(jī)的轉(zhuǎn)速(串激振流子電機(jī)、單相電機(jī)、直流 電機(jī))和電熱式加熱裝置。 控制電機(jī)轉(zhuǎn)速和電熱式加熱裝置需要較大的功率,PWM脈 寬調(diào)制信號(hào)必須經(jīng)過變換裝置才能提供足以驅(qū)動(dòng)電機(jī)的功 率或加熱裝置

22、需要的功率,常用的變換裝置是固態(tài)繼電器。 TpTc52固態(tài)繼電器的主要特點(diǎn)如下:1. (1) 光電耦合器作為輸入級(jí),完善的隔離使其具有高 2. 抗干擾能力。3. (2) 輸入端與DTL、TTL、HTL電平兼容,可采用直4. 流或脈沖觸發(fā)方式。5. (3) 無觸點(diǎn)、無火花、無機(jī)械運(yùn)動(dòng)部件,無動(dòng)作噪聲,6. 耐振動(dòng),長(zhǎng)壽命。7. (4) 小的死區(qū)電壓,小射頻干擾。8. (5) 內(nèi)部具有RC過電壓吸收電路。9. (6) 高于2KV的輸入、輸出間及底殼間的安全絕緣電10. 壓,UL認(rèn)可的安全部件。53使用固態(tài)繼電器作為功率變換裝置的電路圖如下: 負(fù)載為電機(jī)(調(diào)速) 或電阻加熱器(調(diào)溫) 負(fù)載 PWM信

23、號(hào)地AC電源+-541 2、 作D/A轉(zhuǎn)換器使用積分電路就可以把PWM脈沖變成D/A轉(zhuǎn)換器輸出的電壓信號(hào)。使用PWM實(shí)現(xiàn)DA轉(zhuǎn)換的積分電路如圖所示。 55在圖中,輸出端Vout的平均電壓與PWM脈沖的占空比成正比。 實(shí)際的Vout輸出是在平均電壓的基礎(chǔ)上疊加上一定的紋波。積分電路中電容、電阻值和PWM的頻率將影響紋波的幅度和頻率,也影響響應(yīng)速度。56應(yīng)用實(shí)例 汽車轉(zhuǎn)彎信號(hào)燈控制系統(tǒng) 高壓泵站監(jiān)控器57汽車轉(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)急開關(guān)合上時(shí),所有6個(gè)信號(hào)燈 都應(yīng)閃爍。 3。汽車剎車時(shí),2個(gè)尾燈發(fā)出不閃爍信 號(hào)。 4

24、。如剎車時(shí)正在轉(zhuǎn)彎,相應(yīng)的轉(zhuǎn)彎閃 爍信號(hào)不受影響。58輸入信號(hào) 輸出信號(hào) 剎車 開關(guān) 應(yīng)急 開關(guān) 左轉(zhuǎn) 開關(guān) 右轉(zhuǎn) 開關(guān) 左頭燈 左儀燈 右頭燈 右儀燈 左尾燈 右尾燈 0 0 0 0 0 0 0 0 1 0 1 0 斷 斷 閃爍 斷 閃爍 斷 斷 斷 閃爍 斷 閃爍 斷 0 0 0 1 1 1 0 0 1 0 1 0 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 1 1 1 0 0 0 0 0 1 0 1 0 斷 斷 閃爍 斷 閃爍 斷 通 通 閃爍 通 閃爍 通 1 1 1 1 1 1 0 0 1 0 1 0 閃爍 閃爍 閃爍 閃爍 閃爍 閃爍 通 通 閃爍 通

25、閃爍 通 轉(zhuǎn)彎信號(hào)燈工作的真值表 59高頻閃爍:信號(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的變化可得高頻閃爍60輸入部分+12VP1.0P1.1P1.2P1.3P1.4剎車板

26、緊急開關(guān)??繜艮D(zhuǎn)彎開關(guān)左右805161輸出部分62開始置軟件計(jì)數(shù)器初值PSW入棧PSW出棧計(jì)算輸出右側(cè)燈計(jì)算輸出左側(cè)燈產(chǎn)生快閃信號(hào)故障報(bào)警處理監(jiān)測(cè)故障SUB_DIV裝244設(shè)置T0初值,模式TH0裝-16中斷返回中斷開始有故障?1秒到否?允許T0中斷允許總中斷啟動(dòng)T0等待YN主程序流程中斷服務(wù)程序流程63BRAKEEQUP1.0 ; 剎車EMERGEQUP1.1 ; 應(yīng)急PARKEQUP1.2 ; ??縇_TURNEQUP1.3 ; 左轉(zhuǎn)R_TURNEQUP1.4 ; 右轉(zhuǎn)L_FRNTEQUP1.5 ; 左前燈R_FRNTEQUP1.6 ; 右前燈L_DASHEQUP1.7 ; 左儀表板R_D

27、ASHEQUP2.0 ; 右儀表板L_REAREQUP2.1 ; 左后燈R_REAREQUP2.2 ; 右后燈S_FAILEQUP2.3 ; 故障信號(hào)SUB_DIVEQU20H ; 軟件計(jì)數(shù)器HI_FREQEQUSUB_DIV.0LO_FREQEQUSUB_DIV.7DIMEQUPSW.1 ; 位操作數(shù)暫存位64ORG0000H LJMPINIT ORG000BH ;T0中斷MOVTH0, #-16PUSHPSWAJAMPUPDATEORG0040HINIT:MOVTL0, #0MOVTH0, #-16MOVTMOD, #01100001B ;T0方式1MOVSUB_DIV, #244 SET

28、BET0SETBEASETBTR0SIMP$65UPDATE:DJNZSUB_DIV, T0SERV ;MOVSUB_DIV, #244 ORLP1, #11100000B ;P1.5,P1.6,P1.7置1 ORLP2, #00000111B ; P1.5,P1.6,P1.7置1 所有燈亮 CLRL_FRNT ; 關(guān)左前燈 JBT0, FAULT ;T0輸入1,有故障SETBL_FRNT ; 開左前燈CLRL_DASH ; 關(guān)左儀表燈 JBT0, FAULT ; T0輸入1,有故障SETBL_DASH ; 開左儀表燈CLRL_REAR ; 下面與前類似JBT0, FAULT SETBL_RE

29、ARCLRR_FRNTJBT0, FAULT66SETBR_FRNTCLRR_DASHJBT0, FAULTSETBR_DASHCLRR_REARJBT0, FAULTSETBR_REARJB T0_T0SERVFAULT:CPLS_FAILT0SERV:MOVC, SUB_DIV.1 ; 形成占空比為ANLC, SUB_DIV.0 ; 62.5%的30HzORLC, SUB_DIV.2 ; 頻率信號(hào) ANLC, PARK MOVDIM, C 67MOVC, L_TURNORLC, EMERGANLC, LO_FREQ MOVL_DASH, CMOVF0, CORLC, DIMMOVL_FRN

30、T, CMOVC, BRAKEANLC, /L_TURNORLC, F0ORLC, DIMMOVL_REAR, C68MOVC, R_TURNORLC, EMERGANLC, LO_FREQ MOVR_DASH, CMOVF0, C ORLC, DIMMOVR_ FRNT, CMOVC, BRAKEANLC, /R_TURNORLC, F0ORLC, DIMMOVR_REAR, C POPPSWRETI END69高壓泵站監(jiān)控器 1。分時(shí)地自動(dòng)巡回檢測(cè)各臺(tái)高壓泵的 出口壓力,并將檢測(cè)結(jié)果送記錄儀 2。定時(shí)檢測(cè)高壓泵站系統(tǒng)壓力,水箱 高低水位的3個(gè)電接點(diǎn)的通斷狀態(tài)。 3。高壓泵的出口壓力超限時(shí),

31、自動(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)。7071主程序:復(fù)位入口系統(tǒng)初始化調(diào)顯示設(shè)定子程序顯示控制鍵識(shí)別及鍵代碼生成調(diào)鍵處理子程序72顯示設(shè)定子程序:DSSUB:MOVR2, #4MOVR0, #DSMEM ;R0指向顯示緩沖區(qū)DSLP:MOVR0, #0FH ;顯示緩沖區(qū)DJNZR2, DSLPMOVA, DSWI ;DSWI*3,因?yàn)樘D(zhuǎn)表每項(xiàng)ADDA, DSWI ;占3個(gè)字節(jié),DSWI中存放的ADDA, DSWI ;是顯示格式編碼。MOVDPTR, #DJPTRJMP

32、A+DPTRDJPTR:LJMPDSUB0 LJMPDSUB1 LJMPDSUB2 LJMPDSUB3 LJMPDSUB4 LJMPDSUB5 LJMPDSUB6DSUB0:MOVDSMEM, #10HRET73DSUB1:MOVR0, #DSMEM+3MOVR0, #11HSJMPDSUB21DSUB2: MOVR0, #DSMEM+3MOVR0, #0FHDSUB21:DECR0MOVR0, #0SJMPDSUB31DSUB3: MOVR0, #DSMEM+3MOVR0, #12HDECR0MOVR0, #0CHDSUB31:DECR0DECR0MOVR0, NOBRRETDSUB4: M

33、OVR0, #DSMEM+3MOVR0, #13HMOVR2, #374MOVR1, #RECODDSUB41:INCR0MOVA, R1MOVR0, AINCR1DJNZR2, DSUB41RETDSUB5:MOVR0, #DSMEM MOVR0, NOBR MOVA, #STF0-1ADDA, R0 MOVR1, A MOVA, R1JZDSUB54 MOVA, NOBR ADDA, #PMEM-1 MOVR1, A MOVA, R1 MOVR2, #375DSUB52:INCR0MOVR0, #0DJNZR2, DSUB52MOVR2, #8DECR0MOVR0, ADSUB53:MOV

34、A, R0RLCAMOVR0, AMOVA, DSMEM+2ADDC A, DSMEM+2DAAMOVDSMEM+2, AMOVA, DSMEM+1ADDC A, DSMEM+1DAAMOVDSMEM+1, ADJNZR2, DSUB53MOVA, DSMEM+2ADDA, #25H76DAAMOVR2, AMOVA, DSMEM+1ADDC A, #02HMOV DSMEM+1, AMOVA, R2MOVB, #10HDIVABMOV DSMEM+2, AMOV DSMEM+3, BDSUB54:RETDSUB6:MOVR2, #6JNBDFLG, DSUB62CLRDFLGDSUB61:I

35、NCDCNTRCJNE DCNTR, #7, DSUB62MOV DCNTR, #1DSUB62:MOVA, #STF0-1ADDA, DCNTR77MOVR0, AMOVA, R0JNZDSUB63DJNZR2, DSUB61RETDSUB63:MOVNOBR, DCNTRSJMPDSUB5DFLG: “顯示切換”標(biāo)志位,為1,則切換顯示內(nèi)容DCNTR: “顯示計(jì)數(shù)器”,待顯示壓力的泵號(hào)STF0: 1號(hào)泵是否被監(jiān)控的啟/停標(biāo)志單元的地址標(biāo)號(hào)78鍵處理子程序: 入口:鍵代碼R2中KEYPR:CJNER2,#6,KEYP1 ;鍵代碼6LJMPKEYP3KEYP1:INCR2 ;泵號(hào)=鍵代碼+1J

36、BRCDF, KEYP2SETBPNIFMOVNOBR, R2RETKEYP2:MOVA, #STF0-1ADDA, R2MOVR0, AMOVA, R0JZKEYP21MOVA, #RSET0ADDA, RPCNTMOVR0, AMOVA, R2MOVR0, AKEY21:RET79KEYP3:MOVA, R2SUBBA, #5MOVDSWI, AMOVR2, AADDA, R2ADDA, R2MOVDPTR, #KJPTB-3JMPA+DPTRKJPTB:LJMPKCMAD0LJMPKCMAD1LJMPKCMAD2LJMPKCMAD3LJMPKMD12RETKCMAD0:JNBPNIF,

37、KMD12MOVR1, #1SJMPKMD11KCMAD1:JNBPNIF, KMD12MOVR1, #080KMD11:MOVA, #STF0ADDA, NUBRMOVR0, AMOVA, R1MOVR0, AKMD12:RETKCMAD2:JNBRCDF, KMD21MOVR2, #0SJMPKEYP2KMD21:JNBPNIF, KMD12MOVA, #1MOVR2, NUBRKMD22:DJNZR2, KMD23SJMPKMD24KMD23:RLASJMPKMD22KMD24:CPLAANLA, MAPCOMOVMAPCO, A81MOVDPTR, #PORTO1MOVX DPTR,

38、ACLRP3.5RETKCMAD3:JBRCDF, KMD31SETBRCDFMOVRPCNT, #0MOVDPNT, #4RETKMD31:INCRPCNTMOVA, DPNTCLRCRRCAMOVDPNT, AJNCKMD32CLRRCDFMOVDSWI, #0KMD32:RET82定時(shí)中斷服務(wù)程序:T0的計(jì)數(shù)初值的計(jì)算: 溢出中斷周期:50ms 晶振頻率: 12MHz 計(jì)數(shù)初值Tc=65536-50 =15536=3CD0H31083TISUB:MOVTH0, #3CHMOVTL0, #0D0HPUSHPSWPUSHACCPUSHDPHPUSHDPLCLRRS1 ;選第1組工作寄存器SETBRS0INCR7 ;秒計(jì)數(shù)器加1CJNER7, #0C8H, TISUB3 ;未到1秒,轉(zhuǎn)TISUB3MOVR7, #0 ;到1秒,秒計(jì)數(shù)器置0MOVR6, #0FFH ;巡檢計(jì)數(shù)器置-1TISUB1:INCR6CJNER6, #6, TISUB2SJMPTISUB3TISUB2:MOVA, #STF0ADDA, R6MOVR0, AMOVA, R084JZTISUB1CLRP2.3MOVA, R6MOVX R0, AINCR5 ;輪顯計(jì)數(shù)器加1秒CJNER5, #2, TISUB3 ;未到2秒,轉(zhuǎn)TISUB3MOVR5, #

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論