|
|
#include"msp430f249.h"
#include"string.h"
#define uchar unsigned char
#define uint unsigned int
const uchar table1[]="wp:";
unsigned char str[]={"0123456789"};
#define SET_RS P2OUT|=BIT0
#define RST_RS P2OUT&=~BIT0
#define SET_RW P2OUT|=BIT1
#define RST_RW P2OUT&=~BIT1
#define SET_E P2OUT|=BIT2
#define RST_E P2OUT&=~BIT2
long data;
unsigned char b;
void delayus(int ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1141;j++);
}
void write_com(uchar com)
{
RST_RS;
RST_RW;
P1OUT=com;
SET_E;
delayus(1);
RST_E;
}
void write_dat(uchar dat)
{
SET_RS;
RST_RW;
P1OUT=dat;
SET_E;
delayus(1);
RST_E;
}
void disp(void)
{
uchar i;
WDTCTL=WDTPW+WDTHOLD;
P1DIR=0xFF;
P2DIR=BIT0+BIT1+BIT2;
RST_E;
write_com(0x38);
delayus(5);
write_com(0x01);
delayus(5);
write_com(0x0C);
delayus(5);
write_com(0x06);
delayus(5);
write_com(0x80);
delayus(5);
for(i=0;i<sizeof(table1);i++)
write_dat(table1[i]);
unsigned char t0=0,t1=0,t2=0;
t0=data/100;
t1=(data%100)/10;
t2=data%10;
write_com(0x80+0x40);
delayus(5);
write_dat(str[t0]);
delayus(5);
write_dat(str[t1]);
delayus(5);
write_dat(str[t2]);
while(1)
{}
}
void main(void)
{
char k,m;
volatile unsigned int i;
m=10;
WDTCTL=WDTPW+WDTHOLD;
P1DIR=0xFF;
P2DIR=0XFF;
P6SEL|=0X01;
ADC12CTL0=ADC12ON;
ADC12CTL1=SHP;
ADC12MCTL0=SREF_1;
for(i=0;i<0x3600;i++){}
ADC12CTL0|=ENC;
while(1)
{
ADC12CTL0|=ADC12SC;
while((ADC12IFG&BIT0)==0);
k++;
data=data+ADC12MEM0;
if(k==m)
{
data=data/m;
data=data*50;
data=data*10;
data=data*10;
data=data/4096;
k=0;
}
disp();
}
}
|
|