历史上的今天
返回首页

历史上的今天

今天是:2025年07月14日(星期一)

正在发生

2018年07月14日 | MSP430G2553 1602显示字符

2018-07-14 来源: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');// 显示屏数据写入函数

  }

}


推荐阅读

史海拾趣

Cressall Power Resistors公司的发展小趣事

随着国内市场的饱和,Cressall开始将目光投向国际市场。公司积极参与国际电子行业的展会和交流活动,与国际同行建立了广泛的联系。通过与国外企业的合作,Cressall不仅引进了先进的技术和管理经验,还成功打开了多个海外市场。同时,公司还加强了与国际知名企业的战略合作,共同开发新产品,进一步提升了公司的国际竞争力。

ENSIGN公司的发展小趣事

为了拓展国际市场,ENSIGN与韩国Feelux成立合资公司Feelux Shanghai,共同为高端品牌提供更专业的服务。这一举措不仅增强了ENSIGN的品牌影响力,还为公司带来了更多的商业机会。同时,ENSIGN还成为了Coelux的中国区经销商,进一步扩大了其在国际市场的份额。

Chemtronics公司的发展小趣事

Chemtronics一直坚守严格的质量标准。公司自早期起就遵循ISO9001:2000的质量标准来制造产品,确保每一款产品都达到同等高质量。这种对质量的坚持不仅赢得了客户的信任,也为公司在竞争激烈的电子行业中树立了良好的口碑。

Focus公司的发展小趣事

Focus Enhancements, Inc.(根据参考文章中的信息)是一家无晶圆厂集成电路(IC)公司,专注于为家庭影院系统、便携式媒体播放器、智能手机等消费电子设备开发和销售IC解决方案和组件。自1996年以来,该公司凭借其强大的研发团队和敏锐的市场洞察力,不断推出创新产品,赢得了包括微软、东芝、LG、索尼等全球知名OEM厂商的青睐。随着物联网和智能设备的兴起,Focus Enhancements加大了对低功耗、高性能芯片的研发力度,成功拓展了智能家居、可穿戴设备等领域的应用市场。

常州星海电子(Starsea)公司的发展小趣事

在电子行业,技术创新是企业持续发展的关键。常州星海电子一直致力于技术的研发和创新。近年来,公司成功取得了一项名为“一种高反压二极管”的专利,通过采用先进的生产工艺和设计,实现了产品性能的优化和成本的降低。这一创新不仅提升了公司的市场竞争力,也为整个电子行业的发展注入了新的活力。

BESTECH公司的发展小趣事

常州星海电子有限公司,自1990年成立以来,便以生产中英合资的各类二极管为起点,逐渐在电子行业中崭露头角。随着公司业务的不断发展和市场需求的增长,2016年,公司正式更名为常州星海电子股份有限公司,完成了从合资到股份制的转变。这一转变不仅标志着公司管理结构的升级,也预示着公司在未来市场中的更大发展。

问答坊 | AI 解惑

信号发生器资料

信号发生器资料,我做的是侯找的资料,放一起分享了 朋友们可能用得着...............…

查看全部问答>

NEC单片机的11个例程

本帖最后由 paulhyde 于 2014-9-15 03:45 编辑 文件夹中一共11个程序,有很详细的说明,希望对初学NEC单片机和想学习NEC单片机的人有帮助,由于本人学习NEC单片机时间比较短,程序中有错误的还希望大家指点,单片机是0537DA  …

查看全部问答>

数字示波器

各位大虾:我们要选一款数字示波器,要求是能够进行远程访问,用于嵌入式系统开发的,不知道选择什么样的能符合要求?希望有用过的虾们给个提示,谢谢!!!…

查看全部问答>

江湖救急--WDK6000开发的驱动XP下装不上

请教各位大侠。 我在wdk6000下基于KMDF开发了一个PCI设备的驱动,在Vista下能正常的安装和使用。按照微软提供的文档,Build Environments选为\"Windows XP\"后编译的驱动在XP下安装却报错:Windows无法加载这个硬件的设备驱动程序,驱动程序可能已 ...…

查看全部问答>

学习STM8的好文章(转)

第一节: 心情和时钟说实话我能够使用的单片机不多,我总是以为无论什么单片机都能开发出好的产品。前些年用51,总是向各位大大学习,无休止的索取,在网上狂览一通。心里感激的同时也想奉献一些,可是我会什么?后来使用avr(公司要求)还是向大大 ...…

查看全部问答>

PIC单片机LCD驱动问题

PIC16lf1937使用3V电源,Lcd脚的驱动能力的多大?比如,我的LCD玻璃片额定电压应该做多少(1/3偏置,1/4占空),望高手给个建议。谢谢!…

查看全部问答>

基于SN65HVD22的485通讯电路

附近是基于SN65HVD22的485通讯电路该485芯片内部自带静电保护功能,传输距离可达1200米,支持256个结点,500K的传输速率由于条件限制,实际测试只是在500米左右16个结点9600~115200波特率情况下测试,完全能够满足要求附件电路中添加了6N137的光电 ...…

查看全部问答>

弄了块stm32f407的板子,悲催的发现找不到驱动,连上电脑说驱动没安装

只想问下,哪里可以下载它的驱动?我自己下了个PL2303但是还是不行…

查看全部问答>

如何利用TIM1输出6路互补的PWM,控制电机

各位同仁们,本人刚接触电机  现在手上有一款开发板 还有个电机  想利用TIM1输出6路互补PWM,来控制电机 不知道如何下手,电机是带HALL传感器的 已经知道HALL的正转和反转的顺序  就是不知道如何让电机转起来 TIM1_C ...…

查看全部问答>