chương lệnh bít lập trình 8.1 Lập trình với lệnh bít Trong hầu hết vi xử lý (BVXL) liệu truy cËp theo tõng byte Trong c¸c bé vi xư lýnh địa theo byte nội dung cđa mét ghi, bé nhí RAM hay cỉng ®Ịu phải truy cập byte Hay nói cách khác, lượng liệu tối thiểu truy cËp lµ mét byte VÝ dơ, bé vi xư lý Pentium cổng vào/ (I/O) định hướng theo byte, có nghĩa để thay đổi bít ta phải truy cập toàn bít Trong có nhiều ứng dụng ta phải cần thay đổi giá trị bít chẳng hạn bật tắt thiết bị Do khả đánh địa đến bít 8051 thích hợp cho ứng dụng Khả truy cập đến bít thay phải truy cập byte làm cho 805 trở thành vi điều khiển (BVĐK) bít mạnh thị trường Vậy phận CPU, RAM, ghi, cổng I/O ROM đánh địa theo bít Vì ROM đơn giản mà chương trình thực thi nên không cần khả đánh địa theo bít Tất mà lệnh định hướng theo byte có ghi, RAM cổng I/O cần đánh địa theo bít Trong 8051 nhiều vị trí RAM số ghi tất cổng I/O đánh địa theo bít Dưới ta sâu vào phần 8.1.1 Các lệnh bít Các lệnh dùng phép tính bít cho bảng 8.1 Trong phần làm lệnh đưa nhiều ví dụ cách sử dụng chúng, lệnh bít khác mà liên quan đến cờ nhớ CY (Cary Flag) làm mục khác Bảng 8.1: Các lệnh bít 8051 LÖnh SETB bÝt CLR bÝt CPL bÝt JB bÝt, đích JNB bít, đích JBC bít, đích Chức Thiết lập bít (bít 1) Xoá bít không (bít = 0) Bï bÝt (bÝt = NOT bÝt) Nh¶y vỊ ®Ých nÕu bÝt = Nh¶y vỊ ®Ých nÕu bÝt = Nhảy đích bít = sau xoá bít 8.1.2 Các cổng I/O khả đánh địa theo bít Bộ vi điều khiển 8051 cã cỉng I/O bÝt lµ P0, P1, P2 vµ P3 Chóng ta cã thĨ truy cËp toµn bít theo bít mà không làm thay đổi bít khác lại Khi truy cËp mét cỉng theo tõng bÝt, chóng ta sư dụng cú pháp SETB Y, Y với X số cổng 0, 1, 3, Y vị trí bít từ đến bít liệu đo đến Ví dụ SETB P1.5” lµ thiÕt lËp bÝt cao sè cđa cỉng H·y nhí r»ng lµ bÝt cã nghÜa thÊp nhÊt LSB vµ D7 lµ bÝt cã nghÜa lµ cao nhÊt MSB Xem vÝ dô 8.1 VÝ dô 8.1: ViÕt chương trình sau: a) Tạo sóng vuông (hàm xung vuông) với độ đầy xung 50% bít cổng b) Tạo hàm xung vuông với 66% độ đầy xung bít cổng Lời giải: a) Hàm xung vuông với độ đầy xung 50% có nghĩa trạng thái bật tắt (hoặc phần cao thấp xung) có độ dài Do vËy ta chèt P1.0 víi thêi gian gi÷ chËm trạng thái CuuDuongThanCong.com https://fb.com/tailieudientucntt HERE: SETB P1.0 LCALL DELAY CLR P1.0 SJMP HERE ;ThiÕt lËp bÝt cæng lên ;Gọi chương trình giữ chậm DELAY ;P1.0 = ;TiÕp tơc thùc hiƯn nã Cã thĨ viết chương trình theo cách khác: ;Bù bít cổng ;Gọi chương trình giữ chậm DELAY ;TiÕp tơc thùc hiƯn nã HERE: CPL P1.0 LCALL DELAY SJMP HERE 8051 P1.0 b) Hàm xung vuông với độ đầy xung 66% có nghĩa trạng thái bật có độ dài gấp đôi trạng thái tắt BACK: SETB P1.3 LCALL DELAY LCALL DELAY CLR P1.3 LCALL DELAY SJMP BACK ;Thiết lập bít cổng lên ;Gọi chương trình DELAY ;Gọi chương trình DELAY lần ;Xoá bít cổng ;Gọi chương tr×nh DELAY ;TiÕp tơc thùc hiƯn nã 8051 P1.0 Lưu ý rằng, mà P1.0 hợp dịch trở thành SETB 90H P1.0 có địa RAM 90h Từ hình vẽ 8.1 ta thấy địa bít cho P0 80H đến 87H cho P 90H đến 97H v.v Hình 8.1 tất ghi có khả đánh địa theo bít Bảng 8.2: Khả đánh địa theo bít cổng P0 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 P3 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Port's Bit D0 D1 D2 D3 D4 D5 D6 D7 VÝ dơ 8.2: §èi víi lệnh trạng thái bít SFR bị tác động (hÃy sử dụng hình 8.1) a) SETB 86H, b) CLR 87H, c) SETB 92H b) SETB DA7H, e) CLR 0F2H, f) SETB OE7H Lêi giải a) SETB b) CLR c) SETB CuuDuongThanCong.com 86H dµnh cho SETB 87H lµ dµnh cho CLR 92H lµ dµnh cho SETB P0.6 P0.7 P1.2 https://fb.com/tailieudientucntt d) SETB e) CLR f) SETB 0A7H lµ dµnh cho SETB P2.7 0F2H lµ dµnh cho CLR D2 cđa ghi B 0E7H lµ dµnh cho SETB ACC.7 (bÝt D7 cđa ghi A) 8.1.3 Kiểm tra bít đầu vào Lệnh JNB (nhảy bít = 0) JB (nhảy bít 1) phép thao tác đơn bít ®ỵc sư dơng réng r·i Chóng cho phÐp ta hiĨn thị bít thực định phụ thuộc vµo viƯc liƯu nã lµ hay lµ VÝ dụ 8.3: giả sử bít P2.3 đầu vào biểu diễn điều kiện lô Nếu bật lên có nghĩa lô nóng HÃy hiển thị liên tục, lên cao h·y gưi mét xung cao-xng-thÊp (Aigh-to-low) ®Õn cỉng P1.5 ®Ĩ bật còi báo Lời giải: HERE: JNB P2.3, HERE SETB P1.5 CLR P1.5 ; Duy trì hiển thị cao ; ThiÕt lËp P1.5 = ; Thùc hienĐ chun xung từ cao-xuống-thấp Các lệnh JNB JB dùng bít cổng I/O 0, 1, tất cổng có khả đánh địa theo bít Tuy nhiên, cổng để dùng cho tín hiệu ngắt truyền thông nối tiếp thông thường không dùng cho vào/ theo bít theo byte Điều bàn chương 10 11 8.1.4 Các ghi khẳ đánh địa theo bít Trong tất cổng I/O có khả đánh địa theo bít ghi lại không Ta nhìn thấy điều từ hình 8.1: ChØ gh B, PSW, IP, IE, ACC, SCON TCON đánh địa theo bít, ta tập trung vào ghi A, B PSW ghi khác đề cập chương sau Từ hình 8.1 hÃy để ý cổng PO gán địa bít 80H-87H Còn đại bít 88-8FH gán cho ghi TCON Cuối địa bít F0-F7H gán cho ghi B XÐt vÝ dơ 8.4 vµ 8.5 việc sử dụng ghi với khả đánh địa theo bít CuuDuongThanCong.com https://fb.com/tailieudientucntt Byte address Bit address FF F0 E7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW B8 BC BB BA B9 B0 B7 B6 B5 B4 B3 B2 A8 AF AC A0 A7 A6 A5 A4 99 98 9F 90 97 8D 8C 8B 8A 89 88 87 83 82 81 80 8F 87 B8 IP B1 B0 F3 AB AA A9 A8 IE A3 A1 A0 P2 9E not bit addressable 9D 9C 9B 9A 99 99 SBUF SCON 96 95 94 90 P1 8E 93 A2 92 not bit addressable not bit addressable not bit addressable not bit addressable not bit addressable 8D 8C 8B 8A not bit addressable 91 89 not bit addressable not bit addressable not bit addressable 86 85 84 83 82 81 Special Function Registers 88 80 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0 Hình 8.1: Địa chỉa theo Byte bít nhớ RAM ghi chức đặc biệt Ví dụ 8.4: HÃy viết chương trình để kiểm tra xem ghi tÝch luü cã chøa mét sè ch½n không? Nếu có chia cho 2, không hÃy làm chẵn sau chia cho Lêi gi¶i: YES: MOV JNB JNC DIX B, # ACC 0, YES A AB ; G¸n B = ; DO cña ghi A cã b»ng 0? ; Nếu có nhảy YES ; Nếu sô lẻ tăng lên để thành chẵn ; Chia A/B Ví dụ 8.5: HÃy viết đoạn chương trình để kiểm tra xem bít ghi B có giá trị cao không? Nếu đặt chúng lên lưu vào ghi bé CuuDuongThanCong.com https://fb.com/tailieudientucntt Lêi gi¶i: JNB OFOH, NEXT-1 SETB OFOH NEXT-1: JNB OF5H, NEXT-2 SETB OF5H NEXT-2: MOV RO, B CY AC RS1 0 1 RS0 1 ; Nh¶y vỊ NEXT-1 nÕu B.0 = ; Đặt B.0 = ; Nhảy NEXT-2 B.5 = ; Đặt B.5 = ; C¾t ghi B RS1 RS0 OV Register Bank P Address 00H - 07H 08H - 0FH 10H - 17H 18H - 1FH Hình 8.2: Các bít ghi PSW Như đà nói chương 2, than ghi PSW có hai bít dành riêng để chọn bảng ghi Khi RESET chọn, chọn băng khác cách sử dụng khả đánh địa theo bít PSW Ví dụ 8.6: HÃy viết chương trình để lưu ghi tích luỹ vào R7 băng Lời gi¶i: CLR SETB MOV PSW.3 PSW.4 R7.A VÝ dơ 8.7: Trong có hai lệnh JNC JC để kiểm tra bít cờ nhớ CY lại lệnh cho bít cờ tràn (0V) làm để ta cã thĨ viÕt m· kiĨm tra 0V Lêi gi¶i: Cê 0V lµ bÝt PSW.2 cđa ghi PSW PSW ghi đánh địa theo bít, vËy ta cã thĨ sư dơng lƯnh sau ®Ĩ kiĨm tra cê 0V: JB PSW.2, TARGET ; Nh¶y vỊ TARGET nÕu 0V = 8.15 Vïng nhí RAM cã thể đánh địa theo bít Trong 128 byte RAM cđa 8051 th× chØ cã 16 byte cđa nã đánh địa theo bít Phần lại định dạng byte Các RAM đánh địa theo bít 20H đến 2FH Víi 16 byte nµy cđa RAM cã thĨ cung cÊp khả đánh địa theo bít 128 bít, 16 = 128 Chúng đánh địa từ đến 127 Do vậy, địa bít từ đến dành cho byte đầu tiên, vị trí RAM 20H bít từ đến OFH địa bít byte thứ hai cđa vÞ trÝ RAM 21H v.v Byte ci 2FH có địa bít từ 78H đến 7FH (xem hình 8.3) Lưu ý vị trí RAM 20H đến 2FH vừa đánh địa theo byte vừa đánh địa theo bít Để ý từ hình 8.3 8.1 ta thấy địa bít 00 - 7FH thuộc địa byte RAM từ 20 - 2FH địa bít từ 80 đến F7H thuộc ghi đặc biệt SFR, cổng P0, P1, v.v VÝ dơ 8.8: H·y kiĨm tra xem c¸c bít sau thuộc byte nào? HÃy cho địa cđa byte RAM ë d¹ng Hex a) SETB 42H b) CLR 67H c) CLR 0FH d) SETB 28H CuuDuongThanCong.com ; Set bit 42H to ; Clear bit 67 ; Clear bit OFH ; Set bit 28H to https://fb.com/tailieudientucntt e) CLR f) SETB 12 05 ; Clear bit 12 (decimal) Lời giải: a) Địa bít 42H RAM thuộc bít D2 vị trí RAM 28H b) Địa chØ bÝt 67H cđa RAM thc bÝt D7 cđa vÞ trí RAM 20H c) Địa bít 0FH RAM thuộc bít D7 vị trí RAM 21H d) Địa chØ bÝt 28H cđa RAM thc bÝt D0 cđa vÞ trí RAM 25H e) Địa bít 12H RAM thuộc bít D4 vị trí RAM 21H f) Địa chØ bÝt 05H cđa RAM thc bÝt D5 cđa vÞ trí RAM 20H Ví dụ 8.9: Trạng thái bít P1.2 P1.3 cổng vào/ra P1 phải lưu cất trước chúng thay đổi HÃy viết chương trình để lưu trạng thái P1.2 vào vị trí bít 06 trạng thái P1.3 vào vị trí bÝt 07 Lêi gi¶i: CLR CLR JNB SETB OVER: JNB SETB NEXT: 06 07 P1.2, OVER 06 P1.3, NEXT 07 ;Xoá địa bít 06 ; Xoá địa bÝt 07 ;KiĨm tra bÝt P1.2 nh¶y vỊ OVER nÕu P1.2 = ; Nếu P1.2 thiết lập vị trÝ bÝt 06 = ;KiĨm tra bÝt P1.3 nh¶y vỊ NEXT nÕu nã = ;NÕu P1.3 = 1th× thiết lập vị trí bít 07 = Các câu hỏi ôn luyện: Tất cổng I/O 8051 có khả đánh địa theo bít? (đúng sai) Tất ghi 8051 có khả đánh địa theo bít? (đúng sai) Tất vị trí RAM 8051 có khả đánh địa theo bít? (đúng sai) HÃy ghi sau có khả đánh địa theo bít: a) A, b) B, (c) R4 (d) PSW (e) R7 Trong 128 byte RAM 8051 byte có khả đánh địa theo bít HÃy liệt kê chúng Làm để kiểm tra xem bít D0 R3 giá trị cao hay thấp HÃy tìm xem bít dau thuộc byte nào? HÃy cho địa byte RAM theo sè Hex: a) SETB 20 d) SETB 95 b) CLR 32 e) SETB 0ETB 12H c) SETB 12H Các địa bít 00 - 7FH 80 - F7H thuộc vị trí nhớ nào? Các cổng P0, P1, P2 vµ P3 lµ mét bé phËn cđa SFR? (đúng sai) 10 Thanh ghi TCON đánh địa theo bít (đúng sai) 8.2 Các phép toán mét bÝt víi cê nhí CY Ngoµi mét thùc tÕ cờ nhớ CY thay đổi lệnh lô-gíc số học 8051 có số lệnh mà thao tác trực tiếp cờ nhớ CY Các lệnh cho bảng 8.3 Trong lệnh sau bảng 8.3 đà trình bày công dụng lệnh JNC, CLR vµ SETB nhiỊu vÝ dơ mét số chương trước Dưới ta tiếp tục làm quen víi mét sè vÝ dơ vỊ c¸ch s dơng số lệnh khác từ bảng 8.3 CuuDuongThanCong.com https://fb.com/tailieudientucntt Một số lệnh cho bảng 8.3 làm việc với phép toán lô-gíc AND OR Các ví dụ mục cách sử dụng chúng nào? chương nhiỊu vÝ dơ h¬n vỊ viƯc sư dơng cđa lệnh đơn phạm vi ứng dụng thực tế Bảng 8.3: Các lệnh liên quan đến cờ nhớ CY LÖnh SETB C CLR C CPL C MOV b, C MOV C, b JNC ®Ých JC ®Ých ANL C bÝt ANL C./ bÝt ORL C bÝt ORL C./ bÝt chức Thực (tạo) CY = Xoá bít nhí CY = Bï bÝt nhí Sao chÐp tr¹ng thái bít nhớ vào vị trí bít b = CY Sao chép bít b vào trạng thái bít nhớ CY = b Nhảy tới đích CY = Nhảy tíi ®Ých nÕu CY = Thùc hiƯn phÐp AND víi bÝt b vµ lu vµo CY Thùc hiƯn phÐp AND với bít đảo lưu vào CY Thực phÐp OR víi bÝt vµ lu vµo CY Thùc hiƯn phép OR với bít đảo lưu vào CY Ví dụ 8.10: HÃy viết chương trình để lưu cất trạng thái bít P1.2 P1.3 vào vị trí nhớ tương ứng RAM Lời gi¶i: MOV MOV MOV MOV C, P1.2 06, C C, P1.3 07, C ; Lưu trạng thái P1.2 vào CY ; Lưu trạng thái CY vào bít RAM ; Lưu trạng thái P1.2 vào CY ; Lưu trạng thái CY vào vị trí RAM 07 Ví dụ 8.11: giả sử vị trí nhớ 12H RAM giữ trạng thái việc có điện thoại hay không Nếu trạng thái cao có nghĩa đà có gọi kiểm tra lần cuối HÃy viết chương trình để hiển thị có lời nhắn (New Message) hình LCD bít 12H RAM có giá trị cao Nếu có giá trị thấp LCD hiển thị lời nhắn (No New Message) Lời giải: NO: MOV C, 12H JNC NO MOV DPTR, # 400H LCAL DISPLAY SJMP NEXT MOV DSTR, #420H LCAL DISPLAY EXIT: ; YES-MG: NO-MG: ORG DB ORG DB ; Sao trạng thái bít 12H cđa RAM vµo CY ; KiĨm tra xem cê CY có giá trị cao không ; Nếu nạp địa lời nhắn ; Hiển thị lời nhắn ; Thoát ; Nạp địa lời nhắn ; Hiển thị Thoát data to be displayed on LCD 400H “NEW Message” 420H “No New Message” VÝ dô 8.12: CuuDuongThanCong.com https://fb.com/tailieudientucntt giả sử bít P2.2 dùng để kiểm tra đèn bít P2.5 dùng để kiểm tra đèn nhà HÃy trình bày làm để bật đèn tắt đèn nhà Lời giải: SETB ORL MOV CLR ANL MOV C C, P2.2, C P2.2, C C C, P2.5 P2.5, C ; Đặt CY = ; Thực phép OR víi CY ; BËt ®Ìn nÕu nã cha bËt ; Xo¸ CY = ; CY = (P2.5 AND CY) ; Tắt nó chưa tắt Câu hỏi ôn luyện: Tìm trạng thái cờ CY sau đoạn mà đây: a) CLR ADD JWC CPL OVER: A A, #OFFH OVER C b) CLR C JNC OVER SETB C OVER: c) CLR C JC OVER CPL C OVER: HÃy trình bày cách làm để lưu trạng thái bít P2.7 vào vị trí bít 31 RAM HÃy trình bày chuyển trạng thái bít 09 RAM đến bít P1.4 8.3 Đọc chân đầu vào thông qua chốt cổng Trong việc đọc cổng số lệnh đọc trạng thái chân cổng, số lệnh khác đọc số trạng thái chốt cổng Do vậy, đọc cổng có hai khả năng: Đọc trạng thái chân vào Đọc chốt cổng Chúng ta phải phân biệt hai dạng lệnh lẫn lộn chúng nguyên nhân lỗi lập trình cho 8051, đặc biệt đà kết nối với phần cứng bên Trong phần ta bàn sơ qua lệnh Tuy nhiên, độc giả phải nghiên cứu hiểu nội dung chủ đề hoạt động bên cổng cho phụ lục Appendix C2 8.3.1 Các lệnh đọc cổng vào Như đà nói chương để biến bít cổng 8051 thành cổng đầu vào, phải ghi (lô-gíc cao) vào bít Ssu cấu hình bít cổng đầu vào, ta sử dụng lệnh định để nhận liệu chân vào CPU Bảng 8.4 lệnh nói Bảng 8.4: Các lệnh đọc cổng vào MOV JNB JB MOV Giả lệnh A, PX PX.Y, PX.Y, C, PX.Y MOV JNB JB MOV VÝ dụ A, P2 P2.1, đích P1.3, đích C, P2.4 Mô tả Chuyển liêuj chân P2 vào ACC Nhảy tới đích nếu, chân P2.1 = Nhảy đích nếu, chân P1.3 = Sao trạng thái chân P2.4 vào CY 8.3.2 Đọc chốt cho cổng đầu Một số lƯnh néi dung cđa mét chèt cỉng thay cho việc đọc trạng thái chân Bảng 8.5 cung cấp danh sách lệnh Ví dụ, xét lệnh ANL P1, A Trình tự thao tác thực hiƯn bëi lƯnh nµy nh sau: CuuDuongThanCong.com https://fb.com/tailieudientucntt Nó đà chốt cổng chuyển liệu vào CPU Dữ liệu ®ỵc AND víi néi dung cđa ghi A KÕt ghi ngược lại chốt cổng Dữ liệu chân cổng thay đổi có giá trị chốt cổng Từ bàn luận ta kết luận rằng, lệnh đọc chốt cổng thường đọc giá trị, thực phép tính (và thay đổi nó) sau ghi ngược lại chốt cổng Điều thường gọi Đọc-sửa-ghi, (Read-Modify-Write) Bảng 8.5 liệt kê lệnh đọc-sửa-ghi sử dụng cổng toán hạng đích hay nói cách khác, dùng cho cổng cấu cổng Bảng 8.5: Các lệnh đọc chốt (Đọc-sửa-ghi) giả lệnh ANL ORL XRL JBC CPL INC DEC DJN2 MOV CLR SETB PX PX PX PX.Y, ®Ých PX PX PX PX.Y, ®Ých PX.Y, C PX.Y PX.Y VÝ dơ ANL ORL XRL JBC CPL INC DEC DJN2 MOV CLR SETB P1, A P2, A P0, A P1.1, ®Ých P1.2 P1 P2 P1, ®Ých P1.2, C P2.3 P2.3 Lu ý: Chúng ta nên nghiên cứu phần C2 phụ lục Appendix C ta nối phần cứng vào hệ 8051 Thực sai dẫn nối sai chân làm hỏng cổng hệ 8051 8.4 Tóm lược Chương đà mô tả đặc tính mạnh 8051 phép toán bít Các phép toán bít cho phép lập trình viên thiết lập, xoá, di chuyển bù bít riêng rẽ cổng, nhớ ghi Ngoài có sè lƯnh cho phÐp thao t¸c trùc tiÕp víi cê nhớ CY Chúng ta đà bàn lệnh đọ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 tra Các lệnh SETB A, CLR A, CPL A hay sai? Các cổng vào/ ghi đánh địa theo bít Các lệnh hay sai? Đánh dấu lệnh a) SETB b) SETB c) CLR d) CRL P1 P2.3 ACC.5 90H e) SETB B4 f) CLR 80H g) CLR PSW.3 h) CLR 87H HÃy giết chương trình tạo xung vuông với độ đầy xung 75%, 80% chân P1.5 P2.7 tương ứng Viết chương trình hiển thị P1.4 có giá trị cao chương trình tạo âm (sóng dung vuông 50% độ đầy xung) chân P2.7 Nhưng địa bít gán cho cổng P0, P1, P2 P3 cho ghi PCON, A, B PSW Những địa bít thuộc cổng hay ghi nµo? a) 85H f) A5H b)87H c) 88H d)8DH g)A7H h) B3H i) D4H j) D8H CuuDuongThanCong.com e)93H https://fb.com/tailieudientucntt HÃy viết chương trình lưu ghi A, B vào R3 R5 băng nhớ tương ứng Cho lệnh khác cho CLR C, so sánh chúng 10 Làm để kiểm tra trạng thái bít cờ OV, CY, P AC HÃy tìm địa bít cờ 11 Các nhớ 128 byte RAM vùng đánh địa theo bít được? HÃy đánh dấu chúng 12 Các địa sau thuộc vùng RAM nµo? a) 05H g) 15H b) 47 c) 18H h) 67H h) 55H i) 14H d) 2DH e) 53H k) 37FH 13 Các địa nhỏ 80H gán cho địa 20-2FH RAM phải không? (Đúng/ sai) 14 Viết lệnh để lưu cờ CY, AC, D vào vị trí bít 4, 16H 12H tương ứng 15 Viết chương trình kiểm tra D7 ghi A Nếu D7 = gửi thông báo sang LCD báo ACC có số âm CuuDuongThanCong.com https://fb.com/tailieudientucntt ... phÇn cứng vào hệ 8051 Thực sai dẫn nối sai chân làm hỏng cổng hệ 8051 8.4 Tóm lược Chương đà mô tả đặc tính mạnh 8051 phép toán bít Các phép toán bít cho phép lập trình vi? ?n thiết lập, xoá, di... cổng vào Như đà nói chương để biến bít cổng 8051 thành cổng đầu vào, phải ghi (lô-gíc cao) vào bít Ssu cấu hình bít cổng đầu vào, ta sử dụng lệnh định để nhận liệu chân vào CPU Bảng 8.4 lệnh. .. thực tế cờ nhớ CY thay đổi lệnh lô-gíc số học 8051 có số lệnh mà thao tác trực tiếp cờ nhớ CY Các lệnh cho bảng 8.3 Trong lệnh sau bảng 8.3 đà trình bày công dụng lệnh JNC, CLR SETB nhiều ví