Thanh Thanh ghi ghi từ từ trạng trạng thái thái chương chương trình trình (PSW) (PSW)

Một phần của tài liệu Bài giảng lý thuyết vi xử lý - Chương 2: Phần cứng vi điểu khiển 8051 potx (Trang 69 - 93)

CôngCông dụngdụng:: chocho biếtbiết trạngtrạng tháithái làmlàm việcviệc củacủa CPUCPU (ALU)(ALU)..

CYCY (Carry(Carry Flag)Flag):: cờcờ nhớnhớ..

ACAC (Auxiliary(Auxiliary Carry)Carry):: cờcờ nhớnhớ phụphụ..

FF00 (Flag(Flag 00)):: cờcờ zerozero.. D0H D0H PSWPSW CY CY AC AC F0 F0 RS1 RS1 RS0 RS0 OV OV X X P P

FF00 (Flag(Flag 00)):: cờcờ zerozero..

RSRS00,, RSRS11 (Register(Register Select)Select):: bitbit chọnchọn dãydãy thanhthanh ghighi..

OVOV (Overflow)(Overflow):: cờcờ tràntràn..

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ FF00 (Flag(Flag 00)):: cờcờ zerozero →→→→→→→→ cócó nhiềunhiều mụcmục ñíchñích dànhdành chocho cáccác ứngứng dụng

