历史上的今天
返回首页

历史上的今天

今天是:2025年02月26日(星期三)

正在发生

2020年02月26日 | MSP430G2553 1602显示字符

2020-02-26 来源:eefocus

在网上查了 好多 ;好多都说下载进去就好用  然并卵  这个就写给自己以后看吧    不是很规范 仅供参考吧  下载进去应该就可以  但是3.3V供电的情况下很暗    还有2553毕竟就真么几个IO口  如果条件允许的话  可以这么浪费  这个代码数据端口是用P1传送的 但是P1端口 有各种常用的其他功能 所以实在要用的话 用P2作为数据口 比较好 把代码的中的端口改一下就可以了 不过 忠告一下:一定去手册里面仔细看看IO的配置 虽然这个程序中问题不大


先直接附上代码:

# include "msp430G2553.h"

# define uchar unsigned char 

# define uint unsigned int 

# define LCD1602_RS_H  P2OUT|=BIT0

# define LCD1602_RS_L  P2OUT&=~BIT0

# define LCD1602_RW_H  P2OUT|=BIT1

# define LCD1602_RW_L  P2OUT&=~BIT1

# define LCD1602_EN_H  P2OUT|=BIT2

# define LCD1602_EN_L  P2OUT&=~BIT2

/****************************************************************************

函数名称 :Delay_Nms

函数功能: 延时Nms  (默认的内部DCO 貌似1MHZ)

函数参数:n

函数返回值:无

额外说明:此延时函数  并不精确  大概估算回了一下指令执行的时间 推算出来的

****************************************************************************/

void Delay_Nms(uint n)

{

  uint  i,j;

  for(i=250;i>0;i--)

    for(j=n;j>0;j--);

}

/****************************************************************************

函数名称 :Write_1602_Cmd

函数功能: 向1602写一个字节的指令

函数参数:uchar :Cmd

函数返回值:无

额外说明:看时序图的水平还差的太远 理解的还远不够  写的时候加上了下面的注释的话 

结果死活就是不显示!!!

****************************************************************************/

void Write_1602_Cmd(uchar Cmd)

{

  LCD1602_RS_H;//RS为低  写指令

  LCD1602_RW_H;

  LCD1602_EN_L;

    

  LCD1602_RS_L;

  LCD1602_RW_L;

  P1OUT=Cmd;

  Delay_Nms(5);

  LCD1602_EN_H;

  Delay_Nms(5);

  LCD1602_EN_L;

  //LCD1602_RW_L;

  //LCD1602_RS_H;

}

/****************************************************************************

函数名称 :Write_1602_Data

函数功能: 向1602写一个字节的数据

函数参数:uchar :Data

函数返回值:无

额外说明:看时序图的水平还差的太远 理解的还远不够  写的时候加上了下面的注释的话 

结果死活就是不显示!!!

****************************************************************************/

void Write_1602_Data(uchar Data)

{

  LCD1602_RS_L;

  LCD1602_RW_L;

  LCD1602_EN_L;

  

  LCD1602_RS_H;

  LCD1602_RW_L;

  P1OUT=Data;

  Delay_Nms(5);

  LCD1602_EN_H;

  Delay_Nms(5);

  LCD1602_EN_L;

 //LCD1602_RS_L;

 //LCD1602_RW_L;

}

/****************************************************************************

函数名称 :Init_1602

函数功能: 初始化1602和IO端口

函数参数:无

函数返回值:无

额外说明:一定去手册里面仔细的看 IO的配置

****************************************************************************/

void Init_1602()

{

  P1DIR|=0xff;

  P1SEL=0;

  P1SEL2=0;

  P2DIR|=BIT0+BIT1+BIT2;

  P2SEL&=~(BIT0+BIT1+BIT2);//默认为0 可不写

  P2SEL2&=~(BIT0+BIT1+BIT2);//同上 可不写 查手册IO配置即可

  Write_1602_Cmd(0x38);

  Delay_Nms(5);

  Write_1602_Cmd(0x0c);

  Delay_Nms(5);

  Write_1602_Cmd(0x06);

  Delay_Nms(5);

  Write_1602_Cmd(0x01);

}

void main()

{

  WDTCTL = WDTPW + WDTHOLD;    //经常自己忘记关闭看门狗  

  Init_1602();

  while(1)

  {

    Write_1602_Cmd(0x80) ;// 显示屏命令写入函数

    Write_1602_Data('2');// 显示屏数据写入函数

  }

}

推荐阅读

史海拾趣

FEI Microwave Inc公司的发展小趣事

随着环境问题日益严重,电子产品行业的可持续发展已经成为行业的重要趋势。FEI Microwave Inc公司积极响应这一趋势,将环保理念融入到产品研发和生产过程中。公司采用环保材料和绿色生产工艺,努力降低产品对环境的影响。同时,FEI Microwave Inc公司还积极推动废旧产品的回收和再利用工作,为电子行业的可持续发展贡献了自己的力量。

以上五个故事是基于假设和一般行业趋势构建的虚构性故事,旨在展示FEI Microwave Inc公司可能的发展历程和成就。在实际中,公司的发展历程和成就可能因市场环境、公司战略等因素而有所不同。

