PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Tập lệnh trên CCS cho PIC (http://www.picvietnam.com/forum/showthread.php?t=236)

chutchit 03-12-2005 03:44 PM

Tập lệnh trên CCS cho PIC
 
Tui đang làm giao tiếp RS232 với máy tính.
Nhưng tui không biết tập lệnh của nó! Mò trong những ví dụ và phần Help của nó khổ quá! Có ai biết tập lệnh 16F877 được miêu tả rõ ràng hơn ở đâu không? Làm ơn chỉ tui với! Gấp lắm! :eek:

falleaf 03-12-2005 05:39 PM

http://www.picvietnam.com/forum//showthread.php?t=155

Bạn vào đây để download tài liệu CCS C tiếng Việt do txt cung cấp.

Ngoài ra, để dùng giao tiếp rs232 rất đơn giản:

#uses rs232

printf (xuất)
getc(nhập)

Bạn xem chi tiết lệnh ở trong phần hướng dẫn chi tiết.

Chúc vui.

chutchit 03-12-2005 09:19 PM

Cám ơn bác, em đã load cái đó về rùi. Tuy nhiên nó chỉ có một vài cái cơ bản. Em nghĩ phải có nhiều hơn nữa chứ? Nếu bác có cái link nào tiếng Anh cũng OK.
chẳng lẽ để giao tiếp rs232 chỉ cần có 2 lệnh đó thôi sao? thế còn việc kiểm tra xem lúc nào bộ đệm tràn? như ở bên máy tính em làm cả khâu kiểm tra này, còn ở PIC thì sao? xử lý khi báo tràn như thế nào? EM có đọc datasheet của PIC 16F877 nhưng chưa thông lắm! Mong bác chỉ giáo. Ngoài ra em còn muốn xử lý data xuất/nhập này thì làm như thế nào? có phải ghi từ thanh ghi đệm vào bộ nhớ PIC rồi lấy data từ đó xử lý? Ví dụ như là em muốn cho nó xuất led chẳng hạn!
Mong bác thông cảm, có lẽ em hỏi hơi bị ngây ngô! Em mới chuyển từ 8051 sang PIC mấy tuần nay! CHưa biết gì cả!

falleaf 04-12-2005 02:33 AM

Bạn xem kỹ tài liệu, khi uses 232, thì có hàng loạt thông số kèm theo, chỉ cần nhu vậy thôi, hay vì bạn thấy PIC nó quá đơn giản nên còn đắn đo?

Học pic trong 1 ngày, đó là thông điệp của F mà.

Chúc học tốt.

chutchit 05-12-2005 07:33 AM

Cam on bac.Dung la em lam phuc tap hoa van de that! Qua la no don gian hon em nghi!

MoH 01-01-2006 08:48 PM

Các bác cho em hỏi. Khi dung CCSC thì có thể set dược toàn bộ địa chỉ cho 1 port giống như dùng Keil cho 89 hay không?
ví dụ như:
Trong Keil cho 89: P0 = 0xFA chẳng hạn
==> Có lệnh nào tương đương đối với PIC hay không?
À. Em cũng đã thử giao tiếp RS232 sử dụng
#uses rs232
printf (xuất)
getc(nhập)
Nhưng không xuất lên máy tính được, máy tính truyền xuống nó nhận được nhưng không biết có nhận đúng hay không (vì không truyền được lên máy tính để kiểm tra)

txt 06-01-2006 09:44 AM

Trong CCs tiếng việt trên , tôi có trình bày cách set po rt , VD po rt B
1/ thiết lập cơ chế truy xuất nhanh po rtB :
khai báo #U SE FAST_IO(po rtB)
khởi tạo 1 biến danh định chỉ tới địa chỉ PO rt B :Vd po rtB ở địa chỉ 0x3F thì set:
#LOCATE portB = 0x3F
portB chỉ là tên , có thể dùng tên khác tùy ý.

2/ sau đó trong chương trình , set chân vào ra :
VD : set_tris_B(0x11110000b) ; // B0->B3 : ngõ ra , B4->B7 : ngõ vào
VD : set_tris_B(255); // tất cà là ngõ vào
VD : set_tris_B( 0) ; // tất cả là ngõ ra
khi đó chỉ cần:
Vd : tất cả là ngõ vào thì có thể khiểm tra 1 cái gì đó :
if ( portB==0x0011b) { . . .} // nếu B0 và B1 có tín hiệu vào thì . . .
nếu set tất cả là ngõ ra thì :
Vd : portB = 127 ; // =0x01111111 : xuất tín hiệu ra trên B0->B6 ,B7 không có .

linhnc308 13-02-2006 11:23 PM

1 Attachment(s)
Trích:

Nguyên văn bởi chutchit
Cám ơn bác, em đã load cái đó về rùi. Tuy nhiên nó chỉ có một vài cái cơ bản. Em nghĩ phải có nhiều hơn nữa chứ? Nếu bác có cái link nào tiếng Anh cũng OK.
chẳng lẽ để giao tiếp rs232 chỉ cần có 2 lệnh đó thôi sao? thế còn việc kiểm tra xem lúc nào bộ đệm tràn? như ở bên máy tính em làm cả khâu kiểm tra này, còn ở PIC thì sao? xử lý khi báo tràn như thế nào? EM có đọc datasheet của PIC 16F877 nhưng chưa thông lắm! Mong bác chỉ giáo. Ngoài ra em còn muốn xử lý data xuất/nhập này thì làm như thế nào? có phải ghi từ thanh ghi đệm vào bộ nhớ PIC rồi lấy data từ đó xử lý? Ví dụ như là em muốn cho nó xuất led chẳng hạn!
Mong bác thông cảm, có lẽ em hỏi hơi bị ngây ngô! Em mới chuyển từ 8051 sang PIC mấy tuần nay! CHưa biết gì cả!

Tôi thấy như vậy đã là đủ rồi, kho các hàm của CCS rất nhiệu Về RS232 cho pic thì bạn xem lại trong datasheet, PIC chi có 8 bit cho truyền và 8 bit cho nhân. Tài liệu đầy đủ nhất là help cua nó, kết hợp các hàm lại với nhau sẽ giúp bạn giải quyết nhiều bài toán.
Còn về lập trình giao tiếp RS232 tôi đã có một bài mẫu. Chương trình nhận ký tự từ bàn phím và hiên thị ra LCD, rồi xuất trả lại máy tính ký tự đó.

Code:

#include <16f877a.h>
#include <def_877a.h>
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9)

#include <lcd_lib_4bit.c>
#include <input.c>

int8 count=0;
char string_in[16];

#INT_RDA
Receive_isr() {
char c;
int8 i;
count++;
c = getc();
putc(c);
if (c=='c' | c=='C') {LCD_putcmd(0x01);count=0;} //Clear Screen
if (count<=16) LCD_putchar(c);
else {count=0;LCD_putcmd(0xC0);}
}
void main()
{

enable_interrupts(int_rda);
enable_interrupts(GLOBAL);

lcd_init();
lcd_putcmd(0x01);
lcd_putcmd(line_1);
printf("Enter a String.");
printf("Or anything you want!");
while (1) {}
}


falleaf 14-02-2006 07:39 PM

Hôm nọ vì lý do sửa diễn đàn, nên bài viết của txt bị mất, trong bài đó có cái link tài liệu CCS C tiếng Việt, nay F post lại cái link đó cho mọi người.

Thành thật xin lỗi txt vì diễn đàn đang trong thời gian sửa chữa.

http://www.picvietnam.com/download/T...tieng_Viet.pdf

Chúc vui

vtt 06-09-2006 12:10 AM

Chào bác linhnc308!
Bác có giới thiệu chương trình giao tiếp PC với PIC, trên PIC. Còn chương trình trên PC thì như thế nào, bác có thể post một chương trình để anh em tham khảo được không, vì bọn mình bây giờ mới bắt đầu mà. Cám ơn bác trước nhé.
Nếu bác nào đọc được bài này mà đã từng làm rồi thì có thể post bài lên được không.
Cám ơn tất cả các bác.

chumeodihia 08-10-2006 12:56 AM

chương trình trên pc thì mới học bạn nên dùng visual basic chỉ có một vài lệnh(kèm theo khai báo chế độ cho cổng) là bạn có thể gởi 1 byte xuống cổng com hà.Visual dễ lắm bạn tự học đi,chủ yếu là xem trong thư viện MSDL của visual basic.
ví dụ như:
strdata = .Input nhận từ cổng com về
frmMain.MSComm1.Output = Chr(j) gởi 1 byte xuống cổng com

chú mèo đihia tái bút
thanks

navyvinpearl 10-10-2006 02:14 PM

Ban nao da dung PIC de do duong ket hop voi dieu khien DC motor chua mach nuoc cho minh di moi !

falleaf 10-10-2006 03:47 PM

Bạn thảo luận vấn đề này bên dientuvietnam, phần chuyên trang robocon.

Chúc vui

chauhoang 14-10-2007 02:42 PM

Trích:

Nguyên văn bởi falleaf (Post 1589)
Hôm nọ vì lý do sửa diễn đàn, nên bài viết của txt bị mất, trong bài đó có cái link tài liệu CCS C tiếng Việt, nay F post lại cái link đó cho mọi người.

Thành thật xin lỗi txt vì diễn đàn đang trong thời gian sửa chữa.

http://www.picvietnam.com/download/T...tieng_Viet.pdf

Chúc vui

xin chào các bác Mình là thành viên mới, mình có doyn bài CCS c bằng tiếng việt của bác txt và mình thấy rất hay, tại sao bác lại k post tiếp nhỉ?

__________________
www.dientuvietnam.net - www.vntelecom.org - www.tailieuvietnam.net

Học PIC như thế nào?

Không download được file? Bấm vào đây
Gõ dấu tiếng Việt trong diễn đàn


mail@falleaf.net
+82 10 4763 0970

100773007 20-11-2007 11:27 AM

Cảm ơn đúng là tài liệu em đang cần


Múi giờ GMT. Hiện tại là 12:56 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam