Xung & Hoi1 1.Giớithiệu 2.Sơđồ khốivàchân 3.Tổchứcbộnhớ 4. 4. C C á á c c thanh thanh ghi ghi ch ch ứ ứ c c năng năng đ đ ặ ặ c c bi bi ệ ệ t t (SFR) (SFR) 5.Dao độngvàhoạt độngreset 6.Tậplệnh 7.Cácmode định địachỉ 8.LậptrìnhIO 9.Tạotrễ 10.LậptrìnhTimer/Counter 11.Lậptrìnhgiaotiếpnốitiếp 12.Lậptrìnhngắt 13.Lậptrìnhhợpngữ Xung & Hoi2 XêmthêmHình2.6 trang26 SFRs Xung & Hoi3 CPU registers: -ACC: Accumulator. -B: B register. -PSW: Program Status Word. -SP: Stack Pointer. -DPTR: Data Pointer (DPH, DPL). Interrupt control: -IE: Interrupt Enable. -IP: Interrupt Priority. I/O Ports: -P0: Port 0. -P1: Port 1. -P2: Port 2. -P3: Port 3. Xung & Hoi4 TImers: -TMOD: Timer mode. -TCON: Timer control. -TH0: Timer 0 high byte. -TL0: Timer 0 low byte. -TH1: Timer 1 high byte. -TL1: Timer 1 low byte. Serial I/O: -SCON: Serial port control. -SBUF: Serial data registers. Other: -PCON: Power control & misc. Xung & Hoi5 4-1. ThanhghiPSW •ThanhghiPSW (bit addressable) C AC F0 RS1 OVRS0 P RS1RS0Register BankByte Address of R0-R7 0 0000H-07H 0 1108H-0FH 1 0210H-17H 1 1318H-1FH CPSW.7Cờ nhớ ACPSW.6Cờ nhớ phụ PSW.5Available to user for general purpose RS1PSW.4Bit chọndãythanhghi1 RS0PSW.3Bit chọndãythanhghi0 OVPSW.2Cờ tràn PSW.1Dự trữ - User define bit PPSW.0Cờ chẵnlẻ Địachỉ bit D0D1D2D3D4D5D6D7 Xung & Hoi6 •C(carry flag) -Cờnhớ – Đượcset bằng1 nếucósốnhớ từ phépcộngbit 7 hay cósố mượnmang đếnbit 7 •MOVA,#FFH •ADD A,#1 –Còn đượcdùngnhư 1 thanhghi1 bit đốivớicáclệnhlogic thaotáctrêncácbit •ANLC,25H •AC (auxiliary carry) –Cờnhớ phụ – Đượcset bằng1 nếucósốnhớ từ bit 3 sang bit 4 •RS1, RS0 - Cácbit chọndãy(bank) thanhghi –Dùng để xác địnhdãythanhghitíchcực –Chúng đượcxóakhireset MOVA,R7SETBRS0 SETB RS1 º SETB 0D4H Xung & Hoi7 •OV (overflow flag) -Cờtràn –Set bằng1 sauphéptoáncộnghoặctrừ nếucóxuấthiện1 trànsốhọc. Khicácsốcódấuđượccộnghoặctrừ, phần mềmcóthể kiểmtrabit trànOV để xác địnhKQ cónằm trongtầmhay không –Vớicácsốcódấu, KQ nhỏ hơn-128 hoặclớnhơn+127 sẽ set cờ OV = 1. Vớicácsốkhôngdấu, OV=1 khiKQ vượt quá255 –VD: •0Fthậpphân15 •+7F+127 •_________ •8E142 •8EH biễudiễn-114 không đúngvớiKQ mongmuốnlà 142 nênOV = 1 Xung & Hoi8 •P (parity) -Cờchẵnlẻ –KiểmtrachẵnlẻchothanhchứaA –Sốcácbit 1 trongthanhchứaA cộngvớibit P luônluôn chẵn •MOV A,#10101101B • àP=1 –Bit chẵnlẻđượcsửdụngkếthợpvớicácchươngtrình xuất/nhậpnốitiếptrướckhitruyềndữliệuhoặc để kiểmtra chẵnlẻsaukhinhậndữliệu VD4: MOVA,#FFH ADDA,#1 VD3: MOVA,#38H ADDA,#2FH VD2: MOVA,#9CH ADDA,#64H VD1: MOVA,#88H ADDA,#93H Xung & Hoi9 VD: MOVA,#38H ADDA,#2FH 3800111000 +2F+00101111 67 01100111 C=0 AC=1P=1 VD: MOVA,#88H ADDA,#93H 88 10001000 +93 +10010011 11B 00011011 C=1 AC=0 P=0 VD: MOVA,#9CH ADDA,#64H 9C 10011100 +64 +01100100 100 00000000 C=1 AC=1P=0 VD: MOVA,#FFH ADDA,#1 A=00H;C=1;AC=1; Xung & Hoi10 Nhữnglệnh ảnhhưởng đếncácbit cờ X cóthể là1 hoặc0 [...]... trình ngoài hoặc bộ nhớ dữ liệu ngoài • VD: MOV A,#55H MOV DPTR,#1000H MOVX @DPTR,A 83H 82H DPH DPL Xung & Hoi 15 4-5 Các thanh ghi I/O port: P0, P1, P2, P3 • Tất cả port đều được định địa chỉ bit • VD: (điều khiển motor nối bit P1.0) SETB CLR P1.0 P1.0 • Đoạn chương trình kiểm tra trạng thái BUSY của thiết bị: WAIT: JB P1.5, WAIT Xung & Hoi 16 4-6 Các thanh ghi định thời • 8051 có 2 bộ đếm/định thời 16-bit . & Hoi16 4-5. CácthanhghiI/O port: P0, P1, P2, P3 •Tấtcảport đều được định địachỉ bit •VD: (điềukhiểnmotor nốibit P1.0) SETBP1.0 CLRP1.0 • Đoạnchươngtrìnhkiểmtratrạngthái BUSY của thiếtbị: WAIT: