【求助】用MSP430F149实现在LED12864上显示图像或文字,编译出错。

2019-03-24 08:45发布

file:///C:UsersHOU JIAJUNAppDataRoamingTencentUsers535076608QQWinTempRichOleL5W(BA1IFDD26OG327996W.png QQ图片20161216002046.png 仿真出现Init failed. Could not open port.这是什么原因?

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
LLOO099
1楼-- · 2019-03-24 17:26
 精彩回答 2  元偷偷看……
qwerghf
2楼-- · 2019-03-24 18:44
< :TI_MSP430_内容页_SA7 --> 你设置下载的串口了吗?这个软件是烧写TXT格式的文件,不是hex格式
LLOO099
3楼-- · 2019-03-24 20:46
qwerghf 发表于 2016-12-16 08:17
你设置下载的串口了吗?这个软件是烧写TXT格式的文件,不是hex格式

烧入TXT,执行progp,read,verify之后,开发板上的LCD还是没有显示。
qwerghf
4楼-- · 2019-03-25 00:58
 精彩回答 2  元偷偷看……
LLOO099
5楼-- · 2019-03-25 01:08
qwerghf 发表于 2016-12-16 11:15
程序对吗?还有硬件有没有问题,背光呢

对,是带背光的,程序我再发下。
/********************************************************************
//DM430-L型系统板控制带字库型12864液晶模块显示测试程序,显示汉字字符
//显示模式为汉字模式,直接将12864插入12864接口即可,朝外,液晶接口位于主板上方
//请注意安装位置,左边有字符说明,为靠近1602接口的1X20座子
//注意选择液晶的电源,位于电位器附近,可选5V或3.3V,根据液晶电压进行选择,默认5V
//调试环境:EW430 V5.30
//作者:www.avrgcc.com
//时间:2014.03.01
********************************************************************/
#include <msp430x14x.h>
#include "Config.h"

//*************************************************************************
//                        初始化IO口子程序
//*************************************************************************
void Port_Init()
{
  P4SEL = 0x00;
  P4DIR = 0xFF;
  P5SEL = 0x00;
  P5DIR|= BIT0 + BIT1 + BIT5 + BIT6 + BIT7;
  PSB_SET;                  //液晶并口方式
  RST_SET;                  //复位脚RST置高
}

//***********************************************************************
//        显示屏命令写入函数
//***********************************************************************
void LCD_write_com(unsigned char com)
{       
  RS_CLR;
  RW_CLR;
  EN_SET;
  DataPort = com;
  delay_ms(5);
  EN_CLR;
}

//***********************************************************************
//        显示屏数据写入函数
//***********************************************************************
void LCD_write_data(unsigned char data)
{
  RS_SET;
  RW_CLR;
  EN_SET;
  DataPort = data;
  delay_ms(5);
  EN_CLR;
}

//***********************************************************************
//        显示屏清空显示
//***********************************************************************

void LCD_clear(void)
{
  LCD_write_com(0x01);
  delay_ms(5);
}

//***********************************************************************
//函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字
//***********************************************************************
void DisplayCgrom(uchar addr,uchar *hz)
{
  LCD_write_com(addr);
  delay_ms(5);
  while(*hz != '')  
  {
    LCD_write_data(*hz);
    hz++;
    delay_ms(5);
  }

}

//****************************************************************
//函数名称:Display()显示测试结果
//****************************************************************
void Display(void)
{
  DisplayCgrom(0x80,"欣世纪电子欢迎你");
  DisplayCgrom(0x88,"旺:jingyehanxing");
  DisplayCgrom(0x90,"www.avrgcc.com  ");
  DisplayCgrom(0x98,"电话057487470625");
}

//***********************************************************************
//        显示屏初始化函数
//***********************************************************************
void LCD_init(void)
{
  LCD_write_com(FUN_MODE);                        //显示模式设置
  delay_ms(5);
  LCD_write_com(FUN_MODE);                        //显示模式设置
  delay_ms(5);
  LCD_write_com(DISPLAY_ON);                        //显示开
  delay_ms(5);
  LCD_write_com(CLEAR_SCREEN);                        //清屏
  delay_ms(5);
}

