This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430f4152控制红外发射问题

Other Parts Discussed in Thread: MSP430F4152

使用的单片机是MSP430f4152,红外发射端接在P6.6(UCA0TXD),调制口接在P3.0(TA1.2)

#include  <msp430x41x2.h>
void int_uart()
{
    P6SEL |= BIT5+BIT6;                       // P6.5,6 = USCI_A0 RXD/TXD
    UCA0CTL0=UCPEN+UCPAR;                     //开校验位,偶校验
   
    UCA0CTL1 |= UCSSEL_1;                     // CLK = ACLK
    UCA0BR0 = 27;                             // 32k/1200 
    UCA0BR1 = 0x00;                           //
    UCA0MCTL = 0x12;                          // Modulation
    UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
    IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt
}
void main(void)
{
    WDTCTL = WDTPW+WDTHOLD;                   // Stop WDT
    FLL_CTL0 |= XCAP11PF;                     // Configure load caps
    
    int_uart();
  
    P3DIR |= 0x01;                            // P3.0 output
    P3SEL |= 0x01;                            // P3.0 TA1 option
    
    CCR0 = 26;                                // PWM Period
    CCTL1 = OUTMOD_7;                         // CCR1 reset/set
    CCR1 = 13;                                // CCR1 PWM duty cycle
    TACTL = TASSEL_2 + MC_1;                  // SMCLK, up mode
    CCTL0|= CCIE;
    
    _EINT();//----------------------------------------------------->开总中断  
    for(;;)                              
    {     
        LPM3;//--------------------------------------------------->进LPM3模式
        _NOP();        
    }          
   
}
#pragma vector=USCIAB0TX_VECTOR
__interrupt void USCI0TX_ISR(void)
{
  while(!(IFG2&UCA0TXIFG));
  UCA0TXBUF =0xff; 
}

查看示波器的一端,输出时正旋波,数据发送的好像不对,接收端也收不到数据


  • 软件看上去也没有错。程序通过UART接收到RXD的数据然后从TXD发出来。

    示波器测量的哪个位置?

    电路中在红外发射管的通路上需要接一个限流电阻,也就是在VCC到红外管接地的通路上。否者在导通状态时,两个三极管只有0.1V的压降,VCC直接加在红外关上,红外管的导通电压应该只有0.3V左右的压降。

    你在VCC接PNP三级管的射极管脚上串一个电阻,然后用示波器量电阻下端的电压.