谁有经调试过的msp430的12864程序吗?急用!!!

 我来答
ge_zhe
2012-07-16 · TA获得超过861个赞
知道小有建树答主
回答量:424
采纳率:100%
帮助的人:430万
展开全部
//初始化液晶显示函数
void start_lcd(void)
{
P3OUT&=~RES; //复位
delay(10000);
P3OUT|=RES;
delay(1000);
cmmandwr(0xe2);
delay(1000);
cmmandwr(0x40);
cmmandwr(0xb8);
cmmandwr(0x10);
cmmandwr(0x00);
cmmandwr(0xa1);
cmmandwr(0xa6);
cmmandwr(0xa2);
cmmandwr(0xac);
cmmandwr(0x24);
cmmandwr(0x81);
cmmandwr(0x28);
cmmandwr(0x2f);
cmmandwr(0xaf);
}
//-----------------------------------------------------------------------
//LCD RAM清零函数
void lcd_clrram(void)
{
int ci,cj;
for(ci=0xb0;ci<0xb9;ci++)
{
cmmandwr(0x04);
cmmandwr(0x10);
cmmandwr(ci);
for(cj=0x04;cj<0x84;cj++)
{
datawr(0x00,0);
}
}
}
//-----------------------------------------------------------------------
//数字分离函数
void number_sperate(int parameter)
{
wan=qian=bai=shi=ge=0;
while(parameter>=10000)
{
parameter=parameter-10000;
wan=wan+1;
}
while(parameter>=1000)
{
parameter=parameter-1000;
qian=qian+1;
}
while(parameter>=100)
{
parameter=parameter-100;
bai=bai+1;
}
while(parameter>=10)
{
parameter=parameter-10;
shi=shi+1;
}
ge=parameter;
}
//-----------------------------------------------------------------------
//显示数据(无小数点)
void display_dot_0(int parameter,char group_number,char addrxl,char addrxh,char addryh,char invf)
{
char group_number0;
number_sperate(parameter); //数字分离

for(group_number0=group_number;group_number0>0;group_number0--)
{
switch(group_number0)
{
case 5:
{
if(wan!=0)
{
a_number_bat(wan,addrxl,addrxh,addryh,0);
break;
}
else
{
a_number_bat(0x0a,addrxl,addrxh,addryh,0);
break;
}
}
case 4:
{
if((wan+qian)!=0)
{
a_number_bat(qian,addrxl,addrxh,addryh,0);
break;
}
else
{
a_number_bat(0x0a,addrxl,addrxh,addryh,0);
break;
}
}
case 3:
{
if((wan+qian+bai)!=0)
{
a_number_bat(bai,addrxl,addrxh,addryh,0);
break;
}
else
{
a_number_bat(0x0a,addrxl,addrxh,addryh,0);
break;
}
}
case 2:
{
if((wan+qian+bai+shi)!=0)
{
a_number_bat(shi,addrxl,addrxh,addryh,0);
break;
}
else
{
a_number_bat(0x0a,addrxl,addrxh,addryh,0);
break;
}
}
case 1:
{
a_number_bat(ge,addrxl,addrxh,addryh,0);
break;
}
default:
break;
}
if(addrxl>=8)addrxl=addrxl-8;
else
{
addrxl=addrxl+8;
addrxh--;
}
}
}
//-----------------------------------------------------------------------
//显示数据(小数点后一位)
void display_dot_1(int parameter,char group_number,char addrxl,char addrxh,char addryh,char invf)
{
char group_number0;
number_sperate(parameter); //数字分离

for(group_number0=group_number;group_number0>0;group_number0--)
{
switch(group_number0)
{
case 6:
{
if(wan!=0)
{
a_number_bat(wan,addrxl,addrxh,addryh,0);
break;
}
else
{
a_number_bat(0x0a,addrxl,addrxh,addryh,0);
break;
}
}
case 5:
{
if((wan+qian)!=0)
{
a_number_bat(qian,addrxl,addrxh,addryh,0);
break;
}
else
{
a_number_bat(0x0a,addrxl,addrxh,addryh,0);
break;
}
}
case 4:
{
if((wan+qian+bai)!=0)
{
a_number_bat(bai,addrxl,addrxh,addryh,0);
break;
}
else
{
a_number_bat(0x0a,addrxl,addrxh,addryh,0);
break;
}
}
case 3:
{
a_number_bat(shi,addrxl,addrxh,addryh,0);
break;
}
case 2:
{
a_number_bat(0x0b,addrxl,addrxh,addryh,0);
break;
}
case 1:
{
a_number_bat(ge,addrxl,addrxh,addryh,0);
break;
}
default:
break;
}
if(addrxl>=8)addrxl=addrxl-8;
else
{
addrxl=addrxl+8;
addrxh--;
}
}
}
//-----------------------------------------------------------------------
//一位数字显示函数
void a_number_bat(char numberal_b0,char addrxl0,char addrxh0,char addryh0,char invf0)
{
char sha,dd,*word_add1s;
switch(numberal_b0)
{
case 0x0a:
{
word_add1s=&d_blank[0];
break;
}
case 0x0b:
{
word_add1s=&d_dot[0];
break;
}
default:
{
numberal_b0=numberal_b0<<4;
word_add1s=&numeral[numberal_b0];
break;
}
}

cmmandwr(addrxl0); //写入命令
cmmandwr(addrxh0);
cmmandwr(addryh0+1);

for(sha=0;sha<8;sha++) //8*16点阵
{
dd=*(word_add1s+sha);
datawr(dd,invf0); //写入数据
}
cmmandwr(addrxl0); //写入命令
cmmandwr(addrxh0);
cmmandwr(addryh0);

for(sha=8;sha<16;sha++) //后8位字模
{
dd=*(word_add1s+sha);
datawr(dd,invf0); //写入数据
}
}

