msp430和51单片机通信
430voidmain(void){WDTCTL=WDTPW+WDTHOLD;//StopWDTP1DIR=0xFF;//AllP1.xoutputsP1OUT=0;//...
430
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR = 0xFF; // All P1.x outputs
P1OUT = 0; // All P1.x reset
P2DIR = 0xFF; // All P2.x outputs
P2OUT = 0; // All P2.x reset
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2= BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
UCA0CTL1 |= UCSSEL_1; // CLK = ACLK
UCA0BR0 =13;
UCA0BR1 = 0;
UCA0MCTL = UCBRS1 + UCBRS0;
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
_EINT();
__bis_SR_register(LPM3_bits + GIE); // Enter LPM3, interrupts enabled
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0RXIFG));
temp=UCA0RXBUF;
}
51单片机:
void main()
{
COM1_Init();
while(1)
{
SBUF=0x01;
delayms(1000);
}
}
void Uart_Isr()interrupt 4 using 1
{
if(TI){TI=0;ES=0;TR1=0;TB8=1;}
}
430和51通信没有结果,怎么办。 展开
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR = 0xFF; // All P1.x outputs
P1OUT = 0; // All P1.x reset
P2DIR = 0xFF; // All P2.x outputs
P2OUT = 0; // All P2.x reset
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2= BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
UCA0CTL1 |= UCSSEL_1; // CLK = ACLK
UCA0BR0 =13;
UCA0BR1 = 0;
UCA0MCTL = UCBRS1 + UCBRS0;
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
_EINT();
__bis_SR_register(LPM3_bits + GIE); // Enter LPM3, interrupts enabled
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0RXIFG));
temp=UCA0RXBUF;
}
51单片机:
void main()
{
COM1_Init();
while(1)
{
SBUF=0x01;
delayms(1000);
}
}
void Uart_Isr()interrupt 4 using 1
{
if(TI){TI=0;ES=0;TR1=0;TB8=1;}
}
430和51通信没有结果,怎么办。 展开
1个回答
2015-07-18
展开全部
首先 51是8位单片机内核 430是16位的,寄存器的地址51为8位,430为16位。
51采用复杂指令集, 430采用精简指令集,当然用汇编才会考虑到这个,若用C区别不大。
然后51的速度较慢,若是STC89C52的话大都用12MHz晶振,但由于其12个时钟周期才是一个机器周期,相当于其主频只有1MHz, 430若采用内部DCO震荡可达21MHz主频。
外设区别比较大,51的片上外设貌似没什么东西,好像就定时器、串口通信,记不太清了。
430外设则比较丰富了,就G2系列来说,功能最全面的G2553里包含了定时器、10位AD、温度传感器、I2C、SPI都有。
重点是,既然你在问G2系列的话,我估计应该是要用TI的LaunchPad吧,那上面自带仿真器,可以直接硬件仿真,很方便。
51采用复杂指令集, 430采用精简指令集,当然用汇编才会考虑到这个,若用C区别不大。
然后51的速度较慢,若是STC89C52的话大都用12MHz晶振,但由于其12个时钟周期才是一个机器周期,相当于其主频只有1MHz, 430若采用内部DCO震荡可达21MHz主频。
外设区别比较大,51的片上外设貌似没什么东西,好像就定时器、串口通信,记不太清了。
430外设则比较丰富了,就G2系列来说,功能最全面的G2553里包含了定时器、10位AD、温度传感器、I2C、SPI都有。
重点是,既然你在问G2系列的话,我估计应该是要用TI的LaunchPad吧,那上面自带仿真器,可以直接硬件仿真,很方便。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询