Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Ky Thuat Bang(PIC) .pdf
MIỄN PHÍ
Số trang
7
Kích thước
203.5 KB
Định dạng
PDF
Lượt xem
1580

Ky Thuat Bang(PIC) .pdf

Nội dung xem thử

Mô tả chi tiết

Kỹ thuật bảng

0) Kiến thức cần biết

- Tập lệnh

- Bộ nhớ dữ liệu và bộ nhớ chương trình (Kiến trúc Harvard)

- Con trỏ chương trình

- Tổ chức bộ nhớ của PIC (các BANK)

- Khái niệm Stack

1) Giới thiệu về kỹ thuật bảng

Để hiểu về kỹ thuật bảng, trước tiên chúng ta xem ví dụ sau:

Giả sử chúng ta cần xuất dữ liệu ra màn hình LCD với dãy chữ : “PIC_Tutorial”. Ở

đây, chúng ta không cần quan tâm đến hoạt động của LCD và hình thức xuất dữ liệu

như thế nào. Chỉ cần các bạn nắm được rằng, để xuất dữ liệu như trên ra, chúng ta

phải xuất tuần tự các ký tự “P, I, C, _, T, u, t, o, r, i, a, l” ra. Vậy làm thế nào để xuất

được các chữ này ra?

Ở đây có hai vấn đề, vấn đề thứ nhất là làm sao lưu trữ được các giá trị này, vấn đề

thứ hai là làm sao sắp xếp thứ tự các chữ cái này để chúng ta gọi chúng ra một cách

tuần tự.

Trước tiên, chúng ta giải quyết vấn đề thứ hai trước, bởi vì nó rất đơn giản. Cách giải

quyết là thay vì chúng ta phải tìm các chữ cái trong bảng chữ cái (cả chữ in lẫn chữ

thường) để gọi ra vào đúng thời điểm cần xuất các chữ cái này ra, chúng ta sẽ đánh

dấu các chữ cái này với các chỉ số, và khi gọi thì chúng ta chỉ gọi chỉ số đầu tiên là 0

(hoặc 1, tuỳ theo sự quy định), sau đó, chúng ta cứ tăng chỉ số này lên 1 đơn vị, và

gọi tiếp chữ cái tiếp theo. Công việc này sẽ dừng lại khi nó đạt đến chỉ số cuối cùng.

Tiếp theo, đề giải quyết vấn đề lưu trữ các chữ cái này ở đâu, các bạn cần biết và hiểu

rõ khái niệm về bộ nhớ dữ liệu và bộ nhớ chương trình (hay bộ nhớ lệnh). Các bạn có

thể tham khảo phần bộ nhớ dữ liệu và bộ nhớ chương trình trong phần kiến trúc

Harvard và kiến trúc Von Neumann. Tuy nhiên, chúng ta sẽ nhắc lại rằng, đối với PIC

dòng Mid Range, bộ nhớ chương trình có 14 bit cho mỗi lệnh, vì vậy, cho dù các bạn

thực hiện lệnh nào đi nữa, thì lệnh đó luôn chiếm 14 bit trong bộ nhớ chương trình.

Mặt khác, bộ nhớ dữ liệu thì lại bị giới hạn và một lần tương tác với bộ nhớ dữ liệu,

các bạn phải thông qua thanh ghi W, như vậy, các bạn tốn thêm ít nhất 2 lệnh cho

việc tương tác với thanh ghi W.

Kết quả, cách thông minh nhất là lưu các dữ liệu đó vào trong bộ nhớ chương trình,

thay vì lưu nó vào trong bộ nhớ dữ liệu. Lại nhắc lại về tập lệnh, nếu các bạn để ý kỹ,

các bạn sẽ lại thấy rằng, có một số lệnh cho phép tương tác với giá trị k (8 bit), và giá

trị k này không lưu trữ trong bộ nhớ dữ liệu, mà lưu trong bộ nhớ chương trình.

Tải ngay đi em, còn do dự, trời tối mất!