tóm tắt luận văn thạc sĩ kỹ thuật nghiên cứu thiết kế thiết bị huấn luyện báo vụ trên công nghệ DSPIC - Pdf 30

Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
LỜI MỞ ĐẦU
Đối với quân đội ta nhiệm vụ trọng tâm trong thời bình là huấn luyện chiến
đấu để đảm bảo cho bộ đội có đủ sức mạnh tinh thần, vật chất sẵn sàng hoàn thành
các nhiệm vụ được giao.
Quán triệt chủ trương hiện đại hoá quân đội. Đáp ứng các yêu cầu ngày càng
tăng của công tác huấn luyện quân sự trong thời kỳ đổi mới và hiện đại.
Sự phát triển vượt bậc của khoa học kỹ thuật trong những năm gần đây. Đối
với lĩnh vực quân sự, công nghệ điện tử, tin học nói chung và kỹ thuật vi xử lý nói
riêng được ứng dụng để cải tiến, nâng cấp và chế tạo ra các trang thiết bị mới phục
vụ huấn luyện chiến đấu và sẵn sàng chiến đấu.
Hiện nay phương thức truyền tin vô tuyến điện báo MORSE (Bảng mã
MORSE chính là cở sở để mã hoá / giải mã thông tin khi thực hiện truyền tin vô
tuyến điện báo) vẫn là phổ biến. Qua quá trình học tập, cùng với sự tìm hiểu tại các
đơn vị thông tin. Tôi nhận thấy rằng các trang thiết bị dùng cho huấn luyện báo vụ
hiện nay còn rất thô sơ. Chính vì vậy, phải sử dụng phương pháp huấn luyện thủ
công là chủ yếu. Từ đó chất lượng huấn luyện báo vụ, cũng như trình độ của đội
ngũ nhân viên báo vụ hiện nay còn nhiều hạn chế.
Thông qua nội dung các môn học của khoá học, Đã trang bị các kiến thức rất
đầy đủ về lập trình chương trình điều khiển cho các ONCHIP, cũng như các kiến
thức về thiết kế các mạch điện chức năng có ứng dụng các ONCHIP. Trên cơ sở của
bộ vi xử lý cơ bản của hãng Intel, ngày nay với công nghệ cao người ta đã chế tạo
ra các bộ vi xử lý ONCHIP có tốc độ xử lý nhanh, dung lượng bộ nhớ ROM, RAM
lớn và tích hợp sẵn nhiều chức năng. Tiểu biểu là các ONCHIP như 89, AVR,
đặc biệt là PIC và DSPIC do hãng MICROCHIP sản xuất.
PIC, DSPIC phù hợp với tất cả các ứng dụng từ đơn giản đến phức tạp. Đặc
biệt nó rất phù hợp khi giải quyết các bài toán về điều khiển, nên người ta còn gọi
nó là vi điều khiển PIC, DSPIC.
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
1

