📄 main0.c
字号:
//#include "msp430x41x.h"//"msp430xE42x.h"
#include "LCD.h"
#include "msp430xE42x.h"
#define uchar unsigned char
unsigned char ss[10]={char_0,char_1,char_2,char_3,char_4,char_5,char_6,char_7,char_8,char_9};
uchar lcd[3];
unsigned long hh,a=0;
unsigned long b;
void delay(unsigned int aa)
{
unsigned int i;
for(i=0;i<aa;i++);
}
unsigned long Hex2BcdLong(unsigned long hex)
{
unsigned long temp;
unsigned long ret;
unsigned char ii;
ret=0;
for(ii=0;ii<8;ii++)
{
ret>>=4;
temp=hex%10;
temp<<=28;
ret|=temp;
hex=hex/10;
}
return(ret);
}
unsigned long count_add(unsigned long adda)
{
unsigned long rs;
adda += 1;
rs = Hex2BcdLong(adda);
return (rs);
}
void main(void)
{
unsigned int i;
WDTCTL = WDTPW + WDTHOLD;
LCDCTL = LCDON + LCD4MUX + LCDSG0_3;
BTCTL = BTHOLD + BTFRFQ1;
TACTL=TACLR+TASSEL_1+ID_3;
TACCR0=2048;
TACCTL0=CCIE;
TACTL|=MC_1;
//_BIS_SR(LPM0_bits + GIE);
P1DIR = 0xff;
for(i=0;i<20;i++)
{
LCDMEM[i] = 0x00;
}
b=0;
while(1)
{
_EINT();
if(a==1)
{
a=0;
b=b+1;
hh=count_add(b);
lcd[0]= hh&0xff;
lcd[1]= (hh>>8)&0x00ff;
lcd[2]= hh>>16;
#if 0
unsigned char *pp;
pp = (unsigned char *)&hh;
lcd[0] = *pp;
lcd[1] = *(pp+1);
lcd[2] = *(pp+2);
#endif
LCDMEM[9] = ss[lcd[0] & 0x0F];
LCDMEM[8] = ss[(lcd[0] >>4)&0xF];
LCDMEM[7] = ss[lcd[1] & 0x0F];
LCDMEM[6] = ss[(lcd[1] >>4)&0xF];
LCDMEM[5] = ss[lcd[2] & 0x0F];
LCDMEM[4] = ss[(lcd[2] >>4)&0xF];
if(LCDMEM[4]==ss[0])
{
LCDMEM[4]=0x00;
if(LCDMEM[5]==ss[0])
{
LCDMEM[5]=0x00;
if(LCDMEM[6]==ss[0])
{
LCDMEM[6]=0x00;
if(LCDMEM[7]==ss[0])
{
LCDMEM[7]=0x00;
if(LCDMEM[8]==ss[0])
{
LCDMEM[8]=0x00;
}
}
}
}
}
P1OUT ^= BIT2;//0x08;
}
}
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
a=1;
TAR=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -