第九章 应用系统配置及 接口技术

Click here to load reader

Upload: nanda

Post on 17-Jan-2016

185 views

Category:

Documents


0 download

DESCRIPTION

第九章 应用系统配置及 接口技术. 9.1 人 - 机通道配置与接口技术 9.2 前向通道中的 A/D 转换器及接口技术 9.3 系统后向通道配置及接口技术. 9.1 人 - 机通道配置与接口技术. 9.1.1 键盘接口及处理程序 键盘是一组按键的集合,它是最常用的单片机输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机通信。 键是一种常开型按钮开关,平时 ( 常态 ) 键的二个触点处于断开状态,按下健时它们才闭合 ( 短路 ) 。. 任务 :可靠而快速的实现键信息输入与键功 能任务。 解决下列问题:. - PowerPoint PPT Presentation

TRANSCRIPT

  • 9.1 -9.2 A/D9.3

  • 9.1 -9.1.1 ()()

  • 1. 9-1b510ms

  • 9-1 ab89C51

  • RS CPU

  • 2.

  • 3. 4.

  • 1) DASII 2)

  • 1 9-2 I/O

  • 9-2 89C51

  • P0FP7FJMP PROM0PROM7

  • (I0P1)START: MOV A#0FFH P11 MOV P1A MOV AP1 JNB ACC.0P0F 0P0F JNB ACC.1P1F 1P1F JNB ACC.2P2F 2P2F JNB ACC.3P3F 3P3F JNB ACC.4P4F 4P3F

  • JNB ACC.5P5F 5P5F JNB ACC.6P6F 6P6F JNB ACC.7P7F 7P7F JMP START P0F: JMP PROM0 P7F: JMP PROM7

  • PROM0 0 . JMP START 0PROM1 1 . JMP START PROM7 7 . JMP START 07

  • 2 I/O9-3 ()()NMNM

  • 9-3

  • () 441 I/O()()()()()00H()()A()()1

  • 2 110

  • 3 : 01 () = *+ () = +

  • (10ms)CPU (INT0INT1)CPU CPU

  • 1 P2339-6 44 P2359-7 0FEH R0R2

  • DECODEA

  • AKEY: MOV P1#0F0H ; MOV R7#0FFH ;KEY1DjNZ R7KEY1 ; MOV AP1 ;P1 ANL A#0F0H ; CPL A ; JZ EKEY ; LCALL DEL20ms 20ms SKEY: MOV A, #00H ; MOV R0, A ;0 MOV R1, A ;0 MOV R3,#0FEH ;

  • SKEY2: MOV A,R3 MOV P1,A ;41 NOP NOP NOP ;P1 MOV A,P1 ; MOV R1,A ; ANL A,#0F0H ; CPL A ;S123 JNZ SKEY3 ; INC R0 ;1

  • SETB C MOV A, R3 ;R3 RLC A MOV R3, A ; R3 MOV A, R0 CJNE A, #04H,SKEY1 ;4 EKEY: RET

  • SKEY3: MOV AR1 JNB ACC.4,SKEY5 JNB ACC.5,SKEY6 JNB ACC.6,SKEY7 JNB ACC.7,SKEY8 AJMP EKEYSKEY5: MOV A, #00H MOV R2, A ;0 AJMP DKEYSKEY6: MOV A, #01H MOV R2, A ;1 AJMP DKEY

  • SKEY7: MOV A, #02H MOV R2, A ;2 AJMP DKEYSKEY8: MOV A, #03H MOV R2, A ;3 AJMP DKEYDKEY: MOV A, R0 ACALL DECODE AJMP EKEY

  • DECODE: MOV A, R0 ; MOV B,#04H ; MUL AB ;* ADD A, R2 ;*+ RET

  • 2 CPU 9-689C51P144P14P14P1.4P1.7

  • P1.0P1.3P1.4P1.7INT0/INTlCPUCPU

  • 9-6 9-7 89C51

  • 012EF 161610H1FHAAABBBPPP

  • ORG 8000HKEYADRMOV ABUFF ;A CJNE A#0FHKYARD1 AJMP DIGPRO ;FKYARD1JC DIGPRO ;FKEYTBLMOV DPTR#JMPTBL ; CLR C ; SUBB A#10H ;10HFH16 RL A ;(A)2,(A)02 ; 4 JMP @A+DPTR ;

  • JMPTBL: AJMP AAA AJMP BBB AJMP CCC AJMP DDD AJMP EEE AJMP FFF AJMP GGG 216 AJMP HHH AJMP III (A)=0,2,4,6, .. AJMP JJJ AAA,BBB,CCC, DDD,PPP AJMP KKK AJMP LLL AJMP MMM AJMP NNN AJMP OOO AJMP PPP

  • 9.1.2 LEDLEDLCDCRT

  • LEDLED8(K0)(K0)

  • 9-8 LED

  • 9-1 LED 8LED0F(adp

  • LED LED 1LED ()7abc78abcdefgdp

  • LED9-9(K0)(K0)5v(adp)8 I/O

  • 2LED LED8I/O()K0I/O9-106LED 6IO6LEDLED

  • 9-10 6 LED

  • I/O()I/O(LED)

  • 9-11 6

  • P0P166754527406)8155 PBLEDPBLED7407OCLED1ms1020ms6LED1. LED8155

  • 9-12 6LED

  • 2 . 1 LED2

  • 3DISDISMOV R0#7EH R0 MOV R2#01H MOV AR2 MOV DPTR#TAB DPTRLP0MOV P1A MOV A@R0 MOVC A@A+DPTR MOV P0A

  • ACALL D1MS DEC R0 1 MOV AR2 JB ACC.5LP1 RL A MOV R2A AJMP LP0LP1RET

  • TAB DB 3FH06H5BH4FH66H6DH DB 7DH07H7FH6FH77H7CH DB 39H5EH79H71H40H00HD1MSMOV R7#02H 1msDL MOV R6#0FFHDL1 DJNZ R6DL1 DJNZ R7DL RET

  • 9.1.3/LED8155 18155 I/O 815512PC64

  • LED2 6LED8155PBPAPAPC0PC2

  • 9-14 8155

  • KD1: MOV A, #03H ;8155,PA,PB ;PC MOV DPTR, #7F00H MOVX @DPTR, AKEY1: ACALL KS1 JNZ LK1 ACALL DIS ;6ms AJMP KEY1 LK1 ACALL DIS ACALL DIS ;12ms ACALL KS1

  • JNZ LK2 ACALL DIS ;6ms AJMP KEY1 LK2: MOV R2, #0FEH MOV R4, #00H LK4: MOV DPTR, #7F01H MOV A, R2 MOVX @DPTR, A INC DPTR INC DPTR MOVX A, @DPTR

  • JB ACC.0, LONE MOV A, #00H AJMP LKP LONE: JB ACC.1, LTWO MOV A, #08H AJMP LKP LTWO: JB ACC.2, LTHR MOV A, #10H AJMP LKP LTHR: JB ACC.3, NEXT MOV A, #18H

  • LKP: ADD A, R4 PUSH ACC LK3: ACALL DIS ACALL KS1 JNZ LK3 POP ACC RET NEXT: INC R4 MOV A, R2 JNB ACC.7, KND RL A MOV R2, A

  • AJMP LK4KND: AJMP KEY1KS1: MOV DPTR, #7F01H MOV A, #00H MOVX @DPTR, A INC DPTR INC DPTR MOVX A, @DPTR CPL A ANL A, #0FH RET

  • 9.1.4 /LED 89C5l0RXD(P3.0)()TXD(P3.1)74LSl64/LED

  • P1.2=1 0fosc/12fosc8031fosc6MHz500kb/s2us

  • 74LSl648mACPUCPULED01

  • KEY: MOV A, #00H ;0 MOV SBUF, AKL0: JNB TI, KL0 ;8 CLR TI ;KL1: JNB P1.0, PK1 ;1 JB P1.1, KL1 ;2PK1: ACALL D10MS ;,10ms, JNB P1.0, PK2 ; JB P1.1, KL1PK2: MOV R7, #08H ;

  • MOV R6, #0FEH ;0 MOV R3, #00H ;PL5: MOV A, R6 ; MOV SUBF, AKL2: JNB TI, KL2 CLR TI JNB P1.0, PK4 ;1 JNB P1.1, PK5 ;2 MOV A, R6 ; RL A

  • MOV R6,A INC R3 ;1 DJNZ R7,PL5 ;8 RET ;PK5: MOV R4,#08H ;2R408H AJMP PK3 ;PK4: MOV R4,#00H ;1R400HPK3: MOV A,#00H ; MOV SBUF,AKL3: JNB TI,KL3 CLR TI

  • KL4: JNB P1.0, KL4 JNB P1.1, KL4 MOV A, R4 ; ADD A, R3 SUBB A, #0AH ; JNC KL6 ; MOV DPTR, #TABL ;DPTR ADD A, #0AH ; MOVC A, @A+DPTR ; MOV R0, 60H ;

  • MOV @R0, A ; INC R0 ;1 CJNE R0, #60H, KD ; MOV 60H, #58H ; SJMP KD1KD: MOV 60H, R0KD1: ACALL LED ; RETKL6: MOV B, #03H ; MUL AB

  • MOV DPTR, KTAB ;DPTR JMP @A+DPTR ;KTAB: LJMP K1 ;K1,K3 LJMP K3 ; TABL: DB C0H, F9H, A4H, B0H ;09 DB 99H, 92H, 82H, F8H DB 80H, 90HLED: SETB P1.2 ; MOV R7, #08H ;R7

  • MOV R0, #58H ; LED1: MOV A, @R0 ; MOV SBUF, ALED2: JNB TI, LED2 CLR TI INC R0 ; DJNZ R7, LED1 ; CLR P1.2 ; RET

  • 9.2 A/D A/D A/DADMCS-51AD

  • AD 1 A/DBCD 2 A/DA/DA/D()

  • 3 A/DA/DA/D 4 A/DA/D

  • 9.2.1 AD A/DA/D

  • 9-16 AD

  • (D7)10D/AUNUxUxUND7lUxUND70D61DAUxD010EOC88

  • 200500ns D/A 0.01% ADADC 0809AD574A

  • ADC 0809A/D ADC0809CMOS8A/D2888A/D ADC0809

  • 9-17 ADC0809

  • IN0IN78D0D78STARTA/DALE

  • OE CLK640kHz EOCEOCEOCA/D VREF(+)VREF(-)A/D VccCMOS+5V+15V

  • 89-281 ADC0809100sCPU

  • 9-2 8

  • ADC08099-18ALE1(ADDAADDBADDCALE0STARTADC0809A/DEOC01OE0809

  • 9-18 ADC0809

  • 89C51ADC 0809 ADC 080989C51 89C51ADC 0809

  • 9-19 89C51ADC 080989C51 P2.7

  • ADC 0809ADDAADDBADDCALESTARTA/DMOVX DPTRAWRALESTARTA/DA/DEOCMOVX ADPTRRDOE8CPU

  • 9-18A0HA7HRAM ORG 0000H AJMP MAIN ORG 0013H AJMP INT1MAIN: MOV R0#0A0H MOV R2#08H MOV DPTR#7FF8H P2.70IN0

  • SETB IT1 SETB EX1 SETB EA MOVX @DPTRA A DHERESJMP HERE

  • INT1: MOVX A@DPTR MOVX @R0A INC R0 INC DPTR DJNZ R2DONE RETI DONE: MOVX @DPTRA RETI

  • 9-2830HRAM

    MAINMOV DPTR#0FEF8H ;P2.00 ; IN0 MOV R1#30H ; MOV R7#08H ;READMOVX DPTRA ;AD

  • HEREJB P3.3HERE M0VX ADPTR M0VX R1A INC R1 INC DPTR DJNZ R7READ ..

  • 9.2.2. AD A/D Vi 0VT1Vi( )Vi

  • ViVRVRT1()T2 V = T2 / T1VR

  • 9-20 AD

  • T2(b)ViT1A/DVi A/D A/DMC14433(3 ),ICL 7135(4)ICL7l09(12)ICL7104(16)

  • MCl4433 MCl4433 ADAD MCl4433BCD310s

  • 1/1999(11 ) 1.999V1999mV 310s 50150kHz 100M1.

  • 2V200mV( 1999V1999mV)BCD 4.5V8V9V16V8mw5V

  • 9-21 MCl44339-22 MCl44332.

  • 9-23 MC14433

  • MCl4433VAGVxVREF( )VR(+2V+200mv)VxR1R1C1C1 (a)2VC10.1uFR1470k (b)200mVC10.1uFR127k

  • C01C02C00.1P DUDUEOCA/D EOCA/DEOC1/2 OR Vx VR

  • DS1DS4DS1DS41828-38 Q0Q3BCDQ0Q3DS2DS4BCD09DS1Q0Q301

  • 9-3 DS1Q0Q3

  • Q3Q00Q30lQ310Q3Q01Q30Q311.999V1.999V179mVQ2Q21Q20

  • 89C51MCl4433 MCl4433A/DBCDQ0Q3DSlDS4MCS-51I/OI/O 1. 9-24MCl443389C51MC14433EOCDUMCl4433EOC89C51MCl4433BCD

  • 9-24 MCl44338031C02C01CLK0CLK1R1/C1R15G140389C51

  • 2. A/DA/DRAM2CH2DH2CH2DH: INTSETB IT1 INT1 MOV IE#84H CPUINT1

  • 1INT1MOV AP1 A/DA JNB ACC.4INT1 DS1 JB ACC.0ERR ERR JB ACC.2L1 SETB 67H 1 AJMP L2

  • L1CLR 67H 0L2JB ACC.3L3 01 SETB 64H 1 AJMP L4L3CLR 64H 0L4MOV AP1 JNB ACC.5L4 DS2 MOV R02CH XCHD A@R0 2CH4L5MOV AP1 JNB ACC.6L5 DS3

  • SWAP A 4 INC R0 2DH MOV @R0A 2DH4L6 MOV AP1 JNB ACC.7L6 DS4 XCHD A@R0 2DH4 RETI ERRSETB 10H RETI

  • 9.2.3 A/DTLC2543

    TLC2543TI12A/DI/O

  • TLC2543 112A/D81216 210us 311 43 5/66kps; 61LSBmax

  • 789/10/1112

  • 1234567891011121314151617181920AIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7GNDAIN8VccEOCI/O CLOCKDINDOUTCSREF+REF-AIN9AIN109-25 TLC2543 TLC2543 1

  • 2

  • TLC2543 1CS

  • 2CS9-28 CS

  • TLC2543 1

  • 94

  • TLC254389C51SPI 1

  • 2 1TLC254389C518TLC254389C5118AIN01TLC2543:MOV R4, #04H; ,AIN0,8 MOV A, R4 CLR R1.3; CSTLC2543 MSB: MOV R5, #08H; 8

  • LOOP:MOVP1, #04H; P1.2 MOVC, P1.2; TLC2543 A/D8 ; C CLRA; MOVP1.1, C; ACC ; DINTLC2543 SETBP1.0; NOP CLRP1.0 DJNZR5, LOOP MOVR2, A; A/DR2 RET

  • 2TLC254389C5112 TLC2543AIN01089C51R2 89C5112MHz12 00H

    ORG 0100HMOV P1,#04H ;P1.2MOV R6,#0AH ;10MOV R0,#2FH ;CLR P1.0 ;I/OSETB P1.3 ;CSACALL TLC2543 ;SJMP $

  • TLC2543:MOVA,#00H; ;IN0,12 CLRP1.3;CS MOVR5,#0CH;LOOP: MOVP1,#04H;P1.2MOVC,P1.2; RLCA;A ; ;CMOVP1.1,C;2543SETB P1.0;I/ONOPCLRP1.0;I/O

  • CJNE R5,#04,LOP1 ; MOV @R0,A ;8RAM INC R0 CLR ALOP1: DJNZ R5,LOOP ;4 ANL A,#0F MOV @R0,A RET

  • 3TLC254389C5116 TLC254389C51MSByteR2LSByteR3ORG 100HSTART:MOV SP,#50H;MOV P1,#04H;P1CLR P1.0;I/O CLOCKSETB P1.3;CSMOV A,#0FFHACALL TLC2543ACALL STORELJMP START

  • TLC2543:MOV R4,#0CH ;R4 ;AIN0,16 MOV A,R4 ;ADW0: CLR P1.3 ;CS JB ACC.1,LSB ;D11 ;MSB: MOV R5,#08 ;LOOP1 MOV C,P1.2 ;C RLC A ;A ;C MOV P1.1,C ; SETB P1.0 ;I/O CLOCK

  • NOPCLR P1.0;I/O CLOCKDJNZ R5,LOOP1;8MOV R2,A;R2MOV A,R4;AJB ACC.1,RETURN;D11 ; LSB:MOV R5,#08 ;LOOP2:MOV C,P1.2RLC AMOV P1.1,CSETB P1.0

  • NOPCLR P1.0DJNZ R5,LOOP2MOV R3,A;R3MOV A,R4JB ACC.1,MSB;D11;RETURN:RETSTORE:MOV A,R4;AANL A,#0F0H ;SWP A

  • MOVB,#02HMULABADDA,#30HMOVR1,AMOVA,R2MOV@R1,A; RAM;30H,32HINCR1MOVA,R3MOV@R1,A; RAM;31H,33HRETEND

  • 9.3 , 1. 2. 3.

  • 9.3.1

  • . 1

  • 2 1 SSR

  • 2) 89C51

  • 1

  • 289C51

  • 9.3.2 D/A D/ACPUD/AD/AD/A

  • D/A D/AD/AR-2R TD/AD/A

  • 1D/A D/A

  • 4D/A8421Rf/8RRf/4RRf/2RRf/R1VR

  • 9-36 D/AI2I3I1VR/ RVR/ RVR/ RVR/ 2RVR/ 4RVR/ 8R

  • 2R-2R TD/A D/AR-2R T 44R-2R8 d3d2dld0

  • 9-37 TD/AI1I2I11I12I13I14

  • D/AD/A D/ARfVRD/A

  • D/AD/A100msD/AD/A D/ACPU

  • 9-38 D/A

  • CPUD/A74LS27374LS374Intel-8255A

  • 3DA 1 nD/A1/2n

  • 2 D/A 3 D/ALSB/2()

  • 4 D/AD/A/(LSB)LSB/2 5 D/A

  • D/ADAC0832 DAC 08328D/A9-39 1. DAC0832 8 D0D7 LE1LE2

  • 9-39 DAC 0832LE1VCCDGND

  • 2. DI0DI7TTL90nsILE CSWR1LE1ILECSWR1 XFERWR2DACDACLE2XFERWR2

  • Iout1: 1Iout1 Iout2: Iout1 Rfb Vcc( -5V+5V) Vref(-10V-10V) AGND DGND

  • 3. DAC0832 1) 8 2) 1s 3) 4) 5) (+5v+15V) 6) 200mW 7) TTL

  • 4. DAC083289C51 DAC 08329-40

  • DAC0832(1)9-41 DAC0832

  • DAC0832 CS()CSWRlD/A

  • (2) 9-42 8031083289C51

  • D/AD/ADAC083289C51 9-41ILE+5vCSXFERP2.7DAC2FFFHWR1WR289C51WRCPU0832DAC0832

  • DAC08329-43 DAC0832

  • 9-3STARTMOV DPTR#2FFFH ;DAC 0832 STEPlMOV A#00H ;00H STEP2MOVX @DPTRA ;DA INC A ;A1 CJNE A#dataSTEP2 ; AJMP STEPl ;

  • 9-4STARTMOV DPTR#2FFFH ;DAC 0832 STEPPMOV A#dataH ; MOVX DPTRA ;DA ACALL DELH ; MOV A#dataL ; MOVX DPTRA ;DA ACALL DELL ; SJMP STEP ;

  • 9-5 STARTMOV DPTR#2FFFH ;DAC 0832 STEP1MOV A#00H STEP2MOVX DPTRA ;DA INC A ;A1 CJNE A#dataSTEP2 ; STEP3:DEC A ;A1 MOVX DPTRA ;DA CJNE A#01HSTEP3 ;01H AJMP STEP1 ;

  • 9-6STARTMOV DPTR#2FFFH ;DAC 0802 STEPMOV R6#20H ; MOV R4#05H ; MOV A#00H ;A L00P1MOVX DPTRA ;D/A ACALL DELAY ; ADD AR6 ; DJNZ R4L00P1 ; AJMP STEP

  • (3) D/AD/A D/ACPUD/ACPUD/AD/ADAC

  • 9-44 89C51083289C51

  • 89C51MOV DPTR#08FFFHMOV A#XdataMOVX @DPTRA ;Xdata1#0832MOV DPTR#0A7FFHMOV A#Ydata MOVX @DPTRA ;Ydata2#0832MOV DPTR#2FFFHMOVX @DPTRA ;1#2# ;DACD/A ;XY

  • D/A - AD7520 AD752010D/ACMOST16D/A1. AD7520

  • 9-39 D1D10D1Dl0 Vcc(515v VR(-10V+10V) RF GND Iout1Iout2

  • 9-45 AD7520

  • 89C51AD 7520AD752010I/O74LS3778D0BFFFH74LS74D7FFFH80318102. AD752089C51

  • 9-46 8031AD 7520 89C51

  • MOV DPTR#7FFFH ;74LS74 MOV A#dataH ;2A MOVX DPTRA ;274LS74 MOV DPTR#0BFFFH ;74LS377 MOV A#dataL ; 8A MOVX DPTRA ;874LS377 ; 274LS74

  • 9.3.3 D/ATLC5615 TLC56153/TLC5615

  • TLC5615 110CMOS 25V 33SPI 42 5 612.5s 7DAC 0 81.75mw

  • TLC5615 1TLC5615

  • 116122TLC561512102xx,xxMSBLSB

  • 16MSB4

    210DAC3DAC2

  • 2

  • 9-5 I/O

  • TLC5615

  • TLC5615/

  • TLC561589C51

  • 2 89C5112R0R1

  • CLR P3.0 ;MOV R2#4 ;4MOV A,R0 ;4SWAP A ;A4 ;LCALL WR-data ;DIN4MOV R2,#8 ;8MOV A,R1 ;8LCALL WR-data ;DIN8CLR P3.1 ;SETB P3.0 ;12RET

  • WR-dataNOP;LOOP: CLR P3.1; RLC A;CY MOV P3.2,C;TLC5615 SETB P3.1; DJNZ R2,LOOP; RET

  • SDSFSDGFDGBFDGHFGFDHGFDH