1. Proteus电路
2. msp430程序
#include
#define uint unsigned int
#define uchar unsigned char
/
函数:void delay_1ms(void) void delay_nms(uint n)
功用:延时1ms 延时Nms
*/
void Delay_1ms(void) //1ms延时函数
{
uint i;
for (i=0;i<80;i++);
}
void Delay_Nms(uint n) //N ms延时函数
{
uint i=0;
for (i=0;i Delay_1ms();
}
/
函数:void P1_ISR(void)
功用:外部中止服务函数
*/
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
uchar i;
for(i=0;i<10;i++)
{
P1OUT=0x01;
Delay_Nms(1000);
P1OUT=0x00;
Delay_Nms(1000);
}
P1IFG = 0x00; //铲除中止标志
}
/
函数:void P1_INIT(void)
功用:PORT1端口初始化
*/
void P1_INIT(void)
{
P1SEL = 0x00; //设置为一般I/O口
P1DIR |= 0X01; //设置I/O方向
P1IE = 0x80; //P1^7中止答应
P1IES = 0x00; //上升沿使相应标志方位位
P1IFG = 0x00; //铲除中止标志
}
/
函数:void main(void)
功用:主函数
*/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1_INIT();
_EINT(); //开总中止
while(1)
{
P1OUT=0x00;
}
}
#define uint unsigned int
#define uchar unsigned char
/
函数:void delay_1ms(void) void delay_nms(uint n)
功用:延时1ms 延时Nms
*/
void Delay_1ms(void) //1ms延时函数
{
uint i;
for (i=0;i<80;i++);
}
void Delay_Nms(uint n) //N ms延时函数
{
uint i=0;
for (i=0;i
}
/
函数:void P1_ISR(void)
功用:外部中止服务函数
*/
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
uchar i;
for(i=0;i<10;i++)
{
P1OUT=0x01;
Delay_Nms(1000);
P1OUT=0x00;
Delay_Nms(1000);
}
P1IFG = 0x00; //铲除中止标志
}
/
函数:void P1_INIT(void)
功用:PORT1端口初始化
*/
void P1_INIT(void)
{
P1SEL = 0x00; //设置为一般I/O口
P1DIR |= 0X01; //设置I/O方向
P1IE = 0x80; //P1^7中止答应
P1IES = 0x00; //上升沿使相应标志方位位
P1IFG = 0x00; //铲除中止标志
}
/
函数:void main(void)
功用:主函数
*/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1_INIT();
_EINT(); //开总中止
while(1)
{
P1OUT=0x00;
}
}