Thông báo

Collapse
No announcement yet.

Mạch thu hồng ngoại Remote tivi

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Mạch thu hồng ngoại Remote tivi

    Tình hình là mình đang làm mạch thu Remote tivi Sony RM969 dùng 89c51,mình đã làm trên test board nhưng ko hoạt động .Mọi người xem giúp mạch hay có vấn đề gì ko. nếu mạch code ổn thì chắc tại mình làm ko cẩn thận chạm mạch cũng nên .Mong mấy pro giúp đỡ .
    Click image for larger version

Name:	ba280094003180f77e0bddc93167e831_45023269.machthu.jpg
Views:	1
Size:	97.0 KB
ID:	1413015
    Và code thì mình tham khảo trên mạng code này :
    Code:
    	ORG	0000H
    	MOV	P1,#11111111B
    	MOV	P2,#11111111B
    	LCALL	LONG_DELAY
    	MAIN:
    	SETB	P3.3
    	MOV	A,#01000000B
    	RP1:
    	JB	P3.3,RP1
    	RP2:
    	JNB	P3.3,RP2
    	RP3:
    	JB	P3.3,RP3
    	LCALL	DELAY
    	MOV	C,P3.3
    	JC	BIT0
    	SETB	C
    	RRC	A
    	JC	END_SIGNAL
    	SJMP	RP2
    	BIT0:
    	CLR	C
    	RRC	A
    	JC	END_SIGNAL
    	SJMP	RP3
    	END_SIGNAL:
    	LCALL	LONG_DELAY
    	RR	A
    	MOV	P1,A
    	KEY_1:
    	CJNE	A,#00000000B,KEY_2
    	CPL	P2.0
    	SJMP	MAIN
    	KEY_2:
    	CJNE	A,#1,KEY_3
    	CPL	P2.1
    	SJMP	MAIN
    	KEY_3:
    	CJNE	A,#2,KEY_4
    	CPL	P2.2
    	SJMP	MAIN
    	KEY_4:
    	CJNE	A,#3,KEY_5
    	CPL	P2.3
    	SJMP	MAIN
    	KEY_5:
    	CJNE	A,#4,KEY_6
    	CPL	P2.4
    	SJMP	MAIN
    	KEY_6:
    	CJNE	A,#5,KEY_7
    	CPL	P2.5
    	SJMP	MAIN
    	KEY_7:
    	CJNE	A,#6,KEY_8
    	CPL	P2.6
    	SJMP	MAIN
    	KEY_8:
    	CJNE	A,#7,OTHER_KEY
    	CPL	P2.7
    	LJMP	MAIN
    	OTHER_KEY:
    	LJMP	MAIN
    	DELAY:
    	MOV	R5,#165
    	LAP:	NOP
    		NOP
    		NOP
    	DJNZ	R5,LAP
    	RET
    	LONG_DELAY:
    	MOV	R5,#50
    	LAP1:
    	MOV	R6,#255
    	LOOP:
    	DJNZ	R6,LOOP
    	DJNZ	R5,LAP1
    	RET
    ;------------------------------------------------------------------------------------------
    ; 		       Mã lệnh TV SONY 
    ;------------------------------------------------------------------------------------------
    ;                    tín hiệu p3.3                  phím                 mã hex
    ;                   -----------            ----------         --------------
    ;		    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

  • #2
    relay 5V, sụt áp trên LED và trở hơn phân nửa, lấy gì relay đóng, trước mắt thấy phần cứng sai

    Comment


    • #3
      bỏ điện trở đi chắc đóng được role hở bác

      Comment


      • #4
        sụt áp trên led chiếm ít nhất là 1/2 của 5V cũng ko làm relay đóng đc

        Comment


        • #5
          vậy thì lấy nguồn 12v đầu vào 7805 cấp cho role 5v giữ lại led hiển thị và điện trở chắc là ổn hả bác

          Comment


          • #6
            dùng triac đóng được không các bác,em cũng đang quan tâm vụ này bác nhok_oc_tiu làm được thì tư vấn em cái nha, có gì gửi mail em với :
            hungtrinh36@gmail.com

            Comment


            • #7
              led thu hồng ngoại ko nên mắc như vậy cứ đưa chân data vào trực tiếp port vdk với trở kéo lên

              Comment


              • #8
                Nguyên văn bởi agnort Xem bài viết
                led thu hồng ngoại ko nên mắc như vậy cứ đưa chân data vào trực tiếp port vdk với trở kéo lên
                Vậy bỏ lun cái tụ với con transitor ak bác như thế có bị nhiễu ko, khi đó xài điện trở kéo lên khoảng bao nhiêu là vừa

                Comment


                • #9
                  mình mới vẽ lại mạch dùng luôn role 12v , mấy pro xem có ổn ko
                  Attached Files

                  Comment


                  • #10
                    Bạn đã thử con led thu chưa? Có vấn đề đấy. bạn nên thử xem, nếu mắt thu đã tích hợp OA thì ok. Còn ko tích hợp OA bạn sẽ phải thêm vào. Mình đã thử test mắt thu rồi. Đầu ra hơi bị nhiễu đấy. Dùng 1 con OA xử lý vấn đề này.

                    Comment


                    • #11
                      sao mình thấy nhiều người còn nối trực tiếp ngõ out led thu vào port vdk luôn mà bạn.con OA là con gì thế bạn, mình còn gà lắm

                      Comment


                      • #12
                        uh. Đôi khi bạn không thể chắc chắn rằng mức ra của led thu đã là 0 và 1. Con OA sẽ làm nv này. 1 đầu vào OA là từ led thu (có thể qua 1 tran để khuếch đại) đầu còn lại là một điện áp để so sánh (dùng phân áp để tạo) đầu ra của OA sẽ là 0 hoặc 1. Mình lâu rồi mới vào dientuvietnam cũng ko có nhiều time lắm. Bạn tự tìm hiểu OA nhé

                        Comment


                        • #13
                          code cho các bạn dùng C nhé
                          Code:
                          #include <regx51.h>
                          //su dung thach anh 12mhz
                          //Ngo Hung Cuong
                          //kidteam@gmail.com
                          //0989696971 - 0915696971
                          #define signal P3_2
                          #define led P3_7
                          unsigned char newkey;
                          
                          //============================================
                          void delay(void);//chuong trinh con delay 750
                          void EX0_ISR(void);
                          void init(void);//chuong trinh con khoi tao
                          //============================================
                          void main(void)
                          {
                          	init();
                          	while(1);
                          }
                          //cac chuong trinh con duoc cai dat o day
                          //============================================
                          void delay(void)
                          {
                          	//su dung timer 0 luon
                          	TH0=0xfd;//-740
                          	TL0=0x1c;//-740
                          	TR0=1;
                          	while(!TF0);
                          	TR0=0;
                          	TF0=0;
                          	
                          	//tre khoang 750us
                          }
                          //============================================
                          void init(void)
                          {
                          	//khoi tao cho timer va ngat ngoai
                          	//cac che do can thiet
                          	TMOD=1;//timer 0 che do 1
                          	EX0=1;
                          	IT0=1;
                          	EA=1;
                          }
                          //============================================
                          void EX0_ISR(void) interrupt 0
                          {
                          	unsigned char i,j;
                          	unsigned char cmd;
                          	cmd=0;
                          	for(i=0;i<3;++i)
                          	{
                          		//kiem tra xem co phai la nhieu hay khong
                          		delay();
                          		if(signal)
                          			return;
                          	}
                          	//doi tiep cho tin hieu len cao
                          	while(!signal);
                          	//sau 3 lan delay ma van o muc thap chung to khong phai la nhieu
                          	//bat dau thu tin hieu thoi nao
                          	//thong nhat la chi thu 7 bit ma lenh thoi
                          	//khong thu 5 bit dia chi
                          	//cho cho tin hieu len cao
                          	//phai cho vao vong lap
                          	//tin hieu dang o muc cao
                          	for(i=0;i<7;++i)
                          	{
                          		cmd>>=1;
                          		while(signal);
                          		delay();
                          		//kiem tra bit
                          		if(!signal)//bit 0
                          		{
                          			//bit 1
                          			cmd|=0x80;
                          			while(!signal);
                          		}
                          	}
                          	cmd>>=1;
                          	if(cmd==3)
                          		led=!led;
                          	for(i=0;i<100;++i)
                          		for(j=0;j<10;++j)
                          			delay();
                          }

                          Comment


                          • #14
                            em thấy cái này không biết có giúp cho ace trong việc mắc mạch không

                            Comment


                            • #15
                              Nguyên văn bởi kidteam Xem bài viết
                              em thấy cái này không biết có giúp cho ace trong việc mắc mạch không
                              mạch này lọc nhiễu ak bác , nếu mà nối ngõ out led thu vào port như mạch mình thì hoạt động ổn ko nhĩ
                              p/s : code C đó dùng Keil C biên dịch ak bác .có link tải cho em xin với ngen.

                              Comment

                              Về tác giả

                              Collapse

                              nhok_oc_tiu Tìm hiểu thêm về nhok_oc_tiu

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X