📄 test44x_testlcd.c
字号:
#include "msp430x44x.h"
int Digit[10] = {0X7B,0X12,0X4F,0X1F,0X36,0X3D,0X7D,0X13,0X7F,0X3F};
void Delay(int m)
{
while(m-->0);
}
void clr_lcdmem(void)
{
int i;
for(i = 0;i<7;i++)
{
LCDMEM[i] = 0x00;
}
}
void Display(int pos,int x,int Flag)
{
LCDMEM[pos] = 0x00;
if(Flag)
LCDMEM[pos] = Digit[x] + 0x80;
else
LCDMEM[pos] = Digit[x];
Delay(300);
}
void Send_Data(float Data)
{
unsigned long xx = 0;
int temp = 0;
int i = 0;
if(Data<1.0)
{
xx = Data * 1000000;
while(xx !=0)
{
temp = xx % 10;
if(temp != 0)
{
Display(i,temp,0);
i++;
}
xx = xx / 10;
}
Display(i,0,1);
i = 0;
}
else if(Data<10.0)
{
xx = Data * 1000000;
while(xx !=0)
{
temp = xx % 10;
if(temp != 0)
{
if(xx<10 && i>0)
Display(i,temp,1);
else
Display(i,temp,0);
i++;
}
xx = xx / 10;
}
i = 0;
}
else if(Data<100.0)
{
xx = Data * 100000;
while(xx !=0)
{
temp = xx % 10;
if(temp != 0)
{
if(xx> 9 && xx<100 && i>0)
Display(i,temp,1);
else
Display(i,temp,0);
i++;
}
xx = xx / 10;
}
i = 0;
}
else if(Data<1000.0)
{
xx = Data * 10000;
while(xx !=0)
{
temp = xx % 10;
if(temp != 0)
{
if(xx>99 && xx<1000 && i>0)
Display(i,temp,1);
else
Display(i,temp,0);
}
xx = xx / 10;
}
i = 0;
}
else if(Data<10000.0)
{
xx = Data * 1000;
while(xx !=0)
{
temp = xx % 10;
if(temp != 0)
{
if(xx>999 && xx<10000 && i>0)
Display(i,temp,1);
else
Display(i,temp,0);
i++;
}
xx = xx / 10;
}
i = 0;
}
else if(Data<100000.0)
{
xx = Data * 100;
while(xx !=0)
{
temp = xx % 10;
if(temp != 0)
{
if(xx>9999 && xx<100000 && i>0)
Display(i,temp,1);
else
Display(i,temp,0);
i++;
}
xx = xx / 10;
}
i = 0;
}
else if(Data < 1000000.0)
{
xx = Data * 10;
while(xx!=0)
{
temp = xx %10;
if(temp != 0)
{
if(xx>99999 && xx < 1000000 && i>0)
Display(i,temp,1);
else
Display(i,temp,0);
i++;
}
xx = xx/10;
}
i = 0;
}
else if(Data < 10000000.0)
{
xx = Data;
while(xx !=0)
{
temp = xx % 10;
if(temp != 0)
{
Display(i,temp,0);
i++;
}
xx = xx / 10;
}
i = 0;
}
}
/*void test(void)
{
int i;
for(i = 0;i<7;i++)
{
LCDMEM[i] = 0xff;
Delay(10000);
LCDMEM[i] = 0x00;
Delay(10000);
}
}
*/
void main(void)
{
while(1)
{
WDTCTL = WDTPW + WDTHOLD;
LCDCTL = 0X5D;
P5SEL = 0XFD;
clr_lcdmem();
Send_Data(4596361);
Delay(5000);
// test(); 测试lcd液晶板是否正常
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -