⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 这是一个430的延时程序
💻 C
字号:
#include <msp430x24x.h>

#define uint unsigned int
#define uchar unsigned char

uchar i=0;

void delay(uint i)
{
  for(uint t=i; t>0; t--)
    for(uint k=3999; k>0; k--);
}

uchar get_code(uchar i)
{
  uchar t;
  switch(i)
  {
    case(0):t=0xc0;break;
    case(1):t=0xf9;break;
    case(2):t=0xa4;break;
    case(3):t=0xb0;break;
    case(4):t=0x99;break;
    case(5):t=0x92;break;
    case(6):t=0x82;break;
    case(7):t=0xf8;break;
    case(8):t=0x80;break;
    case(9):t=0x90;break;
  }
  return t;
}

void CLK_Init(void)
{
  uint i;
  BCSCTL1 = 0X00;
  
  do
  {
    IFG1 &= ~(OFIFG);
    for (i = 0x20; i>0; i--);
  }
  while((IFG1 & OFIFG)== OFIFG);
  
  BCSCTL2 = 0X00;
  BCSCTL2 += SELM1;
  BCSCTL2 += SELS;
}

void Port_Init(void)
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
   
  P5DIR = 0XFF;
  P5SEL = 0X00;
  //P5REN = 0XAA; //设置上/下拉电阻,0为下拉,1为上拉
  P5OUT = get_code(8);
 
  P4DIR = 0XFF;
  P4SEL = 0X00;
  P4OUT = get_code(8);
  
  return;
}

void delay_us(uint t)
{
  while(--t>0)
  {
    _NOP();
    _NOP();
    _NOP();
    _NOP();
  }
}

void delay_ms(uint t)
{
  while(t-->0)
    delay_us(999);
}

void main( void )
{
  CLK_Init();
  Port_Init();
  
  while(1)
  {
    P5OUT = get_code(i/10);
    P4OUT = get_code(i%10);
    if(++i>99)i=0;
    delay_ms(2);
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -