完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
现在调MSp430F5438的12864显示,写了程序,可是就是直接不显示,硬件已经检测,没有问题,求大神看一下我的程序,哪里出了问题,急急急!!!#include "msp430x54x.h" #define uchar unsigned char #define uint unsigned int #define LCD_RS_H P1OUT|=BIT3 // #define LCD_RS_L P1OUT&=~BIT3 #define RW P1OUT&=~BIT4 #define LCD_EN_H P1OUT|=BIT5 // #define LCD_EN_L P1OUT&=~BIT5 // #define PSB_BIN P1OUT|=BIT6 //串并行控制 并为1 char table1[]={"我爱你"}; char table2[]={"labview"}; char table3[]={"实验室"}; #define FLL_FACTOR 549 // 549FLL_FACTOR: DCO倍频系数 //***************************************************************************// // // // 初始化主时钟: MCLK = XT2 // // // //***************************************************************************// void Init_CLK(void) { WDTCTL = WDTPW + WDTHOLD ; // 关看门狗 P5SEL |= 0x0C ; // 端口功能选择振荡器 UCSCTL6 &= ~XT2OFF ; // 振荡器使能 UCSCTL3 |= SELREF_2 ; // FLLref = REFO UCSCTL4 |= SELA_2 ; // ACLK=REFO,SMCLK=DCO,MCLK=DCO do { UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG) ; // 清除 XT2,XT1,DCO 错误标志 SFRIFG1 &= ~OFIFG ; }while(SFRIFG1&OFIFG) ; // 检测振荡器错误标志 UCSCTL6 |= XT2DRIVE0 + XT2DRIVE1 ; // XT2 驱动模式 24~32MHz UCSCTL4 |= SELS_5 + SELM_5 ; // SMCLK = MCLK = XT2 } void Delay_5ms(void) { uint l; for(l=150;l > 0;l--) _NOP(); } /******************************************* 函数名称:Write_Cmd 功 能:向液晶中写控制命令 参 数:cmd--控制命令 返回值 :无 ********************************************/ void Write_Cmd(uchar cmd) { LCD_RS_L; RW; LCD_EN_L; P7OUT = cmd; Delay_5ms(); LCD_EN_H; Delay_5ms(); LCD_EN_L; } /******************************************* 函数名称:Write_Data 功 能:向液晶中写显示数据 参 数:dat--显示数据 返回值 :无 ********************************************/ void Write_Data(uchar dat) { LCD_RS_H; RW; LCD_EN_L; P7OUT = dat; Delay_5ms(); LCD_EN_H; Delay_5ms(); LCD_EN_L; } void init() ///*把两行程序关闭所有的IO口*/ { P1DIR = 0XFF; // P1OUT = 0XFF; P7DIR = 0XFF; // P7OUT = 0XFF; } void Ini_Lcd(void) { PSB_BIN; //并行操作//写操作 Write_Cmd(0x30); //基本指令集 Delay_5ms(); Write_Cmd(0x0C); // 地址归位 Delay_5ms(); Write_Cmd(0x01); //清除显示 Delay_5ms(); } void dis() { uchar i=0; Write_Cmd(0x80); //设定显示的起始地址 while(table1[i] != ' |