Vi điều khiển thực chất là một cấu trúc siêu nhỏ, nó bao gồm các linh kiện
điện tử có kích thước cỡ MICRO hoặc NANO. Các linh kiện này được kết hợp với
nhau, sau đó được nối tới các thiết bị bên ngoài thông qua các chân của vi điều
khiển. Chính vì vậy khi hiểu được kiến trúc của vi điều khiển, chúng ta sẽ rất thuận
tiện khi sử dụng chúng vào ứng dụng của mình.
Kiến trúc của vi điều khiển, cũng giống như kiến trúc máy tính. Các vi điều
khiển hiện nay, thường phổ biến ở một trong hai dạng kiến trúc sau. Kiến trúc VON
NEUMANN, và kiến trúc HARVARD. Sự khác nhau giữa hai kiến trúc này, là ở
chỗ việc tổ chức bộ nhớ dữ liệu và bộ nhớ chương trình.
Kiến trúc VON NEUMANN tổ chức bộ nhớ dữ liệu và bộ chương trình
chung với nhau, do vậy vi điều khiển có kiến trúc này sẽ sử dụng chung đường
truyền (BUS). Ưu điểm của vi điều khiển có kiến trúc này là tận dụng được tài
nguyên bộ nhớ, nhưng nhược điểm là tốc độ xử lý không đạt cao.
Còn kiến trúc HARVARD lại tách rời bộ nhớ dữ liệu và bộ nhớ chương
trình, do đó đường truyền (BUS) của nó được tách riêng ra. Vì vậy vi điều khiển có
kiến trúc này là đạt tốc độ xử lý cao, nhưng nhược điểm là không tận dụng được tài
nguyên bộ nhớ. Mặt khác đường truyền dữ liệu và đường truyền lệnh điều khiển, có
thể có dung lượng khác nhau.
Hiện nay có 3 họ vi điều khiển nổi tiếng, đó là 8051 (Bao gồm cả AVR),
MOTOROLA và PIC (Bao gồm cả DSPIC). Để hiểu được vi điều khiển, sử dụng
thành thạo nó chúng ta cần phải có các kiến thức sau:
- Tìm hiểu về kiến trúc máy tính, cơ bản về kiến trúc VON MEUMANN,
kiến trúc HARVARD;
- Tìm hiểu khái niệm RISC, CISC;
- Khái niệm thanh ghi;
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
3
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
- Khái niệm STACK;

Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
chương trình bên trong của nó bằng mạch điện thông thường. Nhóm thứ hai theo
cách phân chia này, đó là số còn lại với các chữ cái F, hoặc LF và duy nhất 16C84.
Nhóm này là nhóm FLASH, cho phép ghi xoá bằng các mạch điện tử thông thường
(Ngày nay người ta còn sản xuất các loại này). Chúng ta gọi nhóm này là nhóm
FLASH, nhưng thực tế thì nó bao gồm cả nhóm EEPROM và FLASH. Tuy nhiên,
vì chung đặc điểm là có thể ghi xoá nhiều lần nên chúng ta gọi chung thành nhóm
FLASH.
Phân loại PIC theo hai con số đầu tiên của sản phẩm: Đây là cách phân loại
thông dụng, bởi vì các họ PIC và DSPIC hiện này đều thuộc nhóm FLASH. Do vậy
cách phân loại này sẽ nói lên được sự khác nhau của các họ vi điều khiển PIC và
DSPIC. Loại thứ nhất là dòng PIC cơ bản (BASE-LINE), gồm các PIC 12Cxxx,
loại thứ hai là các dòng PIC 10,12F và 16, gọi là dòng phổ thông (MID-RANGE).
Loại thứ ba là dòng PIC 18 (HIGH-END). Sự khác nhau của các dòng này chính là
độ dài lệnh (INSTRUCTION WORD LENGTH), với dòng BASE-LINE có độ dài
lệnh là 12 BIT, MID-RANGE có độ dài lệnh là 14 BIT và HIGH-END có độ dài từ
lệnh là 16-BIT. Tuy nhiên các dòng PIC có độ dài từ lệnh lớn hơn thì thường có bộ
nhớ ROM, RAM lớn hơn, tích hợp sẵn nhiều chuẩn giao tiếp ví dụ:
Dòng PIC 16F8xxA đây là dòng PIC MID-RANGE, thông dụng nhất hiện
nay ở Việt Nam là PIC 16F877A. Cấu hình cụ thể của dòng này như sau:
Bảng 1-1. Cấu hình của PIC16FxxxA
Từ bảng trên chúng ta thấy rằng PIC 16F877A có cấu hình như sau:
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
5
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
- Bộ nhớ chương trình (PROGRAM MEMORY): 14.3 KBYTES.
- Số lệnh điều khiển (WORD INSTRUCTIONS): 8192 lệnh.
- Bộ nhớ SRAM: 368 BYTES.

Còn đối với dòng DSPIC cũng có cấu hình cụ thể như sau:
Bảng 1-3. Cấu hình của DSPIC30Fxxxx
1.2. Cấu trúc của PIC, DSPIC
1.2.1. Cấu trúc bộ chân cắm
PIC và DSPIC thường có cấu trúc vỏ chíp (Bộ chân cắm) kiểu QFN, TQFP nhưng
thông dụng nhất vẫn là kiểu PDIP. Cụ thể như sau:
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
7
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
Hình 1-1. Cấu trúc bộ chân cắm QFN, TQFP của PIC
Hình 1-2. Cấu trúc bộ chân cắm PDIP của DSPIC và PIC
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
8
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
1.2.2. Chức năng các chân của vi điều khiển
Một chân của vi điều khiển thường có nhiều chức năng, nhưng tại một thời
điểm nó chỉ thực hiện được một chức năng cụ thể. Việc thực hiện chức năng nào là
do người lập trình quy định, chức năng của một chân có thể được thay đổi khi vi
điều khiển đang hoạt động. Thông thường các chân của vi điều khiển được chia
thành các nhóm sau đây:
- Các chân dùng để cấp nguồn.
- Các chân dùng để nối tới thạch anh.
- Các cổng I/O.
- Các chân chức năng.
Ví dụ vi điều khiển 18F4550, chức năng của các chân cơ bản như sau:
Trong đó các chân cơ bản có chức năng như sau:
+ Các chân cấp nguồn:
- Chân 11, 32 (VDD).

