标题: 初学者求助,430单片机跑马灯问题 [打印本页]

作者: 往前一步    时间: 2015-10-12 12:02
标题: 初学者求助,430单片机跑马灯问题
学了10节课左右,老师要求用看门狗定时模式设置P2.0到P2.3的1秒延时跑马灯,这是我的程序图,只有2.0一直亮,而且不知道循环程序怎么写,求助。

IMG20151011203554.jpg (44.97 KB, 下载次数: 299)

IMG20151011203554.jpg

作者: 往前一步    时间: 2015-10-12 12:05
我百度了很多,基本都是51单片机,很多都看不懂
作者: 往前一步    时间: 2015-10-12 12:28
#include <msp430x14x.h>

void main( void )
{
  
  WDTCTL = WDT_ADLY_1000;
  IE1 |= WDTIE;
  P2DIR |=BIT0+BIT1+BIT2+BIT3;
  P2OUT=0xfe;
  _EINT();
  while(1)
  {
    _NOP();
  }
}
#pragma vector = WDT_VECTOR
__interrupt void itemp(void)
{
  P2OUT<<=1;
  P2OUT|=0x01;
}
作者: 往前一步    时间: 2015-10-12 12:29
上面程序,图片看不清

作者: mqwu    时间: 2015-10-17 09:49
//**********modify your subroutine as below**************//
#include <msp430x14x.h>
#define uchar unsigned char
//#define uint unsigned int
void main( void )
{
  
  WDTCTL = WDT_ADLY_1000;
  IE1 |= WDTIE;
  P2DIR |=BIT0+BIT1+BIT2+BIT3;
  P2OUT|=0xFF;
  _EINT();
  while(1)
  {
    _NOP();
  }
}
#pragma vector = WDT_VECTOR
__interrupt void itemp(void)
{
  uchar temp=0x01, static uchar i=0;
  temp<<=1;
  P2OUT&=~temp;
  i++;
  if (i==4) i=0;
}
作者: mqwu    时间: 2015-10-17 09:56
//**********modify your subroutine as below  upadated**************//
#include <msp430x14x.h>
#define uchar unsigned char
//#define uint unsigned int
void main( void )
{
  
  WDTCTL = WDT_ADLY_1000;
  IE1 |= WDTIE;
  P2DIR |=BIT0+BIT1+BIT2+BIT3;
  P2OUT|=0xFF;
  _EINT();
  while(1)
  {
    _NOP();
  }
}
#pragma vector = WDT_VECTOR
__interrupt void itemp(void)
{
  uchar temp=0x01, static uchar i=0;
  temp<<=i; // revise from 1to i;
  P2OUT&=~temp;
  i++;
  if (i==4) i=0;
}




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1