cho mình hỏi bạn nào có làm về thu tín hiệu remote tivi sony bằng SM0038 sau đó đem vào VDK 89v51rb2 để diều khiển các thiết bị khác chưa ? mình có làm trên testboard nhưng ko hiểu sao tín hiệu thu từ chân vout của sm0038 nhiểu rất nặng , làm sao để mình chống nhiểu tốt hả các pác .mình ráp theo bài của một nhóm DH BK HN thì phải , chắc có nhiều bạn biết bài này. Có IC nào chuyên dụng để nắn xung ko hả các pác ..e cảm ơn nhiều nha !
Thông báo
Collapse
No announcement yet.
giúp em chống nhiểu thu tín hiệu remote tivi
Collapse
X
-
Nguyên văn bởi nguyentu.hcm Xem bài viếtcho mình hỏi bạn nào có làm về thu tín hiệu remote tivi sony bằng SM0038 sau đó đem vào VDK 89v51rb2 để diều khiển các thiết bị khác chưa ? mình có làm trên testboard nhưng ko hiểu sao tín hiệu thu từ chân vout của sm0038 nhiểu rất nặng , làm sao để mình chống nhiểu tốt hả các pác .mình ráp theo bài của một nhóm DH BK HN thì phải , chắc có nhiều bạn biết bài này. Có IC nào chuyên dụng để nắn xung ko hả các pác ..e cảm ơn nhiều nha !
Theo em được bít thì trong xung điều khiển của remote để nó nhận lệnh từ một phím bấm nào đó sẽ có một số bít tín hiệu nhất định 7 hoặc 8 gì đó .. mà chỉ mấy bít sau là có tác dụng về lệnh cụ thể... bởi vậy vấn em nghĩ có lẽ sẽ dùng ngắt và lấy mẫu chuẩn của từng phím lưu lại ! anh tham khảo các anh tiền bối trên diễn đàn..!
-
Nguyên văn bởi nguyentu.hcm Xem bài viếtmình có làm trên testboard nhưng ko hiểu sao tín hiệu thu từ chân vout của sm0038 nhiểu rất nặng !
Đừng đưa chân OUT của SM0038 vào ngắt ( làm như thế thì ngắt liên tục xảy ra - do nhiễu) . Nên đưa vào 1 chân bất kỳ , sau đó dùng vòng lặp kiểm tra .
- Nếu chân OUT =0 , chờ 1s , kiểm tra vẫn tiếp tục =0 thì mới gọi hàm thu IR
- còn sau 1s , OUT lên =1 thì break ngay , thực hiện lại vòng lặp
Comment
-
Nguyên văn bởi Zz_Bi_zZ Xem bài viếtnhiễu nặng là sao u ?
Đừng đưa chân OUT của SM0038 vào ngắt ( làm như thế thì ngắt liên tục xảy ra - do nhiễu) . Nên đưa vào 1 chân bất kỳ , sau đó dùng vòng lặp kiểm tra .
- Nếu chân OUT =0 , chờ 1s , kiểm tra vẫn tiếp tục =0 thì mới gọi hàm thu IR
- còn sau 1s , OUT lên =1 thì break ngay , thực hiện lại vòng lặp|
Comment
-
van ko duoc bạn ơi, mạch mình vẽ thế này :
đoạn code mình thế này :
Code:ORG 00 MOV P1,#0 MOV P2,#00000111B LCALL LONG_DELAY ; Cho tÝn hiÖu ®Çu tiªn nhËn ®îc kh«ng bÞ sai MAIN: SETB P3.3 ; P3.3 lµm ®Çu vµo nhËn tÝn hiÖu ; Bíc 1 MOV A,#01000000B ; Sau 7 lÇn quay (RRC A) th× C = 1 ®Ó kiÓm tra. ; Bíc 2 RP1: JB P3.3, RP1 ; Chê cho tÝn hiÖu ®i xuèng ; Bíc 3 RP2: JNB P3.3, RP2 ; Chê cho tÝn hiÖu ®i lªn ; Bíc 4 RP3: JB P3.3, RP3 ; Chê cho tÝn hiÖu ®i xuèng LCALL DELAY ; T¹o trÔ 900 us MOV C,P3.3 ; Ghi tÝn hiÖu thu ®îc vµo C ®Ó ®o JC BIT0 ; NÕu tÝn hiÖu møc cao th× bit nhËn ®îc lµ bit 0 SETB C ; TÝn hiÖu møc thÊp , bit nhËn ®îc lµ bit 1 RRC A ; Ghi tõng bit m• lÖnh vµo A JC END_SIGNAL ; NÕu C = 1 th× ®• nhËn ®ñ 7 bit m• lÖnh, kÕt thóc ; nhËn ; kÕt thóc qu¸ tr×nh nhËn tÝn hiÖu SJMP RP2 ; NÕu C = 0 th× quay l¹i bíc 3 chê tÝn hiÖu tiÕp theo BIT0: CLR C ; TÝn hiÖu møc cao, bit nhËn ®îc lµ bit 0 RRC A JC END_SIGNAL ; NÕu C = 1 th× ®• nhËn ®ñ 7 bit m• lÖnh, kÕt thóc ; nhËn ; kÕt thóc qu¸ tr×nh nhËn tÝn hiÖu SJMP RP3 ; NÕu C = 0 th× quay l¹i bíc 4 chê tÝn hiÖu tiÕp theo END_SIGNAL: ; KÕt thóc qu¸ tr×nh nhËn tÝn hiÖu LCALL LONG_DELAY ; T¹o trÔ ®Ó chèng nhiÔu ; 7 bit tr¸i cña A ®ang chøa m• lÖnh, bit LSB = 0 RR A ; 7 bit bªn ph¶i cña A chøa m• lÖnh, bit MSB = 0 MOV P1, A ; HiÓn thÞ m• lÖnh ra cæng P1 ;------------------------------------------------------------------------------ ; Mçi mét nót bÊm ®a tÝn hiÖu ra mét ch©n cña VXL ; ë ®©y chØ ®a tÝn hiÖu ®iÒu khiÓn ra 8 ch©n cña cæng P2 ; BÊm phÝm 1 th× ®¶o møc ch©n P2.0 ; ... ; BÊm phÝm 8 th× ®¶o møc ch©n P2.7 ; Sö dông cÊu tróc If ... Then ®Ó kiÓm tra phÝm bÊm ; KiÓm tra xem phÝm bÊm cã ph¶i phÝm 1 kh«ng ? NÕu ®óng th× thùc hiÖn ®¶o bit P2.0 råi ; quay l¹i tõ ®Çu ; NÕu kh«ng ph¶i phÝm 1 th× kiÓm tra xem ph¶i phÝm 2 kh«ng ? ... ;------------------------------------------------------------------------------ KEY_1: CJNE A,#00000000B,KEY_2 ; BÊm phÝm 1 ? ;---KEY = 1--- CPL P2.0 ; §¶o bit sau ®ã SJMP MAIN ; quay l¹i tõ ®Çu ;------------- KEY_2: CJNE A,#1,KEY_3 ; BÊm phÝm 2 ? ;------------- ;---KEY = 2--- CPL P2.1 SJMP MAIN ;------------- KEY_3: CJNE A,#2,KEY_4 ; BÊm phÝm 3 ? ;------------- ;---KEY = 3--- CPL P2.2 SJMP MAIN ;------------- KEY_4: CJNE A,#3,KEY_5 ; BÊm phÝm 4 ? ;------------- ;---KEY = 4--- CPL P2.3 SJMP MAIN ;------------- KEY_5: CJNE A,#4,KEY_6 ; BÊm phÝm 5 ? ;------------- ;---KEY = 2--- CPL P2.4 LJMP MAIN ;------------- KEY_6: CJNE A,#5,KEY_7 ; BÊm phÝm 6 ? ;------------- ;---KEY = 6--- CPL P2.5 LJMP MAIN ;------------- KEY_7: CJNE A,#6,KEY_8 ; BÊm phÝm 7 ? ;------------- ;---KEY = 7--- CPL P2.6 LJMP MAIN ;------------- KEY_8: CJNE A,#7,OTHER_KEY ; BÊm phÝm 8 ? ;------------- ;---KEY = 8--- CPL P2.7 LJMP MAIN ;----------------------------------- OTHER_KEY: ; BÊm c¸c phÝm kh¸c 1--8 th× kh«ng lµm g× LJMP MAIN ; quay l¹i thùc hiÖn tõ ®Çu ;----------------------------------- ; C¸c ch¬ng tr×nh con ;----------------------------------- DELAY: ; T¹o trÔ 900 s MOV R5,#165 ; Thêi gian trÔ b»ng 165 x 5 x 1.085 s = 900 s AGAIN: NOP NOP NOP DJNZ R5,AGAIN RET ;----------------------------------- LONG_DELAY: ; T¹o trÔ dµi ®Ó chèng nhiÔu MOV R5,#50 REPEAT: MOV R6,#255 HERE: DJNZ R6,HERE DJNZ R5,REPEAT RET ;------------------------------------------------------------------------------------------ ; M• lÖnh ®iÒu khiÓn TV SONY ;------------------------------------------------------------------------------------------ ; TÝn hiÖu tíi P3.3 PhÝm M• lÖnh (HEXA) ; ----------- ---------- -------------- ; 00000000B ; 1 ; 0 ; 00000001B ; 2 ; 1 ; 00000010B ; 3 ; 2 ; 00000011B ; 4 ; 3 ; 00000100B ; 5 ; 4 ; 00000101B ; 6 ; 5 ; 00000110B ; 7 ; 6 ; 00000111B ; 8 ; 7 ; 00001000B ; 9 ; 8 ; 00001001B ; 10 ; 9 ; 00010000B ; PROGRAM + ; 10 ; 00010001B ; PROGRAM - ; 11 ; 00010010B ; VOLUME + ; 12 ; 00010011B ; VOLUME - ; 13 ; 00010100B ; MUTING ; 14 ; 00010101B ; POWER ; 15 ; 00111010B ; DISPLAY ; 3A ;------------------------------------------------------------------------------------------ END
|
Comment
-
sr , tui chỉ viết C , đọc ASM tui nhác lám .
Đây là mạch DKTX , tui làm để gắn thêm vào cái Cát sét Panasonic . (LCD gắn vào chỉ để biết là ta thu và hiện đúng số trên remote hay ko thui , dùng 74164 gửi dữ liệu ra LCD) . ngày xưa còn non tay nên viết kiểu tường minh , u có thể đổi thuật toán dịch bit để ct đc gọn & pro hơn
Code:#include<AT89S53.h> sbit IR = 0x90; // IR = P1_0 sbit RS = 0x91; // RS = P1_1 sbit E = 0x92; // E = P1_2 unsigned char a=0xFF; unsigned char b=0xFF; unsigned char c=0; void delay_ms( unsigned int ms ) { unsigned int i,j; for (i=0;i<ms;i++) for (j=0;j<120;j++){}; } void delay_900us(void) { TMOD= 0x01; TL0 = 0xB7; //830 TH0 = 0xFC; TR0 = 1; while(!TF0) continue; TR0 = TF0 = 0 ; } void delay_20us(void) { TMOD= 0x01; TH0 = 0xFF; TL0 = 0xEB; TR0 = 1; while(!TF0) continue; TR0 = TF0 = 0 ; } void LCD_PulseEnable ( void ) {E=1;delay_ms(1); E=0;delay_ms(3); } void LCD_PutCmd(unsigned char k) { RS =0; transdata(k);LCD_PulseEnable(); for(c=0;c<=3;c=c+1){RX=1;delay_20us();RX=0;}; LCD_PulseEnable(); } void LCD_PutChar(unsigned char k) { RS =1; transdata(k);LCD_PulseEnable(); for(c=0;c<=3;c=c+1){RX=1;delay_20us();RX=0;}; LCD_PulseEnable(); } void LCD_Init ( void ) { delay_ms(50); LCD_PutCmd(0x03);delay_ms(5); LCD_PutCmd(0x03);delay_ms(1); LCD_PutCmd(0x03);delay_ms(1); LCD_PutCmd(0x06); // dich con tro sang phai LCD_PutCmd(0x0C); // bat hien thi ,tat con tro LCD_PutCmd(0x28); // 4 bit , 5x8 LCD_PutCmd(0x01); // xoa man hinh LCD_PutCmd(0x02); // ve dau dong } void scanIR() { delay_900us(); //0 if(IR) {a= a&0xFE;}; delay_900us(); //1 if(IR) {a= a&0xFD;}; delay_900us(); //2 if(IR) {a= a&0xFB;}; delay_900us(); //3 if(IR) {a= a&0xF7;}; delay_900us(); //4 if(IR) {a= a&0xEF;}; delay_900us(); //5 if(IR) {a= a&0xDF;}; delay_900us(); //6 if(IR) {a= a&0xBF;}; delay_900us(); //7 bit 0 ma dia chi if(IR) {a= a&0x7F;}; delay_900us(); // bit 1 ma dia chi if(IR) {b= b&0xFE;}; delay_900us(); // bit 2 ma dia chi if(IR) {b= b&0xFD;}; delay_900us(); // bit 3 ma dia chi if(IR) {b= b&0xFB;}; delay_900us(); // bit 4 ma dia chi if(IR) {b= b&0xF7;}; delay_900us(); //4 if(IR) {b= b&0xEF;}; delay_900us(); //5 if(IR) {b= b&0xDF;}; delay_900us(); //6 if(IR) {b= b&0xBF;}; delay_900us(); //7 bit 0 ma dia chi if(IR) {b= b&0x7F;}; } void giaima(unsigned char i,unsigned char j ) { if((i==0x56&&j==0xBD)||(i==0x56&&j==0xB9)){ LCD_PutChar('O');LCD_PutChar('N');}; if(j==0xB6) { LCD_PutChar('1');}; if(j==0x49) { LCD_PutChar('2');}; if(i==0x4E&&j==0x4A) { LCD_PutChar('3');}; if(i==0xBD&&j==0xB5) { LCD_PutChar('4');}; if(i==0x4E&&j==0x4E) { LCD_PutChar('5');}; if((i==0xBD&&j==0xB9)||(i==0xB9&&j==0xB9)){ LCD_PutChar('6');}; if((i==0xB9&&j==0xBA)||(i==0xBD&&j==0xBA)){ LCD_PutChar('7');}; if(i==0x56&&j==0x55) { LCD_PutChar('8');}; if(i==0x4E&&j==0x56) { LCD_PutChar('9');}; if(i==0xBD&&j==0xA9) { LCD_PutChar('0');}; if((i==0xBD&&j==0x56)||(i==0xB9&&j==0x56)){ LCD_PutChar('S');LCD_PutChar('M');}; if((i==0xBD&&j==0xCE)||(i==0xBD&&j==0xCA)){ LCD_PutChar('V');LCD_PutChar('+');}; if(i==0x4E&&j==0x76) { LCD_PutChar('P');LCD_PutChar('+');}; if(i==0x56&&j==0xB5) { LCD_PutChar('V');LCD_PutChar('-');}; if((i==0xB9&&j==0xC9)||(i==0xBD&&j==0xC9)){ LCD_PutChar('P');LCD_PutChar('-');}; } main() { LCD_Init(); while(1) { HERE : while(IR) continue ; delay_ms(1); if(IR) goto HERE; while(!IR) continue; while(IR) continue ; scanIR(); P2=a; P3=b; LCD_PutCmd(0x01); LCD_PutCmd(0x84); giaima(b,a); delay_ms(1000); a=b=0xFF; P2=P3=0x00; }; }
Comment
-
nhờ có bác mà em thấy đúng là "Núi lùn lại còn có núi lùn hơn" nhờ bác mà có lẽ em sáng cái mắt mà khỏi cần nhỏ vroto tiết kiệm được 35k! thanks bác nhiều nhiều lắm! để em làm thử cái mạch này sử dụng thằng sorny nếu được sẽ quay lại thanks phát nữa!
Comment
-
tôi cũng có 1 chương trình giải mã nhưng câu lệnh C ngắn gọn và dễ hiểu hơn của bạn nhiều
mail: dongsongbang_dld@yahoo.comNhận làm mạch vi điều khiển, ghép nối máy tính, mạch xung số
mail:
dd: 0973423905
Thương trường là chiến trường. tiến lên để kiếm tiền
Comment
-
mình up đoạn code của bạn cdt0031 lên nè
#include <REGX52.H>
sbit thietbi1 =P2^0;
sbit thietbi2 =P2^1;
sbit thietbi3 =P2^2;
sbit thietbi4 =P2^3;
#define IR P3_2
/**************Cac chuong trinh con*******************/
/***********Ham tre**************/
delay(unsigned int time)
{
unsigned int i;
for(i=0;i<=time;i++);
}
/***********Giai ma**************/
giai_ma(unsigned char command)
{
switch (command)
{
case 0: thietbi1=~thietbi1; break;
case 1: thietbi2=~thietbi2; break;
case 2: thietbi3=~thietbi3; break;
case 3: thietbi4=~thietbi4; break;
}
}
/**********Doc du lieu**********/
void read_data()
{
unsigned char command;
unsigned int time;
unsigned char i;
while(IR==0);
TR0=1;
while(IR==1);
TR0=0;
time=TH0*256+TL0;
TH0=TL0=0;
if(time>2400) //Bit start
{
command=0;
for(i=0;i<7;i++) //Doc 7 bit command
{
while(IR==0);
TR0=1;
while(IR==1);
TR0=0;
time=TH0*256+TL0;
TH0=TL0=0;
if(time>900)
command=command+(1<<i);
}
//Doc 5 bit address
giai_ma(command);
}
}
//Chuong trinh chinh
void main()
{
unsigned int time;
unsigned char command=0;
TMOD=0x01;
while(1)
{
read_data();
delay(30000);
}
}
Comment
-
CÁC BÁC XEM CHƯƠNG TRÌNH NÀY CÓ NHƯỢC ĐIỂM GÌ KHÔNG NHỈ?
em sưu tầm được nhưng thấy họ làm ngắt ngoài mà kỳ quá.
http://suachuadientu.net/Thread-mach...n-at89s52--112
Comment
-
bạn nào muốn tham khảo thi liên hệ mình làm rồi nè .chương trình viết bằng C sử dung 89c51 .dung ngắt ngoài và timer0 để giải mã.
giai ma remote TV.wmv - YouTube
duongvanthuyqt@yahoo.com
Đại học Đà Lạt
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Năm mới dientuvietnam.netbởi mèomướpDạ năm mới cháu xin kính chúc ông, bà, cô, dì, chú, bác, anh, chị, em, các bạn, các cháu... trong diễn đàn sức khỏe dồi dào, gặp nhìu may mắn và thành công...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 05:42 -
-
Trả lời cho Năm mới dientuvietnam.netbởi nhathung1101Chúc cả nhà ăn no mặc ấm, quần lúc có lúc không.
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 00:02 -
-
Trả lời cho Năm mới dientuvietnam.netbởi vandong1111Năm mới 2025 cháu chúc các chú, các bác mạnh khỏe, vui vẻ, gặp nhiều may mắn.
-
Channel: Tâm tình dân kỹ thuật
29-01-2025, 20:59 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi bqvietNói một cách xây dựng thì kiểu đồng hồ kiêm kẹp dòng NJTY3266 mà bạn Mèo đề cập là đúng nhu cầu người hỏi rồi. Một số cửa hàng bán trên 200ng, vài sàn thương mại điện tử bán dưới - thế là đúng nhu cầu về giá. Nếu khéo săn...
-
Channel: Điện tử dành cho người mới bắt đầu
27-01-2025, 20:02 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nhathung1101Đa năng còn chưa dùng hết, nếu không biết cách dùng.
200k thì hơi khó mua, nhưng 50k chắc là có. Cứ bảo bán cho tôi cái đồng hồ hỏng.-
Channel: Điện tử dành cho người mới bắt đầu
26-01-2025, 23:21 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nhathung1101Lão Đinh Vặn học giải phương trình hồi đi trẻ mà. Mẫu giáo học lập trình AI rồi. Lớp lão ấy gần lớp em nên em biết....
-
Channel: Điện tử công suất
26-01-2025, 23:11 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vậy chú đã hỏi hãng SIEMEN chưa? Tại sao cái PLC S7-200 cổ lỗ mà họ vẫn thiết kế riêng cho thị trường TQ với chữ SMART? Thậm chí phần mềm riêng để đọc file ngu.smart?
Vấn đề không còn là công nghệ "cốt lõi" nữa, mà là giá thành quyết định. Ham rẻ là trả giá mà....-
Channel: Điện tử công suất
26-01-2025, 23:01 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi vi van phamĐồng ý với Bqv.
50 năm làm nghề, tôi đã chứng kiến 3 lần máy x quang mới nhập từ nước ngoài về bị lỗi.
- Lần thứ 1 máy xq của Pháp được ks Pháp lằp đặt bị lỗi 1 con didode, đưa cho ks Pháp con didode khác cùng mã số, ông...-
Channel: Điện tử công suất
26-01-2025, 08:09 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ chú dinh... muốn sửa lỗi cho hãng thì chú cứ gửi những hình ảnh, video cho họ đi ạ, chú có thể tìm thông tin của những lãnh đạo bên ấy để gửi thì sẽ hiệu quả hơn ạ. Về tổng quan thì họ sẽ ko phản hồi rõ ràng đâu ạ, vì nhận...
-
Channel: Điện tử công suất
26-01-2025, 06:19 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietCuối năm bàn thêm chuyện to hơn chút, đấy là 2 vụ rơi đám 737 đời mới và trục trặc ở cả tá chiếc khác. Ngay cả những thứ tưởng như cao siêu sang xịn thật thì vẫn có thể gặp trường hợp oái oăm như thường. Từ hồi đó bqv đã thấy khó hiểu làm sao lại đẻ ra đám MCAS quái thai đến thế được. Rồi...
-
Channel: Điện tử công suất
24-01-2025, 19:40 -
Comment