Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 156 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
156
Dung lượng
8,99 MB
Nội dung
Ni dung chng trỡnh Chng : Lp trỡnh cho cng vo - Chng 2: Lp trỡnh cỏc ngt Chng 3: Phi ghộp vi LCD, ADC v cỏc cm bin Chng 4: Phi ghộp vi ng c bc, bn phớm v cỏc b DAC Chng 5: Truyn thụng ni tip ca 8051 Chng 6: Phi ghộp 8051 vi b nh ngoi Chng 7: Phi ghộp 8051 vi 8255 TI LIU V PHN MM HC TP Bt buc: - Slide bi ging mụn hc (GV cung cp) - Ti liu sỏch: Cu trỳc v Lp trỡnh h Vi iu khin 8051 TG Nguyn tng Cng, Phan quc Thng NXB Khoa hc v K thut - Phn mm Proteus - Tham kho: - Thit k h thng vi h 8051 TG Tng Vn On NXB Phng ụng - Phn mm lp trỡnh C#+; keilC Chng 1: Lp trỡnh cho cng vo 1.1 Cỏc b vi iu khin v cỏc b vi x lý nhỳng Hỡnh 1.1: H thng vi x lý c so sỏnh vi h thng vi iu khin Chng 1: Lp trỡnh cho cng vo 1.1 Cỏc b vi iu khin v cỏc b vi x lý nhỳng Cỏc tiờu chun la chn mt b vi iu khin: 1.1.1 ỏp ng nhu cu tớnh toỏn ca bi toỏn mt cỏch hiu qu v mt giỏ thnh v y chc nng cú th nhỡn thy c (kh d): tc , kiu úng v (DIP hay QFP), cụng sut, dung lng b nh, s chõn vo 1.1.2 Cú sn cỏc cụng c phỏt trin phn mm chng hn nh cỏc trỡnh biờn dch, trỡnh hp ng v g ri 1.1.3 Ngun cỏc b vi iu khin cú sn nhiu v tin cy Chng 1: Lp trỡnh cho cng vo 1.2 B vi iu khin 8051 1.2.1 Gii thiu v b vi iu khin 8051: c Intel gii thiu vo nm 1981 Ký hiu l MCS51 Đặc tính ROM chíp RAM Bộ định thời Các chân vào - Cổng nối tiếp Nguồn ngắt Số l-ợng 4K byte 128 byte 32 Bng 1.1 Cỏc c tớnh ca 8051 u tiờn Chng 1: Lp trỡnh cho cng vo 1.2.1 Gii thiu v b vi iu khin 8051: Hỡnh 1.2 B trớ bờn ca s 8051 Chng 1: Lp trỡnh cho cng vo 1.2.1 Gii thiu v b vi iu khin 8051: Cỏc thnh viờn khỏc h 8051: Đặc tính ROM chíp RAM Bộ định thời Chân vào - Cổng nối tiếp Nguồn ngắt 8051 4K byte 8052 8K byte 128 byte 32 256 byte 32 8031 OK 128 byte 32 Bng 1.2 So sỏnh cỏc c tớnh ca cỏc thnh viờn h 8051 Chng 1: Lp trỡnh cho cng vo 1.2.1 Gii thiu v b vi iu khin 8051: Cỏc b vi iu khin 8051 t cỏc hóng khỏc nhau: Số linh kiện AT89C51 AT89LV51 AT89C1051 AT89C2051 AT89C52 AT89LV52 ROM 4K 4K 1K 2K 8K 8K RAM 128 128 64 128 128 128 Chân I/O 32 32 15 15 32 32 Timer 2 3 Ngắt 6 8 Vcc 5V 3V 3V 3V 5V 3V Bng 1.3 Cỏc phiờn bn 8051 t Atmel (flash ROM) Đóng vỏ 40 40 20 20 40 40 Chng 1: Lp trỡnh cho cng vo 1.2.1 Gii thiu v b vi iu khin 8051: Cỏc b vi iu khin 8051 t cỏc hóng khỏc nhau: Mã linh kiện DS5000-8 DS5000-32 DS5000T-8 DS5000T-8 ROM 8K 32K 8K 32K RAM 128 128 128 128 Chân I/O 32 32 32 32 Timer 2 2 Ngắt 6 6 Vcc 5V 5V 5V 5V Đóng vỏ 40 40 40 40 Bng 1.4 Cỏc phiờn bn 8051 t Dallas Semiconductor(NV-RAM) Ngoi cũn cú cỏc phiờn bn OTP(lp trỡnh mt ln) cho 8051 Chng 1: Lp trỡnh cho cng vo 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Cỏc ghi: Loi bit: A, B, R0, R1, R2, R3, R4, R5, R6, R7, PSW, SP, Thx, Tlx Loi 16 bit: DPTR, PC - Thanh ghi PSW: Chng 7: Phi Ghộp 8051 Vi PPI8255 7.1 Lp trỡnh 8255 Li gii: C) chng trỡnh MOV MOV MOVX MOV AGAIN: CPL A, #80H ; T in khin DPTR, # 4003H ; Np a ch cng ca ghi iu khin @DPTR, A ; Xut t in khin A, # 55H ; Gỏn A = 55 MOV DPTR, # 4000H ; a ch cng PA MOVX @DPTR, A ; Ly cỏc bit cng PA INC DPTR ; a ch cng PB MOVX @DPTR, A ; Ly cỏc bớt cng PB INC DPTR ; a ch cng PC MOVX @DPTR, A ; Ly cỏc bớt cng PC A ; Ly o cỏc bớt ghi A ACALL DELAY ; Ch SJMP AGAIN ; Tip tc Chng 7: Phi Ghộp 8051 Vi PPI8255 7.1 Lp trỡnh 8255 Trong trng hp dựng b nh ngoi thi 8255 l gii phỏp tt Chng 7: Phi Ghộp 8051 Vi PPI8255 7.2 Ni ghộp vi th gii thc 7.2.1 Phi ghộp vi ng c bc Chng 7: Phi Ghộp 8051 Vi PPI8255 7.2 Ni ghộp vi th gii thc 7.2.1 Phi ghộp vi ng c bc Chng trỡnh cho s ni ghộp ny nh sau: MOV MOV MOVX MOV MOV AGAIN: ACALL A, #80H R1, #CRPORT @R1, A R1, #APORT A, #66H MOVX RR DELAY SJMP ; Chn t iu khin PA l u ; a ch cng ghi iu khin ; Cu hỡnh cho PA u ; Np a ch cng PA ; Gỏn A = 66H, chuyn xung ca ng c bc @R1, A ; Xut chui ng c n PA A ; Quay chui ; Ch AGAIN Chng 7: Phi Ghộp 8051 Vi PPI8255 7.2 Ni ghộp vi th gii thc 7.2.2 Phi ghộp vi LCD CHng trỡnh ghi lnh LCD: CMDWRT: MOV R0, # APORT ; MOVX @R0, A ; MOV R0, # BPORT ; MOV A, # 00000100B ; RS=0, R/W=0, E=1 MOVX @R0, A ; NOP NOP MOV A, # 00000000B ; RS=0, R/W=0, E=0 MOVX @R0, A ; RET Chng 7: Phi Ghộp 8051 Vi PPI8255 7.2 Ni ghộp vi th gii thc 7.2.2 Phi ghộp vi LCD CHng trỡnh ghi d liu LCD: DATAWRT: MOV R0, # APORT ; MOVX @R0, A ; MOV R0, # BPORT ; MOV A, # 00000101B ; RS=1, R/W=0, E=1 MOVX @R0, A ; NOP NOP MOV A, # 00000001B ; RS=1, R/W=0, E=0 MOVX @R0, A ; RET Chng 7: Phi Ghộp 8051 Vi PPI8255 7.2 Ni ghộp vi th gii thc 7.2.3 Phi ghộp 8255 vi ADC Chng 7: Phi Ghộp 8051 Vi PPI8255 7.2 Ni ghộp vi th gii thc 7.2.3 Phi ghộp 8255 vi ADC Chng trỡnh cho mch trờn: MOV A, #91H ; T iu khin vi PA = u vo v PC = u vo MOV R1, #CRPORT ; Np a ch cng iu khin MOVX @R1, A ; t PA = u vo v PC = u vo BACK: MOV R1, #CPORT ; Np a ch cng C MOVX A, @R1 ; c a ch cng C xem ADC ó sn sng cha ANL A,, #00000001B ; Che tt c cỏc bớt cng C xem ADC ó sn sng cha JNZ BACK ; Gi hin th PC0 che EOC ; Kt thỳc hi thoi v bõy gi nhn d liu ca ADC MOV R1, #APORT ; Np a ch PA MOVX A, @R1 ; A = u vo d liu tng t Chng 7: Phi Ghộp 8051 Vi PPI8255 7.3 Cỏc ch khỏc ca 8255 7.3.1 Ch thit lp/xúa bớt BSR T iu khin ch BSR: Chng 7: Phi Ghộp 8051 Vi PPI8255 7.3 Cỏc ch khỏc ca 8255 7.3.1 Ch thit lp/xúa bớt BSR Vit chng trỡnh to xung PC4: MOV A, 00001001B ; t byte iu khin cho PC4 =1 MOV R1, #CNTPORT ; Np cng ghi iu khin MOVX @R1, A ; To PC4 = ACALL DELAY ; Thi gian gi chm cho xung cao MOV A, #00001000B ; t byte iu khin cho PC4 = MOVX @R1, A ; To PC4 = ACALL DELAY Chng 7: Phi Ghộp 8051 Vi PPI8255 7.3 Cỏc ch khỏc ca 8255 7.3.2 Ch 1: vo bt tay Chng 7: Phi Ghộp 8051 Vi PPI8255 7.3 Cỏc ch khỏc ca 8255 7.3.2 Ch 1: vo bt tay Biu nh thi ca 8255 ch 1: Chng 7: Phi Ghộp 8051 Vi PPI8255 7.3 Cỏc ch khỏc ca 8255 7.3.2 Ch 1: vo bt tay Tớn hiu : õy l tớn hiu b m u y ca cng A c tớch cc mc thp i t chõn PC7 bỏo rng CPU ó ghi byte d liu ti cng A Tớn hiu ny phi c ni ti chõn STROBE ca thit b thu nhn d liu (chng hn nh mỏy in) bỏo rng nú bõy gi ó cú th c mt byte d liu t cht cng Tớn hiu : õy l tớn hiu chp nhn cng A cú mc tớch cc mc thp c nhõn ti chõn PC6 ca 8255 Qua tớn hiu thỡ 8255 bit rng tớn hiu ti cng A ó c thit b thu nhn ly i Khi thit b nhn ly d liu i t cng A nú bỏo 8255 qua tớn hiu Lỳc ny 8255 bt lờn cao bỏo rng d liu ti cng A bõy gi l d liu c v CPU ó ghi mt byte d liu mi ti cng A thỡ li xung thp v.v Tớn hiu INTRa: õy l tớn hiu yờu cu ngt ca cng A cú mc tớch cc cao i t chõn PC3 ca 8255 Tớn hiu l tớn hiu cú di hn ch Khi nú xung thp (tớch cc) thỡ nú lm cho khụng tớch cc, nú mc thp mt thi gian ngn v sau ú tr nờn cao (khụng tớch cc) Sn lờn ca kớch hot INTRa lờn cao Tớn hiu cao ny trờn chõn INTRa cú th c dựng gõy chỳ ý ca CPU CPU c thụng bỏo qua tớn hiu INTRa rng mỏy in ó nhn byte cui cựng v nú sn sng nhn byte d liu khỏc INTRa ngt CPU ngng mi th ang lm v ộp nú gi byte k tip ti cng A in iu quan trng l chỳ ý rng INTRa c bt lờn ch nu INTRa, v u mc cao Nú c xoỏ v khụng CPU ghi mt byte ti cng A Tớn hiu INTEa: õy l tớn hiu cho phộp ngt cng A 8255 cú th cm INTRa ngn nú khụng c ngt CPU õy l chc nng ca tớn hiu INTEa Nú l mt mch lt Flip - Flop bờn thit k che (cm) INTRa Tớn hiu INTRa cú th c bt lờn hoc b xoỏ qua cng C ch BSR vỡ INTEa l Flip - Plop c iu khin bi PC6 Chng 7: Phi Ghộp 8051 Vi PPI8255 Bi tp: Lp trỡnh cho 8255 ch 0: Trng hp iu khin led n, led v LCD THE END [...]... mc nh ban u : SP=07 Xung t vi bank thanh ghi s 1 Trỏnh xung t bng cỏch thay i SP Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Gii thiu tp lnh ca 8051 Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Gii thiu tp lnh ca 8051 Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp... 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Gii thiu tp lnh ca 8051 Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Gii thiu tp lnh ca 8051 Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Gii thiu tp lnh ca 8051 Chng 1: Lp trỡnh cho cng vo ra 1.2.2 Mụ t chõn b vi iu khin 8051 Chng... cng vo ra 1.2.2 Mụ t chõn b vi iu khin 8051 Chõn Vcc: chõn 40 : +5V Chõn GND: chõn 20: 0V Chõn XTAL1 (19) v XTAL2 (18) a) Ni XTAL ti 8051 b) Ni XTAL ti ngun bờn ngoi Chng 1: Lp trỡnh cho cng vo ra 1.2.2 Mụ t chõn b vi iu khin 8051 Chõn RST: chõn 9 : Chõn Reset a) Mch tỏi bt ngun RESET b) Mch tỏi bt ngun vi Debounce Chng 1: Lp trỡnh cho cng vo ra 1.2.2 Mụ t chõn b vi iu khin 8051 - Chõn /EA:... ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Cu trỳc chng trỡnh ASM ORG 0h Sjmp Start ;bng vector ngt ORG 30h Start: ;Chng trỡnh chớnh Sjmp Start ; Chng trỡnh con END Namesub: ;Chng trỡnh con Ret Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - T chc b nh Ram Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin... 1 iu kin no ú lm cho chng trỡnh hin hnh b tm ngng thc thi mt nhim v khỏc Cỏc ngt úng vai trũ rt quan trng trong vic thit k v thc hin cỏc ng dng ca b vi iu khin Nú cho phộp h thng ỏp ng 1 s kin theo cỏch khụng ng b v s lý s kin trong khi mt chng trỡnh khỏc ang c thc thi ISR: (interrupt service rountine) Chng 2: Lp trỡnh ngt (interrupts) Khi cú ngt xy ra: Nú kt thỳc lnh ang thc hin v lu a ch ca lnh...Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - D liu: H 10, h 2, h 16 v ký t - Bin byte: dựng ch lnh DB: TenBien : DB d liu - Bin bit: Tenbien bit dachibit - Cỏc ch lnh: ORG, EQU, END Chng 1: Lp trỡnh cho cng vo ra 1.2.1 Gii thiu v b vi iu khin 8051: Kin trỳc lp trỡnh ca 8051: - Cỏc ch a ch trong 8051 CC tc thi: MOV... trong (ngha l khụng lu vo ngn xp) Nú nhy n mt v trớ c nh trong b nh c gi l bng vộc t ngt ni lu gi a ch ca mt trỡnh phc v ngt B vi iu khin nhn a ch ISR t bng vộc t ngt v nhy ti ú Nú bt u thc hin trỡnh phc v ngt cho n lnh cui cựng ca ISR l RETI (tr v t ngt) Khi thc hin lnh RETI b vi iu khin quay tr v ni nú ó b ngt Trc ht nú nhn a ch ca b m chng trỡnh PC t ngn xp bng cỏch kộo hai byte trờn nh ca ngn xp vo... c cỏc cng khi Reset u cu hỡnh l cỏc cng ra v c giỏ tr ban u l FFh - lm cng vo ta cn lp trỡnh bng cỏch gi FFh n cỏc cng - Riờng cng P0 cn cú in tr kộo: Chng 1: Lp trỡnh cho cng vo ra 1.2.2 Mụ t chõn b vi iu khin 8051 - Cng P2 cũn cú chc nng cung cp byte cao tớn hiu a ch A8-A15 - Cng P3 cũn cú chc nng phc v cho ngt: Bít của cống P3 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Chức năng Nhận dữ liệu (RXD)