SETB 20 b) CLR 32 c) SETB 12H d) SETB 95 e) SETB 0ETB 12H

Một phần của tài liệu GIÁO TRÌNH VI XỬ LÝ 8051 pdf (Trang 91 - 94)

DIV A B; A= 09 (th−ơng số) ;B =05 (số d−) Lu ý cỏc điểm sau khi thực hiện AB

a) SETB 20 b) CLR 32 c) SETB 12H d) SETB 95 e) SETB 0ETB 12H

d) SETB 95 e) SETB 0ETB 12H

8. Cỏc địa chỉ bớt 00 - 7FH và 80 - F7H thuộc cỏc vị trí nhớ nàỏ

9. Các cỉng P0, P1, P2 và P3 là một bộ phận cđa SFR? (đúng sai)

10. Thanh ghi TCON cú thể đỏnh địa chỉ theo bớt (đỳng sai)

8.2 Cỏc phộp tốn một bít với cờ nhớ CỴ

Ngồi một thực tế là cờ nhớ CY đợc thay đổi bởi cỏc lệnh lụ-gớc và số học thỡ trong 8051 cũn cú một số lệnh mà có thĨ thao tác trực tiếp cờ nhớ CỴ Các lệnh này đợc cho trong bảng 8.3.

bảng 8.3.

Một số lệnh cho trong bảng 8.3 làm việc với cỏc phộp toỏn lụ-gớc AND và OR. Cỏc vớ dụ ở mục này sẽ chỉ ra cỏch sử dụng chỳng nh thế nà

ở ch−ơng tiếp theo chúng ta sẽ chỉ ra nhiỊu ví dơ hơn vỊ viƯc sư dơng cđa các

lệnh đơn trong phạm vi cỏc ứng dụng thực tế. Bảng 8.3: Cỏc lệnh liờn quan đến cờ nhớ CY

Lệnh chức năng

SETB C Thực hiện (tạo) CY = 1 CLR C Xố bít nhớ CY = 0 CPL C Bù bít nhớ

MOV b, C Sao chộp trạng thỏi bớt nhớ vào vị trí bít b = CY MOV C, b Sao chộp bớt b vào trạng thỏi bớt nhớ CY = b

JNC đích Nhảy tới đớch nếu CY = 0 JC đích Nhảy tới đớch nếu CY = 1

ANL C. bít Thực hiƯn phép AND với bít b và l−u vào CY ANL C./ bít Thực hiện phộp AND với bớt đảo và lu vào CY ORL C. bít Thực hiƯn phép OR với bít và l−u vào CY ORL C./ bít Thực hiện phộp OR với bớt đảo và lu vào CY