//-----------------------------------------------------------------------------------------------------------------
//指定位置输入一排多个数字(字母)函数.首地址:ADDRXL、ADDRXH0、ADDRYH0。一排数字字个数GROUP_NUMBER,取模地址word_add
void line_sz_input(char addrxl,char addrxh,char addryh,char group_number,char invf,char *word_add)
{
int ha,le,dd;
for(le=0;le<group_number;le++)
{
cmmandwr(addrxl); //写入命令
cmmandwr(addrxh);
cmmandwr(addryh+1);

for(ha=0;ha<8;ha++) //8*16点阵
{
dd=*(word_add+16*le+ha);
datawr(dd,invf); //写入数据
}

cmmandwr(addrxl); //写入命令
cmmandwr(addrxh);
cmmandwr(addryh);

for(ha=8;ha<16;ha++) //后8位字模
{
dd=*(word_add+16*le+ha);
datawr(dd,invf); //写入数据
}
if(addrxl>=8)addrxl=addrxl-8;
else
{
addrxl=addrxl+8;
addrxh=addrxh-1;
}
}
}
//-----------------------------------------------------------------------
//指定位置输入一排多个汉字函数.首地址:ADDRXL、ADDRXH0、ADDRYH0。一排汉字个数GROUP_NUMBER,取模地址word_add
void line_hz_input(char addrxl,char addrxh,char addryh,char group_number,char invf,char *word_add)
{
int ha,le,dd;
for(le=0;le<group_number;le++)
{
cmmandwr(addrxl); //写入命令
cmmandwr(addrxh);
cmmandwr(addryh+1);

for(ha=0;ha<16;ha++) //8*16点阵
{
dd=*(word_add+32*le+ha);
datawr(dd,invf); //写入数据
}

cmmandwr(addrxl); //写入命令
cmmandwr(addrxh);
cmmandwr(addryh);

for(ha=16;ha<32;ha++) //后8位字模
{
dd=*(word_add+32*le+ha);
datawr(dd,invf); //写入数据
}
addrxh=addrxh-1;
}
}
//-----------------------------------------------------------------------
//发送一个8位显示命令示函数
void cmmandwr(int bus)
{
int i;
P3OUT&=~CSI;
P3OUT&=~A0;
for(i=0;i<8;i++)
{
_NOP();
P3OUT&=~SCL;
if((bus&0x80)!=0x00)
P3OUT|=SDA;
else
P3OUT&=~SDA;
bus=bus<<1;
_NOP();
P3OUT|=SCL;
}
P3OUT|=A0;
P3OUT|=CSI;
}
//-----------------------------------------------------------------------
//发送一个8位显数据函数
void datawr( int bus,int invdis)
{
int i;
if(invdis==1)bus=~bus;
P3OUT&=~CSI;
P3OUT|=A0;
for(i=0;i<8;i++)
{
_NOP();
P3OUT&=~SCL;
if((bus&0x80)!=0x00)
P3OUT|=SDA;
else
P3OUT&=~SDA;
bus=bus<<1;
_NOP();
P3OUT|=SCL;
}
P3OUT&=~A0;
P3OUT|=CSI;
}
//=======================================================================
//软件延时函数
void delay(long int v)
{
while(v!=0)v--;
}
//========================================================================
广州晶晟电子
2023-10-12 广告
DIP插件晶振是一种电子元件,具有高可靠性和高频率稳定性。它采用金属插件完全密封式封装,体积大约为49U的四分之一,老化率好。DIP插件晶振的频率范围为3MHz~100MHz,广泛应用于监控安防、GPS、工业设备、医疗设备等领域。产品绿色环... 点击进入详情页
本回答由广州晶晟电子提供
songyunbo8475
2012-07-14 · TA获得超过582个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:262万
展开全部
我调试过MSP430F149的串口12864程序,方便的话留个QQ
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7bbac528f8
2012-07-14 · TA获得超过597个赞
知道小有建树答主
回答量:1706
采纳率:50%
帮助的人:941万
展开全部
嗯,去百度文库收索一下,我上传过一份,基本都在
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式