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