Thông báo

Collapse
No announcement yet.

xin giúp mạch điều khiển từ xa DTMF

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

  • xin giúp mạch điều khiển từ xa DTMF

    mọi người cho mình hỏi mình đang làm đồ án về mạch điều khiển từ xa. bằng pic 16f84a tất cả ok chạy rồi nhưng giờ mình muốn thêm vào đó. khi nhập mật khẩu thì thiết bị mới hoạt động. mình lại không rành về code lắm. ai có thể giúp mình được không. cảm ơn nhiều. đây là code mình đã làm ok nhưng chưa thêm phần nhập mật khẩu. ae cho thêm ý kiến ạ. mạch dùng mt887 giải mã bcd cấp cho 16f84a

    Code:
    #include <16F84A.h>
    
    #use delay(clock=3.58M)
    #define loa PIN_B0
    
    int1 tai1,tai2,tai3,tai4; // trang thai phim
    int1 T1,T2,T3,T4; // trang thai tai
    
    void tat();
    void mo();
    void loa_on();
    void loa_off();
    
    void main()
    {
    set_tris_a(0xFF);
    output_low(PIN_B0); output_low(PIN_B3); output_low(PIN_B4);//ngo ra
    output_low(PIN_B5);output_low(PIN_B6);//ngo ra
    
    tai1=0; T1=0;//mac dinh
    tai2=0; T2=0;//ngo ra
    tai3=0; T3=0;//luc dau
    tai4=0; T4=0;//chua mo
    while(TRUE)
    {
    if(input_state(PIN_A4)==1) //chan std cho phep nhap du lieu vao A
    {
    // phim 3
    if((input_state(PIN_A0)==1) && (input_state(PIN_A1)==1) && (input_state(PIN_A2)==0) && (input_state(PIN_A3)==0))
    {
    tai1=1; tai2=0; tai3=0; tai4=0;
    if(T1==1) loa_on();
    else loa_off();
    }
    // phim 4
    if((input_state(PIN_A0)==0) && (input_state(PIN_A1)==0) && (input_state(PIN_A2)==1) && (input_state(PIN_A3)==0))
    {
    tai1=0; tai2=1; tai3=0; tai4=0;
    if(T2==1) loa_on();
    else loa_off();
    }
    // phim 5
    if((input_state(PIN_A0)==1) && (input_state(PIN_A1)==0) && (input_state(PIN_A2)==1) && (input_state(PIN_A3)==0))
    {
    tai1=0; tai2=0; tai3=1; tai4=0;
    if(T3==1) loa_on();
    else loa_off();
    }
    // phim 6
    if((input_state(PIN_A0)==0) && (input_state(PIN_A1)==1) && (input_state(PIN_A2)==1) && (input_state(PIN_A3)==0))
    {
    tai1=0; tai2=0; tai3=0; tai4=1;
    if(T4==1) loa_on();
    else loa_off();
    }
    
    
    
    
    // phim 8
    if((input_state(PIN_A0)==0) && (input_state(PIN_A1)==0) && (input_state(PIN_A2)==0) && (input_state(PIN_A3)==1))
    {
    tai1=0; tai2=0; tai3=0; tai4=0;
    T1=T2=T3=T4=0;
    output_low(PIN_B3); output_low(PIN_B4); output_low(PIN_B5); output_low(PIN_B6);
    loa_off();
    }
    // phim 9
    if((input_state(PIN_A0)==1) && (input_state(PIN_A1)==0) && (input_state(PIN_A2)==0) && (input_state(PIN_A3)==1))
    {
    tai1=0; tai2=0; tai3=0; tai4=0;
    T1=T2=T3=T4=1;
    output_high(PIN_B3); output_high(PIN_B4); output_high(PIN_B5); output_high(PIN_B6);
    loa_on();
    }
    // phim2 de tat
    if((input_state(PIN_A0)==0) && (input_state(PIN_A1)==1) && (input_state(PIN_A2)==0) && (input_state(PIN_A3)==0))
    { tat(); }
    // phim1 de mo
    if((input_state(PIN_A0)==1) && (input_state(PIN_A1)==0) && (input_state(PIN_A2)==0) && (input_state(PIN_A3)==0))
    { mo(); }
    }
    }
    }
    
    void mo()
    {
    if(tai1==1){ output_high(PIN_B3); tai1=0; T1=1; loa_on();}
    if(tai2==1){ output_high(PIN_B4); tai2=0; T2=1; loa_on();}
    if(tai3==1){ output_high(PIN_B5); tai3=0; T3=1; loa_on();}
    if(tai4==1){ output_high(PIN_B6); tai4=0; T4=1; loa_on();}
    }
    void tat()
    {
    if(tai1==1){ output_low(PIN_B3); tai1=0; T1=0; loa_off();}
    if(tai2==1){ output_low(PIN_B4); tai2=0; T2=0; loa_off();}
    if(tai3==1){ output_low(PIN_B5); tai3=0; T3=0; loa_off();}
    if(tai4==1){ output_low(PIN_B6); tai4=0; T4=0; loa_off();}
    }
    
    void loa_off()
    {
    output_high(loa); delay_ms(150); output_low(loa); delay_ms(150); output_high(loa); delay_ms(150); output_low(loa);// bao tai tat
    }
    
    void loa_on()
    {
    output_high(loa); delay_ms(400); output_low(loa);// bao tai dang mo
    }

Về tác giả

Collapse

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

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

Collapse

Đang tải...
X