ÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINHÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ ðIỆN TỬKHOA CÔNG NGHỆ ðIỆN TỬ BỘ MÔN ðIỆN TỬ CÔNG NGHIỆPBỘ MÔN ðIỆN TỬ CÔNG NGHIỆP BÀI GIẢNG LÝ THUYẾTBÀI GIẢNG LÝ THUYẾT VI XỬ LÝVI XỬ LÝ TP. HỒ CHÍ MINHTP. HỒ CHÍ MINH THÁNG 09THÁNG 09 20092009 VI XỬ LÝVI XỬ LÝ GiáoGiáo viên: PHẠM QUANG TRÍviên: PHẠM QUANG TRÍ ÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINHÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ ðIỆN TỬKHOA CÔNG NGHỆ ðIỆN TỬ BỘ MÔN ðIỆN TỬ CÔNG NGHIỆPBỘ MÔN ðIỆN TỬ CÔNG NGHIỆP CHƯƠNG 3CHƯƠNG 3 LẬP TRÌNH HỢP NGỮLẬP TRÌNH HỢP NGỮ CHO 8051CHO 8051 CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ ðịnhðịnh ñịañịa chỉchỉ thanhthanh ghighi (Register(Register Addressing)Addressing) ðượcðược dùngdùng ñểñể truytruy xuấtxuất dữdữ liệuliệu trongtrong cáccác thanhthanh ghighi từtừ RR00 ñếnñến RR77 SốSố bytebyte củacủa lệnhlệnh:: 11 bytebyte CấuCấu trúctrúc lệnhlệnh:: VíVí dụdụ:: ADDADD A,A, RR55 ⇒⇒ LệnhLệnh cộngcộng nộinội dungdung thanhthanh ghighi AA vớivới nộinội dungdung thanhthanh ghighi RR 55 (Giả(Giả sửsử :: (A)=(A)= 0505 H,H, (R(R 55 )=)= 99 AH)AH) ghighi RR 55 (Giả(Giả sửsử :: (A)=(A)= 0505 H,H, (R(R 55 )=)= 99 AH)AH) ⇒⇒ MãMã lệnhlệnh:: ⇒⇒ MôMô tảtả lệnhlệnh:: CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ ðịnhðịnh ñịañịa chỉchỉ trựctrực tiếptiếp (Direct(Direct Addressing)Addressing) ðượcðược dùngdùng ñểñể truytruy xuấtxuất dữdữ liệuliệu trongtrong cáccác ôô nhớnhớ RAMRAM nộinội ((0000HH 77FHFH)) vàvà trongtrong cáccác SFRSFR ((A,A, B,B, PP00,, PP11,, PP22,, PP33,, DPH,DPH, DPL,DPL, ……)) hayhay ((8080HH FFHFFH)) SốSố bytebyte củacủa lệnhlệnh:: 22 bytebyte CấuCấu trúctrúc lệnhlệnh:: VíVí dụdụ:: ADDADD A,A, PP11 hoặchoặc ADDADD A,A, 9090HH ⇒⇒ LệnhLệnh cộngcộng nộinội dungdung thanhthanh ghighi AA vớivới nộinội dungdung PortPort 11 hayhay ôô nhớnhớ 9090 HH (Giả(Giả sửsử :: (A)(A) == 0505 H,H, (P(P 11 )) == (( 9090 H)H) == vớivới nộinội dungdung PortPort 11 hayhay ôô nhớnhớ 9090 HH (Giả(Giả sửsử :: (A)(A) == 0505 H,H, (P(P 11 )) == (( 9090 H)H) == 99AH)AH) ⇒⇒ MãMã lệnhlệnh:: ⇒⇒ MôMô tảtả lệnhlệnh:: CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ ðịnhðịnh ñịañịa chỉchỉ giángián tiếptiếp (Indirect(Indirect Addressing)Addressing) ðượcðược dùngdùng ñểñể truytruy xuấtxuất dữdữ liệuliệu trongtrong cáccác ôô nhớnhớ RAMRAM nộinội cócó ñịañịa chỉchỉ thaythay ñổiñổi liênliên tụctục khikhi chươngchương trìnhtrình ñangñang chạychạy RR00 vàvà RR11 hoạthoạt ñộngñộng nhưnhư cáccác concon trỏtrỏ vàvà nộinội dungdung củacủa chúngchúng chỉchỉ rara ñịañịa chỉchỉ ôô nhớnhớ RAMRAM cầncần truytruy xuấtxuất SốSố bytebyte củacủa lệnhlệnh:: 11 bytebyte CấuCấu trúctrúc lệnhlệnh:: VíVí dụdụ :: ADDADD A,A, @@ RR 00 ⇒⇒ LệnhLệnh cộngcộng nộinội dungdung thanhthanh ghighi AA vớivới nộinội dungdung ôô VíVí dụdụ :: ADDADD A,A, @@ RR 00 ⇒⇒ LệnhLệnh cộngcộng nộinội dungdung thanhthanh ghighi AA vớivới nộinội dungdung ôô nhớnhớ cócó ñịañịa chỉchỉ chứachứa trongtrong thanhthanh ghighi RR00 ((GiảGiả sửsử:: (A)(A) == 0505H,H, (R(R00)) == 33BH,BH, ((33BH)BH) == 99AHAH)) ⇒⇒ MãMã lệnhlệnh:: ⇒⇒ MôMô tảtả lệnhlệnh:: CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ ðịnhðịnh ñịañịa chỉchỉ tứctức thờithời (Immediate(Immediate Addressing)Addressing) ðượcðược dùngdùng ñểñể truytruy xuấtxuất mộtmột hằnghằng sốsố ((giágiá trtr bitbit trctrc)) thaythay vìvì làlà mộtmột biếnbiến ((giágiá trtr khôngkhông bitbit trctrc)) nhưnhư cáccác kiểukiểu ñịnhñịnh ñịañịa chỉchỉ trêntrên CóCó thểthể dùngdùng ñểñể nạpnạp dữdữ liệuliệu vàovào mọimọi ôô nhớnhớ vàvà thanhthanh ghighi bấtbất kỳkỳ ((ñốiñối vớivới thanhthanh ghighi 88 bitbit:: ##0000HH ##00FFHFFH,, ñốiñối vớivới thanhthanh ghighi 1616 bitbit:: ##00000000HH ##00FFFFHFFFFH)) SốSố bytebyte củacủa lệnhlệnh:: 22 bytebyte CấuCấu trúctrúc lệnhlệnh:: VíVí dụdụ:: ADDADD A,A, ##99AHAH ⇒⇒ LệnhLệnh cộngcộng nộinội dungdung thanhthanh ghighi AA vớivới giágiá trịtrị 99AHAH ((GiảGiả sửsử:: (A)(A) == 0505HH)) ⇒⇒ MãMã lệnhlệnh:: ⇒⇒ MôMô tảtả lệnhlệnh:: CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ ðịnhðịnh ñịañịa chỉchỉ tươngtương ñốiñối (Relative(Relative Addressing)Addressing) ðược sử dụng cho các lệnh nhảy (rẽ nhánh).ðược sử dụng cho các lệnh nhảy (rẽ nhánh). ðịa chỉ tương ñối (ðịa chỉ tương ñối (hay offsethay offset) là một giá trị ) là một giá trị 8 bit có dấu8 bit có dấu Tầm nhảy giới hạn là: Tầm nhảy giới hạn là: 128 byte … 127 byte 128 byte … 127 byte từ vị trí của lệnh tiếp theo từ vị trí của lệnh tiếp theo sau lệnh nhảy.sau lệnh nhảy. Số byte của lệnh: Số byte của lệnh: 2 byte2 byte Cấu trúc lệnh: Cấu trúc lệnh: CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ ðịnhðịnh ñịañịa chỉchỉ tươngtương ñốiñối (Relative(Relative Addressing)Addressing) Ví dụ 1:Ví dụ 1: SJMP SJMP AAAAAA ⇒⇒ Lệnh nhảy ñến nhãn AAA (Lệnh nhảy ñến nhãn AAA (Giả sử: nhãn AAA ñặt Giả sử: nhãn AAA ñặt trước lệnh ở ñịa chỉ 0107H, lệnh SJMP nằm trong bộ nhớ tại ñịa chỉ trước lệnh ở ñịa chỉ 0107H, lệnh SJMP nằm trong bộ nhớ tại ñịa chỉ 0100H và 0101H0100H và 0101H).). ⇒⇒ MãMã lệnhlệnh:: ⇒⇒ MôMô tảtả lệnhlệnh :: ⇒⇒ MôMô tảtả lệnhlệnh :: CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ ðịnhðịnh ñịañịa chỉchỉ tươngtương ñốiñối (Relative(Relative Addressing)Addressing) Ví dụ 2:Ví dụ 2: SJMP SJMP AAAAAA ⇒⇒ Lệnh nhảy ñến nhãn AAA (Lệnh nhảy ñến nhãn AAA (Giả sử: nhãn AAA ñặt Giả sử: nhãn AAA ñặt trước lệnh ở ñịa chỉ 203BH, lệnh SJMP nằm trong bộ nhớ tại ñịa chỉ trước lệnh ở ñịa chỉ 203BH, lệnh SJMP nằm trong bộ nhớ tại ñịa chỉ 2040H và 2041H2040H và 2041H).). ⇒⇒ MãMã lệnhlệnh:: ⇒⇒ MôMô tảtả lệnhlệnh :: ⇒⇒ MôMô tảtả lệnhlệnh :: [...]... A 8051 NHÓM L NH S 3 L nh tr H C có s mư n (Subtract with Borrow): Borrow): SUBB A, . ðIỆN TỬ CÔNG NGHIỆP BÀI GIẢNG LÝ THUYẾTBÀI GIẢNG LÝ THUYẾT VI XỬ L VI XỬ LÝ TP. HỒ CHÍ MINHTP. HỒ CHÍ MINH THÁNG 09THÁNG 09 20092009 VI XỬ L VI XỬ LÝ GiáoGiáo vi n: PHẠM QUANG TR vi n: PHẠM QUANG. NGHỆ ðIỆN TỬ BỘ MÔN ðIỆN TỬ CÔNG NGHIỆPBỘ MÔN ðIỆN TỬ CÔNG NGHIỆP CHƯƠNG 3CHƯƠNG 3 LẬP TRÌNH HỢP NGỮLẬP TRÌNH HỢP NGỮ CHO 805 1CHO 8051 CÁC KIỂU ðỊNH ðỊA CHỈCÁC KIỂU ðỊNH ðỊA CHỈ CÁC KIỂU ðỊNH ðỊA. (Indexed(Indexed Addressing)Addressing) TẬP LỆNH CỦA 8051TẬP LỆNH CỦA 8051 GiớiGiới thiệuthiệu tậptập lệnhlệnh củacủa 80518 051:: TốiTối ưuưu hóahóa chocho cáccác ứngứng dụngdụng ñiềuñiều khiểnkhiển