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

📄 cpa.c

📁 基于msp430xw42x做的简易电子表 对timeA和lcd可以上上手。欢迎技术交流 qq:175891641
💻 C
字号:
#include "msp430xw42x.h"
long k=0,l=0,m=59,h=0,i=0,j=0;
char digit[]={

//位0-7
0x7D, //"0"
0x60,//"1"
0x3E,//"2"
0x7A,//"3"
0x63,//"4"
0x5B,//"5"
0x5F,//"6"
0x70,//"7"
0x7F,//"8"
0x7B,//"9"
0x80,//"."或者最后一位数字后"k"

//LCDMEM[8]
0X01,  //15   8-"M"   MGJm3/                
0X02,  //16   8-"G"   MGJm3/
0X04,  //17   8-"M"   kmwh
0X08,  //18   8-"W"   kmwh

0X10,  //11   8-"J"       MGJm3/              
0X20,  //12   8-"m3"      MGJm3/
0X40,  //13   8-"/"       MGJm3/            
0X80,  //14   8-"h"        kmwh

//LCDMEM[9]
0X01,  //∏∏            
0X02,  //S℃
0X04,  //R℃
0X08,  //Δt

0X10,  //!         
0X20,  //s
0X40,  //⊙        
0X80,  //〓
   
};


void Init_Timer_A(void)                                      //*设置TIMEA定时器,用来产生1秒基准中断
                        {
                        TACTL = TASSEL0 + TACLR;           // ACLK, clear TAR
                        CCTL0 = CCIE;                     // CCR0 中断使能
                        CCR0=32768;                  //*定时1秒
                        TACTL|=MC0;                     //*增增计数模式
                        }

//************************************************************************************8                   
void main()
{
           Init_Timer_A();
           WDTCTL=WDTPW+WDTHOLD;
           LCDCTL=LCDON+LCD4MUX+LCDP1;
           P5SEL=0xfc;
           FLL_CTL0=XCAP18PF;
           BTCTL=BTFRFQ1;
           _EINT(); 
          LCDMEM[0]=0x7d;
          LCDMEM[1]=0x7d;
          LCDMEM[2]=0x02;
          LCDMEM[3]=0x7d;
          LCDMEM[4]=0x7d;
          LCDMEM[5]=0x02;
          LCDMEM[6]=0x7d;
          LCDMEM[7]=0x7d;

}

#pragma vector=TIMERA0_VECTOR//*TIMEA中断,每1秒运行一下程序一遍
 __interrupt void TimerA0()
{ 
j++;
if(j==60)
{
LCDMEM[6]=0x7d;
LCDMEM[7]=0x7d;
}else
{
i=j%10;
LCDMEM[7]=digit[i];
i=j/10;
LCDMEM[6]=digit[i%10];
}

if (j==60)
{
j=0;
m++;
LCDMEM[4]=digit[m%10];
k=m/10;
LCDMEM[3]=digit[k%6];
}

if((m==60)&(j==0))
{
m=0;
h++;
LCDMEM[1]=digit[h%10];
l=h/10;
LCDMEM[0]=digit[l%6];

}   
             
             
             
             
             
             
             
             
 if ((P1IN&0x20)== 0) 
           {
                  for (i=0;i<9; ++i)
                   {
                   j=0;
                   }
           }
           
if((j%2)==1)
{
          LCDMEM[8]=0xff;
          LCDMEM[9]=0x00;
}
else
{
          LCDMEM[8]=0x00;
          LCDMEM[9]=0xff;
}

}

⌨️ 快捷键说明

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