em đang gặp vấn đề trong mô phỏng giao tiếp máy tính .em dịnh dung pic để dọc adc rồi vẽ lên máy tính bằng phần mềm gCom . gCOM - Phần mềm truyền - nhận dữ liệu với cổng COM .phần mềm này yêu cầu khung dữ liệu gởi lên phải theo dúng format: 'ch'+'data'+' ' . em làm mãi mà nó không nhận dũ liệu . các a/c/e có thể giúp mình sủa code được không. code cuả mình : laptrinh .emxin cảm ơn nhiều !
Thông báo
Collapse
No announcement yet.
giao tiếp máy tinh adc 10bit
Collapse
X
-
#include <16f877A.h>
#device *=16 ADC=10 //KHAI BAO ADC 10 BIT
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, LVP, NOCPD, NOWRT
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=9)
//baud là khai báo TOC DO baud rate
//parity là khai báo check bit
//xmit là khai báo chân TX
//Rcv là khai báo chân RX
//bits LA SO BIT DU LIEU TREN MOT KHUNG
int16 value;
void main() {
setup_adc_ports(AN0); //Khoi tao che do cho bo ADC.
setup_adc(ADC_CLOCK_INTERNAL);//THOI GIAN LAY MAU BANG XUNG CAU HE THONG
delay_us(10);
do {
value = read_adc();
// ====Truyen len may tinh
delay_us(50);
putc('1'); //du lieu goi len theo dúng format: 'ch'+'data'+' '
printf("%lu", value); //de doc duoc bang phan mem gCOM
putc(' '); //
} while(true);
}
-
mình đã làm được vấn đề truyền dữ liệu lên máy tính.nhưng gặp phải một vấn đề khác .
code :#include <16f877A.h>
#include <def_877a.h>
#device *=16 ADC=10
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, LVP, NOCPD, NOWRT
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#include <lcd_4bit.c>
int16 temp;
int8 nghin,tram,chuc,donvi;
//==================================
//==================================
void convert_bcd(int16 x)
{
nghin = x / 1000 + 0x30;
temp = x % 1000;
tram = temp / 100 + 0x30;
temp = temp % 100;
chuc = temp / 10 + 0x30;
donvi = temp % 10 + 0x30;
}
//===================================
void main() {
setup_adc_ports(AN0);
Set_ADC_channel (0) ;
setup_adc(ADC_CLOCK_INTERNAL);
delay_us(10);
do {
temp = read_adc();
convert_bcd((int16)temp);// ====Truyen len may tinh
putc('1');
putc(nghin);
putc(tram);
putc(chuc);
putc(donvi);
putc(' ');
} while(true);
}
thời gian thực thi các câu lệnh in đậm delay khá lâu .làm cho thời gian lấy mẫu adc tăng lên.với tín hiệu dưới 10hz thì được.còn lên thì càng méo .(ko thỏa định lý nyquist). mình cần đọc tín hiệu có dải tần từ 0.5hz tới 100hz.
a/c/e nào có giải pháp giúp mình ko ạ .
xin cảm ơn !
Comment
Bài viết mới nhất
Collapse
-
bởi afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
Hôm qua, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
10-05-2026, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
10-05-2026, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment