当前位置:首页 > msp430单片机1602显示
/****************POWSOS__430************************ 程序功能:静态显示各种字符
---------------------------------------------------- 测试说明:观察液晶显示
****************************************************/ #include
uchar shuzi[] = {\
uchar zimu1[] = {%uchar zimu2[] = {%uchar *fuhao = \、;'<>?:%uchar *jieshu = \
/***********************主函数************************/ void main( void ) {
/*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; uchar i;
WDTCTL = WDT_ADLY_1000; //间隔定时器,定时1000ms P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换 LcdReset();
DispNChar(3,0,10,shuzi); //延时2s
for(i = 0; i < 3; i++) {
IFG1 &= ~WDTIFG; while(!(IFG1 & WDTIFG)); IFG1 &= ~WDTIFG; }
LcdWriteCommand(0x01, 1); // DispNChar(0,0,26,zimu1); //延时2s
for(i = 0; i < 3; i++) {
IFG1 &= ~WDTIFG; while(!(IFG1 & WDTIFG)); IFG1 &= ~WDTIFG; }
LcdWriteCommand(0x01, 1); // DispNChar(0,0,26,zimu2); //延时2s
for(i = 0; i < 3; i++) {
清除显示 清除显示 IFG1 &= ~WDTIFG; while(!(IFG1 & WDTIFG)); IFG1 &= ~WDTIFG; }
LcdWriteCommand(0x01, 1); //清除显示 DispStr(0,0,fuhao); //延时2s
for(i = 0; i < 3; i++) {
IFG1 &= ~WDTIFG; while(!(IFG1 & WDTIFG)); IFG1 &= ~WDTIFG; }
LcdWriteCommand(0x01, 1); //清除显示 DispStr(0,0,jieshu); while(1); } //1602
#include
/**************宏定义***************/ #define DataDir P2DIR #define DataPort P2OUT #define Busy 0x80 #define CtrlDir P6DIR
#define CLR_RS P6OUT&=~BIT3; //RS = P3.0 #define SET_RS P6OUT|=BIT3;
#define CLR_RW P6OUT&=~BIT4; //RW = P3.1 #define SET_RW P6OUT|=BIT4;
#define CLR_EN P6OUT&=~BIT5; //EN = P3.2 #define SET_EN P6OUT|=BIT5;
/*********************************************** 函数名称:DispStr
功 能:让液晶从某个位置起连续显示一个字符串 参 数:x--位置的列坐标 y--位置的行坐标
ptr--指向字符串存放位置的指针 返回值 :无
***********************************************/ void DispStr(uchar x,uchar y,uchar *ptr) {
uchar *temp; uchar i,n = 0;
temp = ptr;
while(*ptr++ != '\\0') n++; //计算字符串有效字符的个数
for (i=0;i Disp1Char(x++,y,temp[i]); if (x == 0x0f) { x = 0;
共分享92篇相关文档