欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1362|回復: 0
打印 上一主題 下一主題
收起左側

看不懂下面的MSP430程序 求解析

[復制鏈接]
跳轉到指定樓層
樓主
ID:662557 發表于 2019-12-12 16:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
剛學習單片機 看不懂下面的程序

#include<msp430g2553.h>
#define LEDWEI P2OUT
#define LEDDUAN P1OUT
unsigned long int save;
void South_Green_On()
{P2OUT&=~BIT2;}
void South_Green_Off()
{P2OUT|=BIT2;}
void South_Red_On()
{P2OUT&=~BIT3;}
void South_Red_Off()
{P2OUT|=BIT3;}
void South_Left_On()
{P2OUT&=~BIT4;}
void South_Left_Off()
{P2OUT|=BIT4;}
void West_Green_On()
{P2OUT&=~BIT5;}
void West_Green_Off()
{P2OUT|=BIT5;}
void West_Red_On()
{P2OUT&=~BIT6;}
void West_Red_Off()
{P2OUT|=BIT6;}
void West_Left_On()
{P2OUT&=~BIT7;}
void West_Left_Off()
{P2OUT|=BIT7;}
unsigned char LED[]={0xC0,0xF9,0xA4,0XB0,0X99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8e};
unsigned char timer[4];
unsigned char t1=15,kongzhi=1;
void disp_led();
void delay(long n)
{
unsigned int i;
unsigned int j;
for(i=n;i>0;i--)
for(j=100;j>0;j--)
_NOP();
}
void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
CCTL0=CCIE;
TACTL=TASSEL_2+ID_3+MC_1+TACLR;
TACCR0=65000;
P1DIR&=~BIT7;//P1.7輸入
P1DIR|=BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6;
P2DIR=0xff;
P1OUT|=BIT7;
P1REN|=BIT7;//使能上拉電阻
P1IE=BIT7;//P1.7口使能中斷
P1IES|=BIT7;//P1.7下降沿觸發
P1IFG=0;//清P1中斷標志位
P2IE=0X00;

P2SEL&=~(BIT6+BIT7);
P2SEL2&=~(BIT6+BIT7);
_EINT();
South_Green_Off();
South_Left_Off();
South_Red_Off();
West_Green_Off();
West_Left_Off();
West_Red_Off();
delay(100);
South_Green_On();
South_Red_Off();
South_Left_Off();
West_Red_On();
West_Green_Off();
West_Left_Off();

while(1)
{
disp_led();
}
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A(void)
{
t1--;
timer[3]=t1/10;
timer[2]=t1%10;
if(t1==0)
{
t1=15;
if(kongzhi==4)
kongzhi=1;
else
kongzhi++;
if(kongzhi==1)
{
South_Green_On();
South_Red_Off();
South_Left_Off();
West_Red_On();
West_Green_Off();
West_Left_Off();
}
else if(kongzhi==2)
{ South_Left_On();
South_Green_Off();
South_Red_On();
West_Red_On();
West_Green_Off();
West_Left_Off();
}
else if(kongzhi==3)
{
West_Green_On();
West_Red_Off();
West_Left_Off();
South_Red_On();
South_Green_Off();
South_Left_Off();
}
else if(kongzhi==4)
{
West_Left_On();
West_Green_Off();
West_Red_On();
South_Red_On();
South_Green_Of();

South_Left_Off();
}
}
}
#pragma vector=PORT1_VECTOR
__interrupt void P1_ISR(void)
{
if(P1IFG&BIT7)
{
  delay(10);
  if(!(P1IN&BIT7))
  {
   while(!(P1IN&BIT7));
   save=P2OUT;
   West_Green_Off();
   West_Red_On();
   West_Left_Off();
   South_Red_On();
   South_Green_Off();
   South_Left_Off();
   delay(10000);
   P2OUT=save;
  }
  P1IFG=0;
  return;
}
}
void disp_led(void)
{
LEDWEI&=~BIT0;
LEDWEI|=BIT1;
LEDDUAN=LED[timer[3]];
delay(10);
LEDWEI&=~BIT1;
LEDWEI|=BIT0;
LEDDUAN=LED[timer[2]];
delay(10);
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表