PDA

View Full Version : Help truyền dữ liệu nối tiếp qua 1 chân của pic


tieukiep84
26-06-2007, 10:12 AM
giả sử mình có một mảng
int8 const a[5]={3,5.6,8} chẳng hạn bây giờ muốn truyền qua chân B1 của con pic bắt đầu từ phần tử a[0] cho đến a[5] mỗi một phần tử phải truyền đủ 8 bit. sau đó mơi truyền đến phần tử tiếp theo.

tranvanthuong
26-06-2007, 06:09 PM
bạn phải nói rõ vấn đề của bạn,bạn có phải muốn truyền dữ liệu nối tiếp phải ko?
mình có 1 giải thuật thế này:

vòng lặp 4 phần tử mãng
{
vòng lặp 8 (bit) biến chạy là i,i từ 0 đến 7

{
+ if(kiemtra(i)) set B1=1;
else B1=0;
//tao xung truyền nếu cần
}
}
bạn cứ theo giài thuật trên đi có gì thì liên hệ với tui
chúc thành công

Mecha
26-06-2007, 06:50 PM
Thuật toán của bạn tranvanthuong đúng với yêu cầu của bạn tieukiep84 rồi. Tuy nhiên trong trường hợp có >= hai bit liền kề nhau là 11 hoặc 00 thì phía bộ nhận liệu có phân biệt được đó là hai hay nhiều bit hay không?

doianhve
26-06-2007, 10:06 PM
Hoac ban co the lam nhu sau
int trang_thai;
int8 i,j;
for(i=0;i<=4;++i) //quay vong 5 bytes
{
for(j=0;<=7;++j) //kiem tra trang thai bit cua 8bit
{
//kiem tra bit:Bit_test____se cho ra ve muc logic cua vi tri Bit
Trang_thai=bit_test (a[i],j); // 1 hoac 0
Output_bit(pin_B1,Trang_thai) //truyen trang thai Bit ra cong
}
}
Chuc ban thanh cong !

Mecha
26-06-2007, 10:12 PM
Hoac ban co the lam nhu sau
int trang_thai;
int8 i,j;
for(i=0;i<=4;++i) //quay vong 5 bytes
{
for(j=0;<=7;++j) //kiem tra trang thai bit cua 8bit
{
//kiem tra bit:Bit_test____se cho ra ve muc logic cua vi tri Bit
Trang_thai=bit_test (a[i],j); // 1 hoac 0
Output_bit(pin_B1,Trang_thai) //truyen trang thai Bit ra cong
}
}
Chuc ban thanh cong !


Thuật toán của bạn và @tranvanthuong cơ bản là tương tự như nhau. Vấn đề ở đây như mình đã nói đó là trong trường hợp có >= hai bit liền kề nhau là 11 hoặc 00 thì phía bộ nhận làm cách nào để phân biệt được đó là hai hay nhiều bit? Vì khi đó không có sườn xung để chốt dữ liệu.

doianhve
26-06-2007, 11:50 PM
ok! nếu vậy chúng ta cần thêm một chân nữa điều khiển,tính năng giống chân Clock là được.

tieukiep84
27-06-2007, 07:55 AM
ý mình là muốn dùng 2 chân con pic để quet ma trận. chân thứ nhất dùng để xuất dữ liệu, mình xuất nối tiếp sau đó qua mấy con IC ghi dịch, qua một tầng IC chốt để chuyển thành song song để xuất dữ liệu ra, còn chân thứ 2 dùng để quét cột. Vì trong thực tế nếu xuất dữ liệu song song thì con 16f877 rất hạn chế về chân khi quét nhiều hàng.

luanktd
23-07-2007, 12:04 AM
cho mình hỏi có loại pic nào sử dụng được mạng can ko vậy

namqn
23-07-2007, 05:26 PM
cho mình hỏi có loại pic nào sử dụng được mạng can ko vậy
Bạn xem ở đây nhé:

http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=50&mid=10&lang=en&pageId=74

Thân,