Trích:
Nguyên văn bởi uydanh
Đoạn chương trình PIC gửi một ký tự
Code:
#include <16f877a.h>
#include <def_877a.h>
#FUSES NOWDT, HS, NOPUT,NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
#use rs232(baud=9600, parity=N, xmit=pin_C6, rcv=pin_C7, bits=9)
char c;
void main()
{
putc(c);
while(1)
{
}
}
Chương trình trên để truyền 1 ký tự lên máy tính. Hoàn toàn tương tự bạn lại thêm một lệnh putc() như vậy nữa để truyền ký tự thứ 2 lên máy tính. Thế nhưng thực tế bạn lại không thể truyền được ký tự thứ 2 này vì tốc độ xử lý của PIC6F877a đáp ứng ko kịp (có lẽ vậy), nên giữa 2 lệnh putc() này bạn thêm một lệnh delay một khoảng thời gian nào đó thì mới truyền đúng được. Đó là một ví dụ nhỏ để chứng tỏ với bạn rằng chỉ có chính mình xoắn tay vào làm nó thì mới thành công được.
|
Anh ơi ! đây là chương trình gửi 1 ký tự lên máy tính.
Anh cho em hỏi là mình có tín hiệu tuơng tự ở bên ngoài vào adc ở trong pic thì ta được dạng số.Ở đây em vẫn chưa hiểu là mình truyền cái khung số này (vi dụ sau khi qua adc ta được 10011001) hay là truyền dạng ký tự(mã ASCII) lên máy tính.Nếu mà truyền dạng ký tự hay chuỗi thì mình lại phải viết chuơng trình cho nó chuyển từ số sang ký tự hay là chuỗi rồi mới truyền lên máy tính hả anh?
Rất mong thư!