/***********************************************************
程序功能:通过74LVC4245在连接器JP2的引脚上产生5v
电平的百分之五十占空比的方波。
------------------------------------------------------------
跳线设置:将跳线座J13的B8脚和P5.7脚用短路帽连接
拨码开关设置:将SN74LVC位拨至ON,其余位拨至OFF
------------------------------------------------------------
测试说明:用户可以通过示波器观察连接器JP2的2--9脚输出的信号波
形和幅值。
************************************************************/
#include <msp430x14x.h>
/********************主函数********************/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
/*下面六行程序关闭所有的IO口*/
P1DIR = 0XFF;P1OUT = 0XFF;
P2DIR = 0XFF;P2OUT = 0XFF;
P3DIR = 0XFF;P3OUT = 0XFF;
P4DIR = 0XFF;P4OUT = 0XFF;
P5DIR = 0XFF;P5OUT = 0XFF;
P6DIR = 0XFF;P6OUT = 0XFF;
P6DIR |= BIT2;P6OUT &= ~BIT2; //打开电平转换
P2DIR |= BIT3;P2OUT &= ~BIT3; //电平转换方向3.3V--->5V
P3DIR |= BIT4; //设置P3.4为输出
P5DIR = 0xff;
P5OUT = 0x80;
TBCCTL0 = CCIE; //允许CCR0比较中断
TBCCR0 = 50000;
TBCTL = TBSSEL_2 + MC_2; //计数时钟SMCLK,连续计数模式
_EINT(); //打开全局中断
LPM0; //进入LPM0模式
}
/*******************************************
函数名称:TimerB_ISR
功 能:定时器B的中断服务函数
参 数:无
返回值 :无
********************************************/
#pragma vector = TIMERB0_VECTOR
__interrupt void TimerB_ISR(void)
{
P3OUT ^= BIT4; //P3.4连接的LED闪烁
P5OUT ^= 0x7f; //P5口输出50%占空比方波
TBCCR0 += 50000; //TBCCR0增加偏置量
}
|