dụng kháckhác nhaunhau củacủa ngườingười lậplập trìnhtrình (dự(dự trữtrữ chocho cáccác phiênphiên bảnbản chipchip trong

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

BitBit RSRS00,, RSRS11 (Register(Register Select)Select):: bitbit chọnchọn dãydãy thanhthanh ghighi →→→→→→→→ chocho phépphép xác

xác ñịnhñịnh dãydãy thanhthanh ghighi tíchtích cựccực (R(R00 –– RR77)).. RS1

RS1 RS0RS0 Dãy thanh ghiDãy thanh ghi R0 R0 →→→→→→→→ R7R7 0 0 00 Dãy 0Dãy 0 00H 00H →→→→→→→→ 07H07H 0 0 11 Dãy 1Dãy 1 08H 08H →→→→→→→→ 0FH0FH 1 1 00 Dãy 2Dãy 2 10H 10H →→→→→→→→ 17H17H VíVí dd:: Chọn

Chọn dãydãy thanhthanh ghighi tíchtích cựccực làlà DãyDãy 22 thìthì thựcthực hiệnhiện lệnhlệnh SETB RS1

SETB RS1 ;RS1 = 1;RS1 = 1 CLR RS0

CLR RS0 ;RS0 = 0;RS0 = 0

Chọn

Chọn dãydãy thanhthanh ghighi tíchtích cựccực làlà DãyDãy 33 thìthì thựcthực hiệnhiện lệnhlệnh SETB RS1 SETB RS1 ;RS1 = 1;RS1 = 1 SETB RS0 SETB RS0 ;RS0 = 1;RS0 = 1 1 1 00 Dãy 2Dãy 2 10H 10H →→→→→→→→ 17H17H 1 1 11 Dãy 3Dãy 3 18H 18H →→→→→→→→ 1FH1FH D0H D0H 11 00 PSWPSW CY CY AC AC F0 F0 RS1 RS1 RS0 RS0 OV OV X X P P D0H D0H 11 11 PSWPSW CY CY AC AC F0 F0 RS1 RS1 RS0 RS0 OV OV X X P P

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

BitBit RSRS00,, RSRS11 (Register(Register Select)Select):: bitbit chọnchọn dãydãy thanhthanh ghighi →→→→→→→→ chocho phépphép xác

xác ñịnhñịnh dãydãy thanhthanh ghighi tíchtích cựccực (R(R00 –– RR77)).. RS1

RS1 RS0RS0 Dãy thanh ghiDãy thanh ghi R0 R0 →→→→→→→→ R7R7 0 0 00 Dãy 0Dãy 0 00H 00H →→→→→→→→ 07H07H 0 0 11 Dãy 1Dãy 1 08H 08H →→→→→→→→ 0FH0FH 1 1 00 Dãy 2Dãy 2 10H 10H →→→→→→→→ 17H17H Ở chế ñộ mặc ñịnh (khi reset) thì RS1 = RS0 = 0. Ở chế ñộ mặc ñịnh (khi reset) thì RS1 = RS0 = 0. 1 1 00 Dãy 2Dãy 2 10H 10H →→→→→→→→ 17H17H 1 1 11 Dãy 3Dãy 3 18H 18H →→→→→→→→ 1FH1FH

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ CYCY (Carry(Carry Flag)Flag):: cờcờ nhớnhớ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 77..

•• CY = 0: CY = 0: nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7.nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7. •• CY = 1: CY = 1: nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ CYCY (Carry(Carry Flag)Flag):: cờcờ nhớnhớ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 77..

•• CY = 0: CY = 0: nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7.nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7. •• CY = 1: CY = 1: nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ CYCY (Carry(Carry Flag)Flag):: cờcờ nhớnhớ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 77..

•• CY = 0: CY = 0: nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7.nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7. •• CY = 1: CY = 1: nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ CYCY (Carry(Carry Flag)Flag):: cờcờ nhớnhớ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 77..

•• CY = 0: CY = 0: nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7.nếu không có nhớ từ bit 7 hoặc không có mượn cho bit 7. •• CY = 1: CY = 1: nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.nếu có nhớ từ bit 7 hoặc có mượn cho bit 7.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ ACAC (Auxiliary(Auxiliary Carry)Carry):: cờcờ nhớnhớ phụphụ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 33..

•• AC = 0: AC = 0: nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3.nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3. •• AC = 1: AC = 1: nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ ACAC (Auxiliary(Auxiliary Carry)Carry):: cờcờ nhớnhớ phụphụ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 33..

•• AC = 0: AC = 0: nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3.nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3. •• AC = 1: AC = 1: nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ ACAC (Auxiliary(Auxiliary Carry)Carry):: cờcờ nhớnhớ phụphụ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 33..

•• AC = 0: AC = 0: nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3.nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3. •• AC = 1: AC = 1: nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

CờCờ ACAC (Auxiliary(Auxiliary Carry)Carry):: cờcờ nhớnhớ phụphụ →→→→→→→→ báobáo cócó nhớ/mượnnhớ/mượn tạitại bitbit 33..

•• AC = 0: AC = 0: nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3.nếu không có nhớ từ bit 3 hoặc không có mượn cho bit 3. •• AC = 1: AC = 1: nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.nếu có nhớ từ bit 3 hoặc có mượn cho bit 3.

VíVí dd::

Trường

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

Cờ OVCờ OV (Overflow)(Overflow):: cờcờ tràntràn →→→→→→→→ báobáo kếtkết quảquả tínhtính toántoán củacủa phépphép toántoán số

số họchọc (phép(phép toántoán cócó dấu)dấu) cócó nằmnằm trongtrong khoảngkhoảng từtừ --128128 ñếnñến ++127127 hay

hay khôngkhông..

•• OV =OV = 00:: nếunếu --128128 ≤≤≤≤≤≤≤≤ kếtkết quảquả ≤≤≤≤≤≤≤≤ ++127127..

•• OVOV == 11:: nếunếu kếtkết quảquả << --128128 hoặchoặc kếtkết quảquả >> ++127127..

•• NóiNói cáchcách kháckhác làlà:: ðốiðối vớivới phépphép cngcng thìthì OVOV == 11 nếunếu cócó nhớnhớ từtừ bitbit 77 nhưng

nhưng khôngkhông cócó nhớnhớ từtừ bitbit 66 hoặchoặc nếunếu cócó nhớnhớ từtừ bitbit 66 nhưngnhưng khôngkhông cócó nhưng

nhưng khôngkhông cócó nhớnhớ từtừ bitbit 66 hoặchoặc nếunếu cócó nhớnhớ từtừ bitbit 66 nhưngnhưng khôngkhông cócó nhớ

nhớ từtừ bitbit 77.. ðốiðối vớivới phépphép trtr thì OVthì OV == 11 nếunếu cócó mượnmượn chocho bitbit 77 nhưngnhưng không

không cócó mượnmượn chocho bitbit 66 hoặchoặc nếunếu cócó mượnmượn bitbit 66 nhưngnhưng khôngkhông cócó mượn

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

Cờ OVCờ OV (Overflow)(Overflow):: cờcờ tràntràn →→→→→→→→ báobáo kếtkết quảquả tínhtính toántoán củacủa phépphép toántoán số

số họchọc (phép(phép toántoán cócó dấu)dấu) cócó nằmnằm trongtrong khoảngkhoảng từtừ --128128 ñếnñến ++127127 hay

hay khôngkhông..

•• OV =OV = 00:: nếunếu --128128 ≤≤≤≤≤≤≤≤ kếtkết quảquả ≤≤≤≤≤≤≤≤ ++127127..

•• OVOV == 11:: nếunếu kếtkết quảquả << --128128 hoặchoặc kếtkết quảquả >> ++127127.. VíVí dd:: Trường Trường hợphợp ““BB33HH ++ 2525HH””:: Trường Trường hợphợp ““BB33HH ++ 2525HH””::

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

Cờ OVCờ OV (Overflow)(Overflow):: cờcờ tràntràn →→→→→→→→ báobáo kếtkết quảquả tínhtính toántoán củacủa phépphép toántoán số

số họchọc (phép(phép toántoán cócó dấu)dấu) cócó nằmnằm trongtrong khoảngkhoảng từtừ --128128 ñếnñến ++127127 hay

hay khôngkhông..

•• OV =OV = 00:: nếunếu --128128 ≤≤≤≤≤≤≤≤ kếtkết quảquả ≤≤≤≤≤≤≤≤ ++127127..

•• OVOV == 11:: nếunếu kếtkết quảquả << --128128 hoặchoặc kếtkết quảquả >> ++127127.. VíVí dd:: Trường Trường hợphợp ““BBHBBH ++ CC99HH””:: Trường Trường hợphợp ““BBHBBH ++ CC99HH””::

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

Cờ OVCờ OV (Overflow)(Overflow):: cờcờ tràntràn →→→→→→→→ báobáo kếtkết quảquả tínhtính toántoán củacủa phépphép toántoán số

số họchọc (phép(phép toántoán cócó dấu)dấu) cócó nằmnằm trongtrong khoảngkhoảng từtừ --128128 ñếnñến ++127127 hay

hay khôngkhông..

•• OV =OV = 00:: nếunếu --128128 ≤≤≤≤≤≤≤≤ kếtkết quảquả ≤≤≤≤≤≤≤≤ ++127127..

•• OVOV == 11:: nếunếu kếtkết quảquả << --128128 hoặchoặc kếtkết quảquả >> ++127127.. VíVí dd:: Trường Trường hợphợp ““BBHBBH -- 9696HH””:: Trường Trường hợphợp ““BBHBBH -- 9696HH””::

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

Cờ OVCờ OV (Overflow)(Overflow):: cờcờ tràntràn →→→→→→→→ báobáo kếtkết quảquả tínhtính toántoán củacủa phépphép toántoán số

số họchọc (phép(phép toántoán cócó dấu)dấu) cócó nằmnằm trongtrong khoảngkhoảng từtừ --128128 ñếnñến ++127127 hay

hay khôngkhông..

•• OV =OV = 00:: nếunếu --128128 ≤≤≤≤≤≤≤≤ kếtkết quảquả ≤≤≤≤≤≤≤≤ ++127127..

•• OVOV == 11:: nếunếu kếtkết quảquả << --128128 hoặchoặc kếtkết quảquả >> ++127127.. VíVí dd:: Trường Trường hợphợp ““44BHBH -- FF33HH””:: Trường Trường hợphợp ““44BHBH -- FF33HH””::

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

Cờ OVCờ OV (Overflow)(Overflow):: cờcờ tràntràn →→→→→→→→ báobáo kếtkết quảquả tínhtính toántoán củacủa phépphép toántoán số

số họchọc (phép(phép toántoán cócó dấu)dấu) cócó nằmnằm trongtrong khoảngkhoảng từtừ --128128 ñếnñến ++127127 hay

hay khôngkhông..

•• OV =OV = 00:: nếunếu --128128 ≤≤≤≤≤≤≤≤ kếtkết quảquả ≤≤≤≤≤≤≤≤ ++127127..

•• OVOV == 11:: nếunếu kếtkết quảquả << --128128 hoặchoặc kếtkết quảquả >> ++127127.. VíVí dd:: Trường Trường hợphợp ““5353HH ++ 4545HH””:: Trường Trường hợphợp ““5353HH ++ 4545HH””::

BỘ NHỚ TRONG CỦA CHIP 8051BỘ NHỚ TRONG CỦA CHIP 8051 BỘ NHỚ TRONG CỦA CHIP 8051

ThanhThanh ghighi từtừ trạngtrạng tháithái chươngchương trìnhtrình (PSW)(PSW)

Cờ OVCờ OV (Overflow)(Overflow):: cờcờ tràntràn →→→→→→→→ báobáo kếtkết quảquả tínhtính toántoán củacủa phépphép toántoán số

số họchọc (phép(phép toántoán cócó dấu)dấu) cócó nằmnằm trongtrong khoảngkhoảng từtừ --128128 ñếnñến ++127127 hay

hay khôngkhông..

Một phần của tài liệu Bài giảng lý thuyết vi xử lý - Chương 2: Phần cứng vi điểu khiển 8051 potx (Trang 69 - 93)