Click here to load reader

《单片微型计算机原理 及其应用》电子教案

  • Upload
    lyle

  • View
    100

  • Download
    3

Embed Size (px)

DESCRIPTION

《单片微型计算机原理 及其应用》电子教案. 赵秀珍 王乃钊 制作 中国水利水电出版社 2001 . 8. 第一章 单片微型计算机概述. 本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。 单片微型计算机就是将 CPU、RAM、ROM、 定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。. - PowerPoint PPT Presentation

Citation preview

  • 2001 . 8

  • CPURAMROM/

  • 11 1976~1978IntelMCS-488CPU/I/ORAMROM1978~1982I/O81664K1982~19901616CPU16RAMROMIntelMCS-9612MRAM232ROM8K810A/D/1990~

  • 12

    1RAM;2ROMRAM;3;4I/O;521; (6)

  • 13

    4 8

  • 11 MCS-51

  • 14

  • MCS-51MCS-518051P0P1P2P3I/O

  • 21 MCS-51 8051 21 MCS-51

  • 8051

    8051 22

  • 22 8051

  • 23 8051

  • 24 8051RAM

    24 8051RAM

  • 22

    *:

  • 25 P0

    1 P0

  • 2 P1

    26 P1

    26 P1

    26 P1

    26 P1

    26 P1

  • 3 P2

    27 P2

  • 4 P3

    28 P3

  • 4 P3 28 P3

  • 23 P3

  • 2-9

    22 MCS-51

  • 1 210 MCS-51/ 2

  • 3 MCS-51

    ROMRAM 211 ROM

  • 1ROM 2RAM 212 RAM

  • 23 MCS-51 213 MCS-51

  • 1 2 1 214 8051

  • 2 215

  • 3

    24

  • 24 MCS-51 PCON

  • MSC-51 31

    [] [] [] []

  • INC A ADD A#22H MOV 5EH4FH

    3-1

  • 32

  • 33 MSC-51

    MSC-51111l 29l 24l 24l 17l 17

  • 3-2

  • MCS-51 4-1

  • 41

    1

    CLR CMOV R0#40H MOV R1#5OH MOV R2#04H LOOP1MOV A@R0 ADDC A@R1 MOV @R0AINC R0 INC R1DJNZ R2LOOPl LOOP1JNC LOOP2 LOOP2MOV @R0#01HLOOP2DEC R0RET

  • 2 MOV AR0 MOV R2AMOV ARMOV R7ACLR CLOOP1MOV A@R0ADDC A@R1 MOV @R0 AINC R0INC R1 1DJNZ R7LOOP1JB OVERR DEC R0MOV A@R0JNB E7HLOOP2SETB 07H ,LOOP2MOV AR2 MOV R0ARETERR RET

    SDADDCLR 07H

    4-3

  • MOV R0#40H MOV R1#5OH MOV R2#04H CLR CLOOP1MOV A@R0SUBB A@R1 MOV @R0AINC R0INC R1DJNZ R2LOOP1RET

  • (BCD)

    4-4 BCD

    BCDADDMOV 20HR0 MOV 23HR CLR C LOOP0 MOV A@R0 ADDC A@R1 DA A MOV @R0A INC R0 1 INC R1 DJNZ RLOOP0 MOV R2. #23H JNC RETURN

    MOV@ R0#01H INC RRETURNMOV R0#20H RET

  • ZHENFA: MOV AR0 MOV BR1 MUL AB (R1)*(R0) MOV RA R MOV R4B R4 MOV AR0 MOV BR2 MUL AB (R2)*R0 ADD AR4 (R1)*(R0)(R2)*(R0) MOV R4A R4CY MOV AB ADDC A#OOH(R2)*(R0) MOV RA R RET

  • DV: MOV R7,#08H DVl: CLR C MOV AR RLC A MOV RA MOV AR6 RLC A (R6)(R) MOV 07HC 07H CLR C 4-5

    SUBB AR2 () JB O7HGOU 1 JNC GOU ADD AR2 AJMP DV2 GOU:INC R 1 DV2:MOV R6A () DJNZ R7DVl RET

  • 42

    4-7 30H31H8:(30H)=x7x6xx4xx2x1x0(3lH)=y7y6yy4yy2y1y030H531H340H:(40H)=y2y1y0x4xx2x1x0ANLORLMOV 4OH3OH x7x040HANL 4OH#000111llB 3MOV A31H y7y0SWAP A A4RL A y2y03ANL A#111000OOB 5ORL 4OHA

  • 1ASCII 4-10 ASC1I41:0~9ASCII30H~39H30H00H~09H0AHA~FASCII41H~46H37H0AH~0FH>0AHR1ASCHIN:MOV AR1 CLR C CSUBB A#30H ASCII30H0-9MOV R1A SUBB A#0AH >9?JC LOOP 9XCH AR1SUBB A#07H >937HMOV R1ALOOP: RET

  • 2BCD 4-6 BCD

  • MAINMOV AR MOV R2A ACALL BCDBIN MOV B#64H MUL AB MOV R6A XCH AB MOV RA MOV AR4 MOV R2A ACALL BCDBIN ADD AR6 MOV R4A MOV AR ADDC A#00H MOV RA RETBCDBINMOV AR2 ANL A#0F0H BCD4 SWAP A MOV B#0AH MUL AB MOV RA MOV AR2 ANL A#0FH ADD AR3 BCD MOV R2A RET

  • 43 MOVC A@A+DPTR MOV DPTR#BS RL A

    MOV R2A MOVC A@A+DPTR PUSH A INC A MOVC A@A+DPTR MOV DPHA POP DPL CLR A JMP @A+DPTR BS DB RK0L DB RK0H DB RK1L DB RK1H DB RK2L DB RK2H

  • 44

    4-17 R(R)=0OPRO(R)=1OPRl(R)=nOPRnMOV ARRL A 2MOV DPTR #BRTABL JMP @A+DPTR BRTABLAJMP OPR0 AJMP OPR1AJMP OPRn

  • 4-19 R5OPRD00OPRD11OPRD22OPRD33OPRD44: MOV AR MOV DPTR#TAB3 MOVC A@A+DPTR A JMP @A+DPTR TAB3: DB OPRDO-TAB3 DB OPRDl-TAB3

    DB OPRD2-TAB3 DB OPRD3-TAB3 DB OPRD4-TAB3

  • 4-20 ROPRD0OPRDl OPRDn: MOV DPTR#BRTABL MOV AR ADD AR (A)(R)*2 JNC NAND INC DPH (R)*2DPHNANDMOV RA MOVC A@A+DPTR 8 XCH AR INC A MOVC A@A+DPTR 8 MOV DPLA DPTR MOV DPHR

    CLR A JMP @A+DPTR BRTABLDW OPRDO DW OPRD1 DW OPRDn

  • RET 4-21 ROPRD0OPRDl OPRDn MOV DPTR#TAB3 MOV AR ADD AR JNC NAND INC DPHNANDMOV RA MOVC A@A+DPTR 8 XCH AR INC A MOVC A@A+DPTR 8 PUSH A MOV AR PUSH A RET TAB3DW OPRD0 DW OPRDl DW OPRDn

  • 45 I/O 4-22 4-9

    ORG 0200H D BIT 00H E BIT 01H G BIT 02HLOOP1ORL P1#08H P1.3LOOP2MOV CP1.3 K3 JC LOOP2 K3LOOP2 ORL P1#03H P1.0P1.1 MOV CP1.0 K0 MOV DC D

    MOV CP1.1 K1 MOV EC E ANL CD DEC MOV GC G MOV CE ORL CD DEC ANL C/G DEDE MOV P1.2C SJMP LOOP1 END

  • 46

    RAM

    4-23 RAMSUBRT:MAIN :MOV R0#30H RAM MOV R7#0AH RAM ACALL SUBRT SJMP $ SUBRT:MOV A#00H LOOPMOV R0A INC R0 DJNZ R7LOOP RET

  • 4-25 HEXASCIIASCASC+1ASCII ORG 1200HPUSH HEX ACALL HASC ASCIIPOP ASC ASCMOV AHEX ASWAP A 4PUSH ACC ACALL HASC ASCIIPOP ASC+1 ASC+1SJMP $ HASCDEC SPDEC SP SPPOP ACC AANL A#0FH 4ADD A#07H MOVC A@A+PC ASCIIPUSH ACC INC SPINC SP SP8RET ASCTABLDB 01234567DB 89ABCDEFEND

  • 4-26 THIS IS AN EXAMPLEMAIN ACALL PRINT DBTHIS IS AN EXAMPLE' DB OAHODHOOHNEXT PRINTPOP DPH POP DPLPPPl MOV A#OOH MOVC A@A+DPTR INC DPTR JZ PPPEND PPP2 SJMP PPPl PPPENDJMP @A+DPTR NEXT

  • / 51 / /

    1/

    51 TMODTCONT0T1

  • 2/ 52 /

  • /TMOD

    51

    TMOD

    1

    0

  • TCON

    TCON

  • 52 /

    0

    M1M000/0 53

    53 T0(T1)0

  • 1

    54 T0(T1)1

  • 2

    55 T0(T1)1

  • 2

    56 T0(T1)2

  • 3

    57 T03T1

  • 015-1 T10P111msfosc=6MHZP11500s1msT1 500sT10GATE=0C/T()=0M1M0=00T030TMOD=00HTMOD0TMOD500sT1 T=12/fosc=12/6106=2sX 213X2106 s =500106 s X=7942D=1111100000110B=1F06H13TL130X5TL15TL1=06HX8TH1TH1=F8H

  • 2

    5-2 12100P10T1P3.51TF12 X=28100=156D=9CH TH1=TL1=9CH TMOD=60H

  • 58

    5-3 T0INT0

    T01GATE1TR01INT0P32 T0

  • 11665536

  • MCS-51

    61 MCS-51

    8051

    61 MCS-51

  • MCS-51 62 8051/8751

  • 62 MCS-51

    63

  • 1

    6-4 8K

  • 2EPROM

    3E2PROM

    6-5 E2PROM

  • 6-6 2KB

  • 1 2

    6-7 16KB RAM16KB EPROM

  • 63 I/O

    I/O

    6-8 I/O

  • I/O

    69 8155

  • 61 8155

  • 38155

    62 8155RAMI/O

    610 8155

  • 48155RAM

    OK 0/

    1 63 C

  • 612 81554

  • 6/

    6-4 8155

  • MCS-51

    71

    1

    7-2

  • 7-3

    7-4

  • 1(Simplex)

    2(Half Duplex)

    3(Full-duplex)

    72 MCS-51

    MCS-51

    7-5 MCS-51

  • 1SBUF 2SCON

    SM0

    7-6 SCON

    7-6 SCON

  • 3PCON

    PCONCHMOS87H

    7-7

    7-7 PCON

  • MCS-51

    MCS-51SCONSM1SM0 7-1 7-1

  • 10

    7-8 0

  • 21

    18 7-9

    7-9 1

  • 32

    29 7-10

    43 7-10 23

  • MCS-51

    10

    22

    313

    7-2 T1

  • 7-2 T1

  • 73 MCS-51 0I/O

    7-11 0

  • 1

    20H40H

  • 23

    7-12

  • 1

    2

    7-13

  • 74

    RS-232CRS-449RS-422RS-423RS-485

  • 7-14

  • 2

    1RS-232C 7-15

  • 7-3 RS-232C

    7-3 RS-232C

  • 7-16 RS-232C

  • 2RS-449RS-422RS-423RS-485

    7-4

  • MCS-51

    8-1 8051

  • 81

  • 2SCON

    1TCON

    21 3

    4

  • 82

    8-2

  • EXINT PUSH PSW PUSH ACC JB P1 0SAV1 JB P1 1SAV2 JB P1 2SAV3 JB P1 3SAV4 DISUB POP ACC POP PSW

    RETI SAV1 XI1 AJMP DISUB SAV2 XI2 AJMP DISUB SAV3 XI3 AJMP DISUB SAV4 XI1 AJMP DISUB

  • 83

    8-3

  • 91 LED

    9-1

  • 1

    9-2

  • DISPMOVR0#50HR0MOVR2#4MOVR3#0LOOPMOVA@R0ANLA#0FHi4SWAPAORLAR3i4R34MOVP1Ai4R3MOVA@R0ANLA#0F0Hi4INCR3ORLAR3i4R3MOVP1Ai4INCR0INCR3LEDDJNER2LOOP48BCDRET

  • 9-3

  • 2

    9-5

  • DISPSETBP1.0MOVSCON#00H0 MOVR0#50HR0 MOVR2#4 MOVDPTR#TABDPTRLOOPMOVA@R0 ANLA#0FHi4 MOVCA@ADPTR MOCSBUFAi4WAIT1JNBTI$ CLRTI MOVA@R0 ANLA#0F0Hi4 SWAPA MOVCA@ADPTR MOCSBUFAi4WAIT2JNBTI$ CLRTI INCR0 DJNZR2LOOP48RETTAB DB03H9FH25H0DH99H DB49H41H1FH01H19H

  • 3

    9-6

  • -----------------------------------STAR:LOOP:ACALLS00EFSJMPLOOP----------------------------DISP:CLRAORLA,P3P3ANLA,#0F0HMOVR3,AP34MOVA,43HANLA,#0FHA4ORLA,R3P34A4MOVR0,34HMOVP1,#0FFHMOVP3,AMOVA@R0AMOVDPTR,#TABDPTRMOVCA,@A+DPTRMOVP1,A1MOVA,43HRLAMOV43H,AINC34HJB ACC.0,DONEMOV34H,#50HMOV43H,#0EEHDONE:RET--------------------------------TAB:DB 0C0H000HDB 0F9H1DB 0A4H2DB 0B0H3DB 99H4DB 92H5DB 82H6DB 0F8H7DB 80H8DB 90H9

  • 9-7

  • 9-8

  • 9-9

  • KSCANMOVDPTR#7FFFH244MOVXA@DPTR244ANL A#0FH4CJNEA#0FHLOOSJB11HL04751JC10HSETSYNCJNEAR4CLRSYNSETB11HRETLOOSJNB11HRETUR0SJMPKEYDOSETSYNSETB10HMOVR4ASJMPRETURCLRKCLR11HCLRSYNCLR10HMOVR4#00HRETKEYDORRCAJCJUS2S1S2ALMPDOS1S1JUS2JCJUS3S2S3ALMPDOS2S2JUS3JCJUS4S3S4ALMPDOS3S3JUS4JCRETURS4ALMPDOS4S4DOS1S1SJMPRETURDOS2S2SJMPRETURDOS3S3SJMPRETURDOS4S4SJMPRETUR

  • 9-10

  • 9-11

  • A/D 9-12 ADC0801ADC0805 9-13 ADC08010805

  • 93 D/A

    D/A

    9-14 TD/A

  • D/A

    1

    9-15 DAC0832 9-16 DAC0832

  • 3

    1

    9-17 DAC0832

  • 2

    9-18 DAC0832

  • MOV DPTR#0DFFFH 08321MOV A# data1MOVX @DPTRA data108321MOVX @DPTR#0BFFFH 08322MOV A#data2MOVX @DPTRA data208322MOV DPTR#7FFFH 0832108322MOVX @DPTRA data1data2D/A

  • 94 MCS-51

    9-19

    1

    2

    3

    4

    5

    6

    7

    8

    8

    9

  • 920

    4

    8

    7

    7

  • 9-21

  • 9-22

  • 1

    9-23

  • 9-24

  • ------------------------------- ORG 0000H AJMP ADR00 ORG 0003H CLR EX0 0 AJMP INT0 ORG 000BH AJMP T0 ORG 0013H CLR EX1 1 AJMP INT1 ORG 001BH AJMP T1 ORG 0030HADR00: MOV R0,#20H 20H70H0 MOV R1,#50H CLR AADR10: MOV @R0,A INC R0 DJNZ R1,ADR10 ACALL SUB1 MOV SP,#5FH 60H MOV SCON,#00H 0

  • MOV A,43H A ACALL SUB2 AR7 MOV A,R7 CLR C SUBB A,#2JNC ADR20 2%JB P1.0ADR75 MOV R543H SETB P1.0 2%AJMP ADR20 ADR75MOV AR5 CLR CSUBB A43H JNC ADR20 SETB P1.1 MOV R2,#06H ACALL SUB3 0.6CLR P1.1 AJMP ADR20--------------------------------------ADR80MOV A,42H A ACALL SUB2 AR7 MOV A,R7 CLR C SUBB A,#2 JC ADR20 2%JNB P1.0ADR85 MOV R642H CLR P1.0 2%AJMP ADR20 ADR85MOV AR6 CLR CSUBB A42H JNC ADR20 SETB P1.2 MOV R2,#06H ACALL SUB3 0.6CLR P1.2 AJMP ADR20

  • 2

    1 SUB2: MOV B,#64H MUL AB MOV R7,#00HADR90: CLR C SUBB A,41 JC ADR0A0 INC R7 1 AJMP ADR90 ADR0A0: MOV R6,B CJNE R6,#00H,ADR0B0 AJMP ADR0C0 ADR0B0:DEC B INC R7 1 AJMP ADR90 ADR0C0:RET

  • 2R20.1

    R20.1P1.1P1.2SUB3: MOV R3,#64HADR0D0:MOV R4,#0F9HADR0E0:NOPNOPDJNZ R4,ADR0E0

    DJNZ R3,ADR0D0DJNZ R2,SUB3RET

  • 3

    T0T1INT0INT19-259-28

    9-25 T0 9-26 T1

  • 9-27 INT0 9-28 INT1

  • 4INT1

    INT1: PUSH PSW MOV 41H,37H MOV 37H,#00H MOV 43H,36H MOV R5,#00H SETB 11H SETB RS0 1 MOV R1,#30H R1ADR0F0:INC @R1 1 CJNE @R1,#0AH,ADR180110 MOV @R1,#00H0 1100 INC R1 CJNE R1,#36H,ADR0F0 1MOV R0,#2FH R0 MOV R2,#06H R2ADR100:INC R0 MOV DPTR,#ADR120 MOV A,@R0 A MOVC A,@A+DPTR A MOV SBUF,A ADR110:JNB TI,$ 1 CLR TI DJNZ R2,ADR100 6CLR RS0 POP PSW SETB EX1 1 RETIADR120:DB 03H 0 DB 9FH 1 DB 25H DB 0DH DB 99H DB 49H DB 41H DB 1FH DB 01HDB 09H 9

  • 101

    10-1

  • 10-2

  • 10-3

  • 102

    805l

    PL/M-51

    C-51

  • AT89FLASH

    11-1 AT89C

  • 11-2 AT89S

  • 11-1

    P= U=

  • 11-2

  • 112 AT89

    11-3 AT89C51

  • 11-4 2

  • 11-5 DCEN=0

  • 11-6 DCEN=1

  • 11-7

  • 11-4 2

  • 11-5 DCEN=0

  • 11-6 DCEN=1

  • 11-7

  • 11-8

  • 11-9 AT89C1051/2051

  • MCS-96

    121 MCS-96

    12-1 8098

  • 12-2 8098

  • 12-3 RALU

  • 12-4

  • 123 8098

    12-5

  • 124

    12-6 HSI

  • 12-7 HSO

  • 127 A/DD/A

    12-8 A/D

  • 12-9 PWM