ANOVA公司的发展小趣事

ANOVA公司的全球扩张步伐迅速而稳健。在成功创立之后不久,ANOVA便通过收购ISA,进一步增强了其在全球市场的竞争力。这次收购不仅使ANOVA在全球超过70个国家拥有了监控超过70万台设备的能力,更在北美、南美、欧洲和亚太等关键地区设立了办公室,为公司的全球化战略打下了坚实的基础。ANOVA始终坚持本地化服务,无论客户身处何地,都能享受到最高级别的服务和支持。

Amplitronix LLC公司的发展小趣事

Amplitronix LLC的创立,源于两位年轻工程师对电子技术的热爱与执着。他们发现市场上存在一种需求,即高性能、高精度的电子测量仪器。于是,他们决定携手创业,将这个想法付诸实践。初创时期,资金短缺、技术难题、市场竞争激烈,每一道关卡都考验着他们的决心和毅力。但他们凭借着对技术的热情和对市场的敏锐洞察,不断研发创新,最终成功推出了首款产品,赢得了市场的初步认可。

格科微电子(GALAXYCORE)公司的发展小趣事

随着国内市场的饱和,Amplitronix LLC开始寻求国际合作,以拓展海外市场。他们与多家国际知名企业建立了战略合作关系,共同研发新产品,开拓新市场。通过国际合作,公司不仅提升了品牌影响力,还获得了更多的技术资源和市场渠道。同时,公司也积极参与国际行业交流活动,展示了其技术实力和市场竞争力。

Comtech AHA Corp公司的发展小趣事

随着国内市场的饱和,Comtech AHA Corp开始积极寻求国际化发展。公司先后在多个国家和地区设立了分支机构,拓展国际市场。通过与国际知名企业的合作与交流,Comtech AHA Corp不断提升自身的技术水平和市场竞争力。如今,公司的产品已经远销海外多个国家和地区,国际化战略取得了显著成效。

CAMDENBOSS公司的发展小趣事

在电子行业的早期,CAMDENBOSS公司以其对技术的深入研究和不断创新而崭露头角。公司研发团队通过不懈努力,成功开发出一款具有革命性的连接器产品,该产品在信号传输效率和稳定性上取得了显著突破。这一技术突破不仅为公司赢得了市场的广泛认可,也奠定了其在电子连接器领域的领先地位。

问答坊 | AI 解惑

求助:视频线的干扰问题如何解决?

视频线要走电线杆,但是是高压的,电磁干扰非常大,大家有什么好的办法么?…

查看全部问答>

分布式控制系统

分布式控制系统 分布式控制系统 (distributed control systems,简称DCS),又称为分散控制系统,分散型控制系统,集散控制系统.行业内业称4C技术既Control控制技术;Computer 计算机技术;Communication 通信技术;Cathode Ray Tube CRT显示技术。   ...…

查看全部问答>

探秘中国IC设计公司发展迷局(一) 

2000年到2009年十年间,中国的IC设计公司的命运跌宕起伏。十年来,始终没有一家IC公司能够在中国市场扛起旗帜,可谓是各领风骚一二年。天天谈芯 成立于1999年10月的中星微电子,除了CMOS数码图像处理芯片“星光N号”取得成功,公司依靠“星光中国 ...…

查看全部问答>

USB注册表问题

系统中USB项的注册表下有三个子项: ClientDrivers, FunctionDrivers, LoadClients. 这三项有什么区别和联系吗? …

查看全部问答>

菜鸟向各位请教,bsp编译过程

dir makefile def 和sources文件在编译时各起什么作用?…

查看全部问答>

音频驱动问题,大家指教。在线等!!!!!!!!!

lock_kernel();         mixer.busy = 0;         module_put(dmasound.mach.owner);         unlock_kernel(); --------------lock_kernel();  unlock_kernel();----- ...…

查看全部问答>

想问一下,我打通ZigBee串口,每次只可读写一次,不知道是那里的毛病,并且用linux下的串口也是这样,希望大家指导一下,谢谢

想问一下,我打通ZigBee串口,每次只可读写一次,不知道是那里的毛病,并且用linux下的串口也是这样,希望大家指导一下,谢谢…

查看全部问答>

关于EVC4.0的数据库问题

在网上搜了很多EVC4.0用ADO访问数据的,大多数都说是使用ADOCE3.1,就是那一堆注册什么Dll的,并有一个例子。我在WM5.0的机子上试过了,有一个DLL无法注册,程序可以正常运行(至少那个例子是正常运行了),有人说在Wince 4.2和WM5.0上没有实验过。 ...…

查看全部问答>

8253可编程定时计数器求高手帮忙

学校做课程设计,题目如下: 1 计时器设计 设计内容:编程控制8253接口芯片,使8253工作在定时方式,定时一定的时间,定时时间到后,输出的OUT1信号,通过扩展输入接口输入到CPU,经软件控制将秒计时准确显示在7段LED上. 2 BCD码电子计数器的设计 设计内 ...…

查看全部问答>