Ví dụ 8.10: H[y viết một chơng trỡnh để lu cất trạng thỏi của cỏc bớt P1.2 và P1.3 vào vị trớ nhớ tơng ứng trong RAM 6 và 7.

Lời giải:

MOV C, P1.2 ; Lu trạng thỏi P1.2 vào C MOV 06, C ; Lu trạng thỏi CY vào bớt 6 của RAM MOV C, P1.3 ; Lu trạng thỏi P1.2 vào CY

MOV 07, C ; L−u trạng thỏi CY vào vị trớ RAM 07 Ví dụ 8.11:

giả sư vị trí nhớ 12H trong RAM giữ trạng thỏi của việc cú điện thoại hay

khụng. Nếu nú ở trạng thỏi cao cú nghĩa là đ[ cú một cuộc gọi mới vỡ nú đợc kiểm tra lần cuốị H[y viết một chơng trỡnh để hiển thị cú lời nhắn mới (New Message) trờn màn hỡnh LCD nếu bớt 12H của RAM cú giỏ trị ca Nếu nú cú giỏ trị thấp thỡ LCD hiển thị khụng cú lời nhắn mới (“No New Message”).

Lời giải:

MOV C, 12H ; Sao trạng thỏi bớt 12H của RAM vào CY JNC NO ; Kiểm tra xem cờ CY cú giỏ trị cao khụng. MOV DPTR, # 400H ; Nếu nú nạp địa chỉ của lời nhắn. LCAL DISPLAY ; Hiển thị lời nhắn.

SJMP NEXT ; Thoát

NO: MOV DSTR, #420H ; Nạp địa chỉ khụng cú lời nhắn. LCAL DISPLAY ; HiĨn thị nó.

EXIT: Thoát

; data to be displayed on LCD ORG 400H

YES-MG: DB “NEW Message” ORG 420H

tra đèn trong của một toà nhà. H[y trỡnh bày làm thế nào để bật đốn ngoài và tắt đốn trong nhà.

Lời giải:

SETB C ; Đặt CY = 1

ORL C, P2.2, C ; Thực hiƯn phép OR với CY MOV P2.2, C ; Bật đèn nếu nó ch−a bật.

CLR C ; Xố CY = 0

ANL C, P2.5 ; CY = (P2.5 AND CY) MOV P2.5, C ; Tắt nó nếu nó ch−a tắt. MOV P2.5, C ; Tắt nó nếu nó ch−a tắt. Cõu hỏi ụn luyện:

1. Tỡm trạng thỏi của cờ CY sau đoạn m[ dới đõy:

a) CLR A b) CLR C c) CLR C

AĐ A, #OFFH JNC OVER JC OVER JWC OVER SETB C CPL C JWC OVER SETB C CPL C

CPL C OVER: ... OVER: ...

OVER: ...

2. H[y trỡnh bày cỏch làm thế nào để lu trạng thỏi bớt P2.7 vào vị trớ bớt 31 của

RAM.

3. H[y trỡnh bày cỏc chuyển trạng thỏi bớt 09 cđa RAM đến bít P1.4.

8.3 Đọc cỏc chõn đầu vào thụng qua chốt cổng.

Trong việc đọc cổng thỡ một số lệnh đọc trạng thỏi của cỏc chõn cổng, cũn một số lệnh khỏc thỡ đọc một số trạng thỏi của chốt cổng trong. Do vậy, khi đọc cỏc cổng thỡ cú hai khả năng:

1. Đọc trạng thỏi của chõn và

2. Đọc chốt trong cđa cỉng rạ

Chúng ta phải phõn biệt giữa hai dạng lệnh này vỡ sự lẫn lộn giữa chỳng là nguyờn nhõn chớnh của cỏc lỗi trong lập trỡnh cho 8051, đặc biệt khi đ[ kết nối với phần cứng bờn ngoà Trong phần này ta bàn về sơ qua cỏc lệnh nà Tuy nhiờn, độc giả phải nghiờn cứu và hiểu về cỏc nội dung của chủ đề này và về hoạt động bờn trong của cỏc cổng đợc cho trong phụ lục Appendix C2.

8.3.1 Cỏc lệnh đọc cổng và

Nh− đ[ núi ở chơng 4 thỡ để biến một bớt bất kỳ của cổng 8051 nào đú thành một cổng đầu vào, chỳng ta phải ghi (lụ-gớc cao) vào bớt đú. Ssu khi cấu hỡnh cỏc bớt của cổng là đầu vào, ta cú thể sử dụng những lệnh nhất định để nhận dữ liệu ngoài trờn cỏc chõn vào trong CP Bảng 8.4 là những lệnh núi trờn.

Bảng 8.4: Cỏc lệnh đọc một cổng và

Giả lƯnh Ví dơ Mụ tả

MOV A, PX MOV A, P2 Chuyển dữ liờuj ở chõn P2 vào ACC JNB PX.Y, ... JNB P2.1, đích Nhảy tới đớch nếu, chõn P2.1 = 0 JB PX.Y, JB P1.3, đích Nhảy đớch nếu, chõn P1.3 = 1 MOV C, PX.Y MOV C, P2.4 Sao trạng thỏi chõn P2.4 vào CY 8.3.2 Đọc chốt cho cổng đầu r

1. Nú đ[ chốt trong của một cổng và chuyển dữ liệu đú vào trong CP

2. Dữ liệu này đợc AND với nội dung của thanh ghi Ạ

3. Kết quả đợc ghi ngợc lại ra chốt cổng.

4. Dữ liệu tại chõn cổng đợc thay đổi và cú cựng giỏ trị nh chốt cổng.

Từ những bàn luận trờn ta kết ln rằng, các lƯnh đọc chốt cổng th−ờng đọc một giỏ trị, thực hiện một phộp tớnh (và cú thể thay đổi nú) sau đú ghi ngợc lại ra chốt cổng. Điều này thờng đợc gọi Đọc-sửa-ghi, (Read-Modify-Write). Bảng 8.5 liƯt kê cỏc lệnh đọc-sửa-ghi sử dụng cổng nh là toỏn hạng đích hay nói cách khỏc, chỳng ta chỉ đợc dựng cho cỏc cổng đợc cấu hỡnh nh cỏc cổng r Bảng 8.5: Cỏc lệnh đọc một chốt (Đọc-sưa-ghi). giả lƯnh Ví dụ ANL PX ANL P1, A ORL PX ORL P2, A XRL PX XRL P0, A JBC PX.Y, đích JBC P1.1, đích CPL PX CPL P1.2 INC PX INC P1 DEC PX DEC P2 DJN2 PX.Y, đích DJN2 P1, đích

MOV PX.Y, C MOV P1.2, C

CLR PX.Y CLR P2.3

SETB PX.Y SETB P2.3

L−u ý: Chỳng ta nờn nghiờn cứu phần C2 cđa phơ lơc Appendix C nếu ta nối phần cứng ngoài vào hệ 8051 của mỡnh. Thực hiện sai cỏc chỉ dẫn hoặc nối sai cỏc chõn cú thể làm hỏng cỏc cổng của hệ 8051.

8.4 Tóm l−ỵc.

Ch−ơng này đ[ mụ tả một trong cỏc đặc tớnh mạnh nhất của 8051 là phộp toỏn một bớt. Cỏc phộp toỏn một bớt này cho phộp lập trỡnh viờn thiết lập, xoỏ, di chuyển và bự cỏc bớt riờng rẽ của cỏc cổng, bộ nhớ hoặc cỏc thanh gh

Ngoài ra cú một số lệnh cho phộp thao tỏc trực tiếp với cờ nhớ CỴ Chúng ta cũng đ[ bàn về cỏc lệnh đọc cỏc chõn cổng thụng qua việc đọc chốt cổng.

8.5 Cỏc cõu hỏi kiểm tr

1. Các lƯnh “SETB A”, “CLR A”, “CPL A” đúng hay saỉ

2. Cỏc cổng vào/ ra nào và cỏc thanh ghi nào cú thể đỏnh địa chỉ theo bớt.

3. Cỏc lệnh dới đõy đỳng hay sa Đỏnh dấu lệnh đỳng.

Một phần của tài liệu GIÁO TRÌNH VI XỬ LÝ 8051 pdf (Trang 91 - 94)