Hình 2-3 Mạch điện giao tiếp PIC với PC qua RS

Một phần của tài liệu nghiên cứu thiết kế thiết bị huấn luyện báo vụ trên công nghệ dspic (Trang 25 - 28)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trong đó các tụ C1, C2, C3, C4 dùng để phóng nạp điện để tạo ra mức điện áp LOGIC cho cổng RS232 của PC. Với cổng COM của PC sử dụng 3 chân, trong đó: Chân 3 là chân phát dữ liệu tới PIC, chân 2 là chân thu dữ liệu từ PIC về PC, chân 5 là chân GND.

Để sử dụng đƣợc giao tiếp RS232 của PIC trong phần đầu của chƣơng trình chúng ta phải khai báo tiền xử lý:

#use rs232 (baud=9600,xmit=PIN_C6,rcv=PIN_C7)

Trong đó: BAUD là tốc độ truyền thông, thông thƣờng 110, 300, 600, 1200, 4800, 9600, 14400, 19200, 28800, 38400... XMIT xác định chân của PIC dùng để là chân phát dữ liệu. RCV xác định chân của PIC dùng để thu dữ liệu.

2.3.2. Các hàm và thủ tục phục vụ cho truyền thông qua cổng COM + Printf(string, values...): + Printf(string, values...):

- Trong đó: STRING là chuỗi ký tự (kết thúc bằng ký tự Null).

VALUES là danh sách các biến, cách nhau một dấu phẩy. - Chức năng: Gửi chuỗi string tới cổng COM của PC.

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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Chức năng: Là hàm trả về 1 ký tự trong bộ nhớ đệm thu của cổng COM. Chúng ta thấy rằng PIC thu từng ký tự từ cổng COM.

- Ví dụ: key=getc(); Thu một ký tự từ cổng COM và gán vào biến key.

+ Kbhit():

- Chức năng: Dùng để kiểm tra bộ nhớ đệm thu, trả về giá trị 1 nếu trong bộ đệm thu có ký tự, trả về giá trị 0 nếu trong bộ đệm thu rỗng.

Thông thƣờng để đảm bảo việc truyền thông giữa PIC và PC không bị lỗi. Chúng ta thƣờng sử dụng phƣơng pháp ngắt, trong PIC đã hỗ trợ sẵn ngắt RS232. Mặt khác để quá trình truyền thông giữa PC và PIC đƣợc ổn định, thì đòi hỏi trong PIC việc thu và xử lý dữ liệu thu đƣợc phải thật nhịp nhàng và tránh xung đội. Vì từ PC phát tới PIC thông thƣờng là một chuỗi (Nhiều ký tự), trong đó PIC lại chỉ thu đƣợc từng ký tự. Do vậy sẽ sảy ra trƣờng hợp PIC đang xử lý ký tự vừa thu đƣợc, thì lại phát sinh ngắt để thu tiếp ký tự tiếp theo. Đoạn mã lệnh dƣới đây sẽ thực hiện khi có ngắt RS232, thu một ký tự từ bộ đệm của COM lƣu vào một chuỗi ký tự.

#INT_RDA //ngắt RS 232 void rs()

{

key_in=getc(); //thu một ký tự.

index=index+1; //tăng chỉ số của mảng chuỗi thu[index]=key_in; //lƣu vào chuỗi

}

Trên phần mềm chạy ở PC, việc khai báo các tham số ở cổng COM phải thống nhất với các tham số đã khai báo ở PIC. Chẳng hạn trong VISUAL BASIC, thì phải khai báo nhƣ sau:

Me.MSComm1.Settings = "9600, N,8,1" //setup cổng COM 1 Me.MSComm1.InputLen = 0 //setup bộ nhớ đệm

Me.MSComm1.PORTOpen = True //Mở cổng COM 1

Thƣờng thì việc lựa chọn các tham số truyền thông đƣợc lựa chọn trong một hộp thoại của chƣơng trình, có dạng nhƣ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.4. Lập trình giao tiếp với LCD

2.4.1. Giới thiệu về LCD và chíp điều khiển HD44780

Ngày nay trong kỹ thuật lập trình cho vi điều khiển, thiết bị LCD (LIQUID CRYSTAL DISPLAY) đƣợc sử dụng rất phổ biến. LCD có rất nhiều ƣu điểm so với cách hiển thị đèn LED hoặc LED 7 thanh truyền thống đó là: Khả năng hiển thị đƣợc đa dạng ký tự, trực quan, dễ dàng đƣa vào ứng dụng, tốn ít tài nguyên phần cứng của vi điều khiển...

Tuỳ từng loại mà LCD có các kích thƣớc khác nhau, nhƣng chúng thƣờng sử dụng chung một loại chíp điều khiển có tên là HD44780. Trong quá trình sản xuất, nhà sản xuất đã tích hợp sẵn chíp này trong vỏ và chỉ đƣa các chân của chip ra ngoài. Chức năng của các chân nhƣ sau:

Một phần của tài liệu nghiên cứu thiết kế thiết bị huấn luyện báo vụ trên công nghệ dspic (Trang 25 - 28)