//***********************************************************************
//      主程序
//***********************************************************************
void main(void)
{
  WDT_Init();                                   //看门狗设置
  Clock_Init();                                 //系统时钟设置
  Port_Init();                                  //系统初始化,设置IO口属性
  delay_ms(100);                                //延时100ms
  LCD_init();                                   //液晶参数初始化设置
  LCD_clear();                                  //清屏
  while(1)
  {
    Display();                                  //显示汉字
  }
}
LLOO099
6楼-- · 2019-03-25 06:00
qwerghf 发表于 2016-12-16 11:15
程序对吗?还有硬件有没有问题,背光呢

LCD带背光的,程序在下面,我附上,不是太懂程序。
/********************************************************************
//DM430-L型系统板控制带字库型12864液晶模块显示测试程序,显示汉字字符
//显示模式为汉字模式,直接将12864插入12864接口即可,朝外,液晶接口位于主板上方
//请注意安装位置,左边有字符说明,为靠近1602接口的1X20座子
//注意选择液晶的电源,位于电位器附近,可选5V或3.3V,根据液晶电压进行选择,默认5V
//调试环境:EW430 V5.30
//作者:www.avrgcc.com
//时间:2014.03.01
********************************************************************/
#include <msp430x14x.h>
#include "Config.h"

//*************************************************************************
//                        初始化IO口子程序
//*************************************************************************
void Port_Init()
{
  P4SEL = 0x00;
  P4DIR = 0xFF;
  P5SEL = 0x00;
  P5DIR|= BIT0 + BIT1 + BIT5 + BIT6 + BIT7;
  PSB_SET;                  //液晶并口方式
  RST_SET;                  //复位脚RST置高
}

//***********************************************************************
//        显示屏命令写入函数
//***********************************************************************
void LCD_write_com(unsigned char com)
{       
  RS_CLR;
  RW_CLR;
  EN_SET;
  DataPort = com;
  delay_ms(5);
  EN_CLR;
}

//***********************************************************************
//        显示屏数据写入函数
//***********************************************************************
void LCD_write_data(unsigned char data)
{
  RS_SET;
  RW_CLR;
  EN_SET;
  DataPort = data;
  delay_ms(5);
  EN_CLR;
}

//***********************************************************************
//        显示屏清空显示
//***********************************************************************

void LCD_clear(void)
{
  LCD_write_com(0x01);
  delay_ms(5);
}

//***********************************************************************
//函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字
//***********************************************************************
void DisplayCgrom(uchar addr,uchar *hz)
{
  LCD_write_com(addr);
  delay_ms(5);
  while(*hz != '')  
  {
    LCD_write_data(*hz);
    hz++;
    delay_ms(5);
  }

}

//****************************************************************
//函数名称:Display()显示测试结果
//****************************************************************
void Display(void)
{
  DisplayCgrom(0x80,"欣世纪电子欢迎你");
  DisplayCgrom(0x88,"旺:jingyehanxing");
  DisplayCgrom(0x90,"www.avrgcc.com  ");
  DisplayCgrom(0x98,"电话057487470625");
}

//***********************************************************************
//        显示屏初始化函数
//***********************************************************************
void LCD_init(void)
{
  LCD_write_com(FUN_MODE);                        //显示模式设置
  delay_ms(5);
  LCD_write_com(FUN_MODE);                        //显示模式设置
  delay_ms(5);
  LCD_write_com(DISPLAY_ON);                        //显示开
  delay_ms(5);
  LCD_write_com(CLEAR_SCREEN);                        //清屏
  delay_ms(5);
}

//***********************************************************************
//      主程序
//***********************************************************************
void main(void)
{
  WDT_Init();                                   //看门狗设置
  Clock_Init();                                 //系统时钟设置
  Port_Init();                                  //系统初始化,设置IO口属性
  delay_ms(100);                                //延时100ms
  LCD_init();                                   //液晶参数初始化设置
  LCD_clear();                                  //清屏
  while(1)
  {
    Display();                                  //显示汉字
  }
}

一周热门 更多>

相关问题

    相关文章