Lệnh một bớt và lập trình 8.1 Lập trỡnh với ỏ lệnh một bớt.

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

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

c lệnh một bớt và lập trình 8.1 Lập trỡnh với ỏ lệnh một bớt.

8.1 Lập trỡnh với cỏc lệnh một bớt.

Trong hầu hết cỏc bộ vi xử lý (BVXL) thỡ dữ liệu đợc truy cập theo từng byt Trong các bộ vi xư lýnh địa chỉ theo byte này thỡ cỏc nội dung của một thanh ghi, bộ nhớ RAM hay cổng đều phải đợc truy cập từng byte một. Hay núi cỏch khỏc, lợng dữ liệu tối thiểu cú thể đợc truy cập là một bytẹ Ví dơ, trong bộ vi xư lý Pentium cỉng vào/ ra (I/O) đợc định hớng theo byte, cú nghĩa là để thay đỉi một bít thì ta phải truy cập tồn bộ 8 bớt. Trong khi đú cú rất nhiều ứng dụng thỡ ta phải chỉ cần thay đổi giỏ trị của một bớt chẳng hạn nh là bật hoặc tắt một thiết bị. Do vậy khả năng đỏnh địa chỉ đến từng bớt của 8051 rất thớch hợp cho ứng dụng nà Khả năng truy cập đến từng bớt một thay vỡ phải truy cập cả byte làm cho 805 trở thành trong những bộ vi điều khiển (BVĐK) 8 bớt mạnh nhất trờn thị trờng. Vậy những bộ phận nào của CPU, RAM, các thanh ghi, cổng I/O hoặc ROM là cú thể đỏnh địa chỉ theo bớt đợc. Vỡ ROM chỉ đơn giản dữ m[ chơng trỡnh thực thi nờn nú khụng cần khả năng đỏnh địa chỉ theo bớt. Tất cả mọi m[ lệnh đều định hớng theo byte chỉ cú cỏc thanh ghi, RAM và cỏc cổng I/O là cần đợc đỏnh địa chỉ theo bớt. Trong 8051 thỡ rất nhiều vị trớ của RAM trong một số thanh ghi và tất cả cỏc cổng I/O là cú thể đỏnh địa chỉ theo từng bớt. Dới đõy ta chỉ đi sõu vào từng phần một.

8.1.1 Các lƯnh một bít.

Các lƯnh dùng các phép tính một bớt đợc cho ở bảng 8.1. Trong phần này chỳng ta làm về cỏc lệnh này và đa ra nhiều vớ dụ về cỏch sử dơng chúng, các lƯnh một bớt khỏc mà chỉ liờn quan đến cờ nhớ CY (Cary Flag) sẽ làm ở mục khỏc.

Bảng 8.1: Các lƯnh một bít cđa 8051 Lệnh Chức năng SETB bít Thiết lập bít (bít bằng 1) CLR bít Xoỏ bớt về khụng (bớt = 0) CPL bít Bù bít (bít = NOT bít) JB bớt, đớch Nhảy về đích nếu bít = 1 JNB bớt, đớch Nhảy về đích nếu bít = 0

JBC bớt, đớch Nhảy về đớch nếu bớt = 1 và sau đú xoỏ bớt 8.1.2 Cỏc cổng I/O và khả năng đỏnh địa chỉ theo bít.

Bộ vi điỊu khiĨn 8051 có bốn cỉng I/O 8 bít là P0, P1, P2 và P3. Chúng ta có thĨ truy cập tồn bộ 8 bớt hoặc theo một bớt bất kỳ mà khụng làm thay đổi cỏc bớt khỏc cũn lạ Khi truy cập một cỉng theo từng bít, chúng ta sư dơng các cú pháp “SETB Y, Y” với X là số của cổng 0, 1, 2 hoặc 3, cũn Y là vị trớ bớt từ 0 đến 7 đối với cỏc bớt dữ liệu đo đến 7. Vớ dụ SETB P1.5 là thiết lập bít cao số 5 cđa cỉng 1. H[y nhớ rằng do 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 cỏc chơng trỡnh sau:

a) Tạo một súng vuụng (hàm xung vuụng) với độ đầy xung 50% trên bít 0 cđa cổng 1.

b) Tạo một hàm xung vuụng với 66% độ đầy xung trờn bớt 3 của cổng 1. Lời giải:

HERE: SETB P1.0 ;Thiết lập bít 0 cỉng 1 lên 1.

LCALL DELAY ;Gọi chơng trỡnh con giữ chậm DELAY CLR P1.0 ;P1.0 = 0

SJMP HERE ;Tiếp tơc thực hiƯn nó.

Có thĨ viết ch−ơng trỡnh này theo cỏch khỏc: HERE: CPL P1.0 ;Bù bít 0 cđa cỉng 1.

LCALL DELAY ;Gọi chơng trỡnh con giữ chậm DELAY SJMP HERE ;Tiếp tơc thực hiƯn nó.

b) Hàm xung vuụng với độ đầy xung 66% cú nghĩa là trạng thỏi bật cú độ dài gấp đụi trạng thỏi tắt.

BACK: SETB P1.3 ;Thiết lập bít 3 cỉng 1 lên 1. LCALL DELAY ;Gọi chơng trỡnh con DELAY LCALL DELAY ;Gọi chơng trỡnh con DELAY lần nữ CLR P1.3 ;Xoỏ bớt 3 của cổng 1 và 0.

LCALL DELAY ;Gọi chơng trỡnh con DELAY SJMP BACK ;Tiếp tơc thực hiƯn nó.

Lu ý rằng, khi m[ P1.0 đợc hợp dịch nú trở thành SETB 90H vỡ P1.0 cú địa chỉ trong RAM là 90h. Từ hỡnh vẽ 8.1 ta thấy rằng cỏc địa chỉ bít cho P0 là 80H đến 87H và cho P là 90H đến 97H v.v... Hỡnh 8.1 cũng chỉ ra tất cả cỏc thanh ghi cú khả năng đỏnh địa chỉ theo bớt.

Bảng 8.2: Khả năng đỏnh địa chỉ theo bít cđa các cỉng.

P0 P1 P2 P3 Port's Bit P0.0 P1.0 P2.0 P3.0 D0 P0.1 P1.1 P2.1 P3.1 D1 P0.2 P1.2 P2.2 P3.2 D2 P0.3 P1.3 P2.3 P3.3 D3 P0.4 P1.4 P2.4 P3.4 D4 P0.5 P1.5 P2.5 P3.5 D5 P0.6 P1.6 P2.6 P3.6 D6 P0.7 P1.7 P2.7 P3.7 D7 Ví dụ 8.2:

Đối với cỏc lệnh dới đõy thỡ trạng thỏi cđa bít nào cđa SFR sẽ bị tỏc động (h[y sư dơng hình 8.1).

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