Trích:
Nguyên văn bởi thanhphuc15
la sao ha anh nhanh0112 =='
so lần time nhảy la sao hả anh?
thach anh 20Mhz>> T pic=4/20000000=0.2us dung ko anh?
cai remote tv sony hoat dong o 40khz
con con pic cua e thi dung thach anh 20mhz
vay e nghi phai đồng bộ xung cloc 2 cai dung ko anh?
nhung e ko biet dong bo nhu the nao day!! mong cac anh chi jup e voi!!!
remote tv sony wy dinh do rong xung 0.6ms la bit 0 con 1.2ms la bit 1.
|
Hình như bạn đang phức tạp hóa vấn đề. Đúng là remote tv hoạt động ở tần số ~38kHz, nhưng đó là sóng mang. Khi nó đi qua module thu thì tất cả những sóng mang này bị loại bỏ, lúc này chỉ còn các xung ngắn, dài (600us,1200us) như bạn đề cập ở trên. Việc của mình là lập trình để đo độ dài ngắn thôi (thực ra việc lập trình bạn ko nhất thiết phải đo chính xác độ dài trên, bạn có thể lập 1 cái mốc 900us chẳng hạn. Nếu < 900 là 0 còn > 900 sẽ là 1).
Còn về việc tính toán của bạn như trên: 1 chu kỳ của bạn là 0.2us như vậy timer sẽ phải chạy là 600/0.2=3000 lần. Bạn lấy số lần này ra để so sánh thôi.
Tham khảo một số demo code và sản phẩm hoàn thiện đã làm ở đây:
http://www.dientuvietnam.net/forums/...ng-remote-tivi
http://www.ustr.net/infrared/sony.shtml