vậy sẽ không nạp được cho DSPIC.
+ Các kiểu mạch nạp phổ biến hiện nay
- Mạch nạp kết nối qua cổng song song (Hay còn gọi là LPT): Ưu điểm của
loại mạch nạp có kết nối kiểu này là tốc độ nạp nhanh, an toàn cho PIC. Nhược
điểm là do các máy tính hiện nay thường không có cổng LPT, do vậy mạch nạp này
ít được sử dụng; Đồng thời thường không hỗ trợ nạp cho DSPIC.
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
10
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
Hình 1-4. Mạch nạp PIC-PG3
Hình 1-5. Phần mềm điều khiển nạp WINPIC800
- Mạch nạp kết nối qua cổng nối tiếp (COM): Mạch nạp loại này thường có
kết cấu đơn giản nhất trong tất cả các loại mạch nạp, do vậy nó rất gọn nhẹ. Đồng
thời mạch nạp loại này thường lấy điện áp từ cổng COM, để làm nguồn cung cấp
cho mạch hoạt động. Loại mạch nạp này có nhược điểm là thường không hỗ trợ nạp
cho DSPIC, không đảm bảo an toàn cho PIC khi nạp. Bởi vì chúng sử dụng trực
tiếp nguồn điện từ cổng COM, để làm điện áp lập trình khi nạp.
Mặt khác các LAPTOP hiện nay, thường không có sẵn cổng COM. Khi sử
dụng bộ chuyển đổi USB to COM, thì mạch nạp loại này không thể hoạt động được.
Mạch nạp có kết nối cổng COM, cũng sử dụng phần mềm điều khiển
WINPIC, hoặc ICPROG. Ngoài nạp được cho hầu hết các loại PIC, mạch này còn
có thể nạp được cho các loại EPROM loại 24Cxxx và tương đương.
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
11
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
Hình 1-6. Mạch nạp PIC-PG1 Hình 1-7. PIC-ICS/ICD Connector
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
12

Tiến

1.4. Các chương trình hỗ trợ viết mã và biên dịch cho PIC, DSPIC
Sự ra đời của một loại vi điều khiển, đi kèm với việc phát triển phần mềm
ứng dụng cho việc lập trình cho con vi điều khiển đó. Vi điều khiển chỉ hiểu và làm
việc với hai con số 0 và 1. Ban đầu để lập trình cho vi điều khiển là làm việc với
dãy các con số 0 và 1. Sau này khi kiến trúc của vi điều khiển ngày càng phức tạp,
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
15
Hình 1-14. Mạch nạp GTP-USB
Hình 1-15. Phần mềm điều khiển nạp MPLAB-IDE
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
số lượng thanh ghi lệnh nhiều lên. Việc lập trình với dãy các số 0 và 1 không còn
phù hợp nữa, đòi hỏi phải có sự ra đời của các ngôn ngữ lập trình cho vi điều khiển.
Chúng ta có thể viết mã lệnh cho PIC, DSPIC bằng bất cứ một phần mềm
soạn thảo nào đó. Sau đó sử dụng trình biên dịch phù hợp để dịch sang dạng Hex,
rồi nạp cho PIC hoặc DSPIC. Nhưng chúng ta muốn nhận được sự hỗ trợ khi lập
trình, thì chúng ta phải sử dụng một trong các phần mềm chuyên dùng sau đây:
- MPLAB: Đây là phần mềm viết mã, biên dịch và điều khiển nạp của hãng
MICROCHIP. Nguyên bản của phần mềm này chỉ cho phép chúng ta viết mã lệnh
cho PIC, và chỉ dùng ngôn ngữ AMSEMBLY (ASM). Tuy nhiên khi kết hợp
(Nhúng) thêm với CCS, thì MPLAB cho phép viết mã với ngôn ngữ C và cho cả
được với DSPIC.
Ưu điểm của MPLAB, khi viết mã bằng ASM là khi biên dịch file *.Hex có
kích thước nhỏ. Đây là ưu điểm nổi trội, duy nhất chỉ có được ở MPLAB.
Nhưng nhược điểm của MPLAB là việc lập trình thường rất khó khăn, đòi
hỏi người lập trình phải nắm chắc được cấu trúc của PIC; Cũng như các kiến thức
về vi xử lý Mặt khác trong MPLAB thường không có sẵn các thư viện (Hàm và
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp

Ưu điểm của CCS là dùng ngôn ngữ C, nên chương trình rất mạch lạc, rõ
ràng. Câu lệnh lập trình đơn giản, ngắn gọn. Có rất nhiều các thư viện, để hỗ trợ
viết mã. Sau cùng là kích thước file *.Hex khi biên dich xong cũng vừa phải (Trong
giới hạn chấp nhận được).
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
17
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
Nhược điểm lớn nhất của CCS là trong quá trình biên dịch có thể phát sinh
mã dạng Hex sai; Do vậy nhiều khi chúng ta lập trình rất rõ ràng nhưng PIC vẫn
làm việc không đúng theo yêu cầu, hoặc cho kết quả sai. Để tránh được điều này,
đòi hỏi
người lập trình phải có nhiều kinh nghiệm. Đơn giản hoá các thuật toán phức tạp,
tránh những cấu trúc lệnh có thể dẫn đến lỗi phát sinh mã Hex sai.
Cấu trúc một chương trình viết bằng C trong môi trường CCS như sau:
#include <18F4431.h> //header file
#use delay //khai báo tần số thạch anh.
#fuses //khai báo cấu hình cần sử dụng
Khai báo các biến toàn cục.
Chương trình ngắt.
Các chương trình con.
Main //Chương trình chính.
{
Gọi các chương trình con.

}
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
18
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến

- PCB biên dịch cho dòng PIC 12-BIT.
- PCM biên dịch cho dòng PIC 14-BIT.
- PCH biên dịch cho dòng PIC 16 và 18-BIT.
Tất cả 3 trình biên dịch này được tích hợp lại vào trong một chương trình bao
gồm cả soạn thảo và biên dịch là CCS, phiên bản mới nhất hiện nay là PCWH
COMPILER VER 3.227 cho phép biên dịch được cả cho DSPIC.
Giống như nhiều trình biên dịch C khác cho PIC, CCS giúp cho chúng ta
nắm bắt nhanh chóng được vi điều khiển PIC, DSPIC và sử dụng chúng trong các
dự án. Các chương trình điều khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả
cao thông qua việc sử dụng ngôn ngữ lập trình cấp cao - ngôn ngữ C.
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
20
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
Ngoài ra CCS còn cho phép chèn các đoạn mã ASSEMBLY trong chương
trình, hoặc nhúng CCS vào trong môi trường lập trình và biên dịch MPLAB, để cho
MPLAB có thể lập trình và biên dịch được bằng ngôn ngữ C.
2.2. Lập trình ghi đọc trên các PORT
Việc lập trình ghi / đọc trên các cổng, hay còn gọi là lập trình nhập / xuất dữ
liệu trên các cổng của PIC là dạng lập trình đơn giản nhất. Một PIC thông dụng
thường có các PORT sau:
Tuỳ từng loại PIC mà số lượng các PORT và số chân của từng PORT sẽ
khác nhau. Đồng thời cũng tuỳ từng loại PIC mà địa chỉ của từng PORT cũng khác
nhau, chẳng hạn với PIC 16F877A thì PORT B có địa chỉ cổng là 0x6, còn với PIC
18F4550 thì PORT B lại có địa chỉ là 0xF81.
Một PORT có hai địa chỉ đó là địa chỉ cổng và địa chỉ SET_TRIS; Địa chỉ
SET_TRIS cho phép chúng ta xác định PORT đó là nhập hay xuất dữ liệu ra. Nếu
gán cho các chân của PORT trong địa chỉ SET_TRIS đều bằng 1, thì PORT chỉ có
thể nhận dữ liệu vào. Ngược lại nếu gán các chân của PORT trong địa chỉ
SET_TRIS đều bằng 0, thì PORT đó chỉ có thể xuất dữ liệu ra.

2 2
2 7
2 8
2 9
3 0
1 3
1 4
3 2
1 1
3 1
1 2
1
8
9
1 0
R A 0 / A N 0
R A 1 / A N 1
R A 2 / A N 2 / V R E F - / C V R E F
R A 3 / A N 3 / V R E F +
R A 4 / T 0 C K I / C 1 O U T / R C V
R A 5 / A N 4 / S S / H L V D I N / C 2 O U T
R B 0 / A N 1 2 / I N T 0 / F L T 0 / S D I / S D A
R B 1 / A N 1 0 / I N T 1 / S C K / S C L
R B 2 / A N 8 / I N T 2 / V M O
R B 3 / A N 9 / C P P 2 / V P O
R B 4 / A N 1 1 / K B I 0 / C S S P P
R B 5 / K B I 1 / P G M
R B 6 / K B I 2 / P G C
R B 7 / K B I 3 / P G D
R C 0 / T 1 O S O / T 1 3 C K I

Hình 2-1. Các Port của PIC 18F4550
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
- Trong đó: PIN là tên chân của PIC.
- Chức năng: Thiết lập mức thấp, hoặc mức cao cho một chân của PIC.
- Ví dụ: Output_low(C0): Thiết lập mức thấp cho chân C0 của PIC.
+ Output_BIT(PIN,value):
- Trong đó: Value bằng 0 hoặc 1.
- Chức năng: Hàm này xuất giá trị 0 hoặc 1 ra 1 chân của PIC. Thường dùng
nó khi giá trị ra tuỳ thuộc vào giá trị của một biến nào đó.
- Ví dụ: Output_BIT(C0,docphim): Xuất ra chân Co giá trị của biến docphim
(kiểu biên int1).
+ Input(PIN):
- Chức năng: Hàm này trả về giá trị o hay 1chính là trạng thái của 1 chân của
PIC.
- Ví dụ: a=input(C1): Đọc trạng thái của chân C1 gán vào biên a (Biến a có
thể là int1, hoặc int8).
+ Output_X(value):
- Trong đó: X là tên của PORT.
- Chức năng: Xuất giá trị của một biến ra một cổng có tên được xác định bởi
X.
- Ví dụ: Output_D(docphim): Xuất giá trị của biến docphim ra PORT D
(Biến docphim phải là int8).
+ Input_X():
- Chức năng: Hàm này trả về một giá trị 8 BIT chính là trạng thái của PORT
được xác định bởi X.
- Vi dụ: doc_PORT=input_A: Lấy giá trị của PORT A gán vào biến
doc_PORT (biến doc_PORT phải là int8).
Ngoài các cách xuất / nhập trực tiếp nêu trên, chúng ta còn có thể gán một
PIN hay một PORT của PIC cho một biến nào đó. Sau đó chỉ việc thao tác trên biến

hoặc nhận các giá trị từ PC để xử lý và điều khiển. Chẳng hạn khi chúng ta dùng PC
để điều khiển động cơ, nhiệt độ, hay biến PC thành dụng cụ đo các đại lượng điện
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
23
Luận văn thạc sỹ kỹ thuật Hướng dẫn KH: PGS . TS: Đỗ Xuân
Tiến
2.3.1. Mạch điện giao tiếp
Trong PIC, DSPIC có hỗ trợ sẵn một MODUL để giao tiếp với PC thông qua
cổng RS232. Với các PIC thường sử dụng chân C6 là chân phát dữ liệu lên PC (Tx),
chân C7 là chân thu dữ liệu từ PC về PIC (Rx). Còn với DSPIC thì tuỳ từng loại,
đồng thời có loại DSPIC còn có sẵn 2 MODUL giao tiếp RS232.
Tuy nhiên do PIC và máy tính không có sự thống nhất về mức LOGIC, nên
chúng ta phải sử dụng thêm mạch điện giao tiếp bên ngoài.
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
24
P I C 1 8 F 4 5 5 0 - 1
2
3
4
5
6
7
3 3
3 4
3 5
3 6
3 7
3 8
3 9
4 0

R A 4 / T 0 C K I / C 1 O U T / R C V
R A 5 / A N 4 / S S / H L V D I N / C 2 O U T
R B 0 / A N 1 2 / I N T 0 / F L T 0 / S D I / S D A
R B 1 / A N 1 0 / I N T 1 / S C K / S C L
R B 2 / A N 8 / I N T 2 / V M O
R B 3 / A N 9 / C P P 2 / V P O
R B 4 / A N 1 1 / K B I 0 / C S S P P
R B 5 / K B I 1 / P G M
R B 6 / K B I 2 / P G C
R B 7 / K B I 3 / P G D
R C 0 / T 1 O S O / T 1 3 C K I
R C 1 / T 1 O S I / C C P 2 / U O E
R C 2 / C C P 1 / P 1 A
V u s b
R C 4 / D - / V M
R C 5 / D + / V P
R C 6 / T X / C K
R C 7 / R X / D T
R D 0 / S P P 0
R D 1 / S P P 1
R D 2 / S P P 2
R D 3 / S P P 3
R D 4 / S P P 4
R D 5 / S P P 5 / P 1 D
R D 6 / S P P 6 / P 1 C
R D 7 / S P P 7 / P 1 B
O S C 1 / C L K I
O S C 2 / C L K O / R A 6
V D D
V D D

C 1 -
C 2 +
C 2 -
V C CG N D
V +
V -
R 1 O U T
R 2 O U T
T 1 I N
T 2 I N
R 1 I N
R 2 I N
T 1 O U T
T 2 O U T
C 2 C 3
+ 5 V c c P
P I C 1 8 F 4 5 5 0 - 1
2
3
4
5
6
7
3 3
3 4
3 5
3 6
3 7
3 8
3 9

R A 3 / A N 3 / V R E F +
R A 4 / T 0 C K I / C 1 O U T / R C V
R A 5 / A N 4 / S S / H L V D I N / C 2 O U T
R B 0 / A N 1 2 / I N T 0 / F L T 0 / S D I / S D A
R B 1 / A N 1 0 / I N T 1 / S C K / S C L
R B 2 / A N 8 / I N T 2 / V M O
R B 3 / A N 9 / C P P 2 / V P O
R B 4 / A N 1 1 / K B I 0 / C S S P P
R B 5 / K B I 1 / P G M
R B 6 / K B I 2 / P G C
R B 7 / K B I 3 / P G D
R C 0 / T 1 O S O / T 1 3 C K I
R C 1 / T 1 O S I / C C P 2 / U O E
R C 2 / C C P 1 / P 1 A
V u s b
R C 4 / D - / V M
R C 5 / D + / V P
R C 6 / T X / C K
R C 7 / R X / D T
R D 0 / S P P 0
R D 1 / S P P 1
R D 2 / S P P 2
R D 3 / S P P 3
R D 4 / S P P 4
R D 5 / S P P 5 / P 1 D
R D 6 / S P P 6 / P 1 C
R D 7 / S P P 7 / P 1 B
O S C 1 / C L K I
O S C 2 / C L K O / R A 6
V D D

Thông thường nếu dữ liệu cần truyền là một biến, thì chúng ta phải khai báo
định dạng (FORMAT ) của dữ liệu cần truyền trước sau đó mới đưa dữ liệu vào. Ví
dụ:
int8 k;
k=8;
Printf("%U",k);
- Các định dạng có thể là: %S = chuỗi ký tự, %C = 1 ký tự, %D = biến 8 BIT
có dấu, %U = biến 8 BIT không dấu.
- Ngoài ra một số ngôn ngữ lập trình phần mềm trên máy tính, chỉ cho phép
nhận dữ liệu từ cổng COM với định dạng chuỗi ký tự (Ví dụ ngôn ngữ VISUAL
BASIC). Do vậy ở trong PIC, các dữ liệu cần truyền lên PC phải chuyển thành dạng
chuỗi sau đó mới được gửi lên PC.
+ Getc():
Học viên: Hoàng Việt Sơn – K12 KT ĐT – ĐH Kỹ thuật công nghiệp
25

Trích đoạn Nguyên lý hoạt động Hình 4-10.Quá trình PIC MASTER đọc dữ liệu từ PIC SLAVE Hình 4-26 Sơ đồ nguyên lý mạch khuyếch đại công suất 2 kênh Mã nguồn của một số MODUL
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status