You are on page 1of 3

1 Đúng

2 sai

3 sai

4 Đúng

5 Đúng

6 sai

7 vài chục byte cho mỗi thanh ghi

8 0 ->255

9 255 (2^8 - 1).

10 bit thứ 0 của thanh ghi trạng thái được gọi là bit cờ C

Bit thứ 1 của thanh ghi trạng thái được gọi là bit cờ DC

11 số -28 sẽ được biểu diễn dưới dạng nhị phân 8 bit là 1110 0100.

12 Vậy chu kỳ lệnh của PIC18 là 125 ns

13.

1. 13 Trình bày giá trị A1 dưới dạng số hexa với tiền tố "0x":
2. Trình bày giá trị A1 dưới dạng số hexa không có tiền tố:
3. Sử dụng lệnh bít và lệnh AND để trích xuất từng chữ số của giá trị A1 và lưu vào
các thanh ghi:
4. Sử dụng hằng số:
14. giá trị của C và DC vẫn là 0.

15

1. Chuyển đổi giá trị thập phân của 2A sang hệ hexa:


2A = 0010 1010 (bằng nhị phân)

= 0x2A (bằng hexa)

2. Thực hiện phép trừ 11 - 2A:


11

-2A

---

-19
Kết quả cuối cùng là số âm và được biểu diễn dưới dạng bù 2 vì giá trị của nó là âm.

16.

a. MOVLW 0x14 ANDLW 0x0F:

 Lệnh MOVLW 0x14 sẽ di chuyển giá trị 0x14 vào thanh ghi W.
 Lệnh ANDLW 0x0F sẽ AND giá trị của thanh ghi W với 0x0F (00001111b), giữ lại 4
bit thấp nhất và bỏ qua 4 bit cao nhất. Vậy kết quả của hai lệnh này là 0x04.

b. MOVLW 0x37 IORLW 0xA4:

 Lệnh MOVLW 0x37 sẽ di chuyển giá trị 0x37 vào thanh ghi W.
 Lệnh IORLW 0xA4 sẽ OR giá trị của thanh ghi W với 0xA4 (10100100b), đặt các bit
bằng 1 nếu một trong hai bit là 1. Vậy kết quả của hai lệnh này là 0xB7.

17

Để tính thời gian thực hiện chương trình, ta cần biết số chu kỳ thực hiện của
từng lệnh. Với tần số giao động thạch anh là 16 MHz, thời gian trung bình
thực hiện mỗi chu kỳ là 62.5 ns (1/16 MHz).

 Lệnh COUNT EQU 0x25: không tốn thời gian thực hiện.
 Lệnh MOVLW 0x10: tốn 1 chu kỳ.
 Lệnh MOVWF COUNT: tốn 1 chu kỳ.
 Vòng lặp AGAIN:
 Lệnh NOP: tốn 1 chu kỳ.
 Lệnh ADDLW 25H: tốn 1 chu kỳ.
 Lệnh DECF COUNT,F: tốn 1 chu kỳ.
 Lệnh BNZ AGAIN: tốn 2 chu kỳ nếu nhảy và 1 chu kỳ nếu không
nhảy.
 Lệnh MOVWF PORTB: tốn 1 chu kỳ.

Vậy tổng thời gian thực hiện chương trình là: 1 + 1 + (4 * (1+1+1+2)) + 1 = 18
chu kỳ.

Thời gian thực hiện chương trình tương ứng là: 18 * 62.5 ns = 1.125 µs.
18.

a. Sử dụng WREG:

MOVF 8, W ; Di chuyển dữ liệu từ thanh ghi vị trí 8 sang thanh ghi W

MOVWF PORTC ; Di chuyển dữ liệu từ thanh ghi W sang PORTC

b. Không sử dụng WREG:

MOVF 8, W ; Di chuyển dữ liệu từ thanh ghi vị trí 8 sang thanh ghi W

MOVWF FSR ; Di chuyển địa chỉ của PORTC vào thanh ghi FSR

MOVF W, W ; Di chuyển dữ liệu từ thanh ghi W sang thanh ghi W

MOVWF INDF ; Di chuyển dữ liệu từ thanh ghi W sang vị trí địa chỉ của POR

You might also like