大家帮我看看我的显示屏怎么不好使,哭

2019-07-15 15:46发布

这是我的程序,写了好久,不知怎么办了,新手求教。
1602.txt 1.48 KB, 下载次数: 0 程序
430实验箱原理图.pdf 127.72 KB, 下载次数: 2 我的电路图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
未来的乔布斯
2019-07-15 19:42
人中狼 发表于 2017-9-5 18:20
最好是把代码贴上来

#include <msp430x14x.h>
#define uint unsigned int
#define uchar unsigned char
//#define CtrlDir     P6DIR
#define CLR_RS P3OUT&=~BIT0;    //RS = P3.0       
#define SET_RS P3OUT|=BIT0;       
#define CLR_RW P3OUT&=~BIT1;        //RW = P3.1
#define SET_RW P3OUT|=BIT1;       
#define CLR_EN P3OUT&=~BIT2;        //EN = P3.2       
#define SET_EN P3OUT|=BIT2;
#define DX  P4OUT
void LCDjiance();
void DELAY5ms(int k);
void LCDrest();
//void LCDweizhi(uchar dizhi);
void LCDwritedata(uchar x,uint i);
void LCDwritecmd(uchar x,uint i);
void LCDrest()
{ DELAY5ms(3);
LCDwritecmd(0x38,0);
DELAY5ms(1);
LCDwritecmd(0x38,0);
DELAY5ms(1);
LCDwritecmd(0x38,0);
DELAY5ms(1);
LCDwritecmd(0x38,1);
LCDwritecmd(0x08,1);
LCDwritecmd(0x01,1);
LCDwritecmd(0x06,1);
LCDwritecmd(0x0c,1);
}
void LCDwritecmd(uchar x,uint i)
{
if(i)
LCDjiance() ;
CLR_RS
CLR_RW

SET_EN
DX=x;
_NOP();
_NOP();
CLR_EN;

}

void LCDwritedata(uchar x,uint i)
{if(i)
  LCDjiance();
SET_RS;
CLR_RW;
_NOP();
SET_EN;
DX=x;
_NOP();
_NOP();
CLR_EN;
}

void LCDjiance()
{P4DIR=0X00;
CLR_RS;
SET_RW;
_NOP();
SET_EN;
_NOP();
_NOP();
while((P2IN|0X80)==0X80) ;
CLR_EN;
P4DIR=0XFF;


}
void DELAY5ms(int k)
{
uint i=40000;
    while ((i*k)!= 0)
    {
        i--;
    }

}
main()
{WDTCTL=WDTPW+WDTHOLD;
P3DIR=0XFF;
P4DIR=0XFF;
LCDrest();
LCDwritecmd(0x0a,1);
while(1)
{

LCDwritedata(0x80,1);
LCDwritedata(0x00+0,1);
LCDwritedata(0x00+1,1);
LCDwritedata(0x00+2,1);
LCDwritedata(0x00+3,1);


一周热门 更多>