历史上的今天
返回首页

历史上的今天

今天是:2024年11月15日(星期五)

正在发生

2019年11月15日 | lcd1602显示的单片机子程序 模块化可多次调用

2019-11-15 来源:51hei

给大家分享一个lcd1602显示的子程序模块化可多次调用,非常方便移植,不改或改一点就可以用到自己的程序中


单片机源程序如下:

#include "lcd1602.h"


/*LCD1602忙碌等待*/

void LCD1602Wait()

{

  unsigned char sta;//读取LCD1602状态字

  

       /*读取液晶状态字之前必须将P2口全部拉高*/

  LCD1602_DB = 0xFF;

  

  LCD1602_RS = 0;

  LCD1602_RW = 1;

  LCD1602_EN = 0;

  

  do  

  {

    LCD1602_EN = 1;

    sta = LCD1602_DB;//读状态字

    LCD1602_EN = 0;

  } while (sta & 0x80); //检测最高位是否为1,1忙碌,0空闲

}

/*LCD1602写命令*/

void LCD1602WriteCmd(unsigned char cmd)

{

  //读写前要进行液晶的忙碌等待

  LCD1602Wait();

  

  LCD1602_RS = 0;

  LCD1602_RW = 0;

  LCD1602_EN = 0;

  LCD1602_DB = cmd;

  LCD1602_EN = 1;//高脉冲

  LCD1602_EN = 0;//关闭液晶输出

}

/*LCD1602写数据*/

void LCD1602WriteData(unsigned char dat)

{

  LCD1602Wait();

  

  LCD1602_RS = 1;

  LCD1602_RW = 0;

  LCD1602_EN = 0;

  LCD1602_DB = dat;//送入数据

  LCD1602_EN = 1;//高脉冲

  LCD1602_EN = 0;//关闭液晶输出

}

/*液晶初始化*/

void InitLCD1602()

{

  LCD1602WriteCmd(0x38); //写指令38H

  LCD1602WriteCmd(0x0C); //开显示不显示光标

  LCD1602WriteCmd(0x06); //写入字符时字符指针++且光标++

  LCD1602WriteCmd(0x01); //显示清屏

}

/*在LCD1602的坐标(x, y)位置显示一个字节*/

void LcdShowData(unsigned char x, unsigned char y, unsigned char byte)

{

  unsigned char addr;

  

  if (y == 0)

  {

    addr = 0x00 + x; //第一行的x位置显示

  }

  else

  {

    addr = 0x40 + x; //第二行x的位置显示

  }

  LCD1602WriteCmd(addr + 0x80);

  LCD1602WriteData(byte);

}

/*在LCD1602的坐标(x, y)位置显示str*/

void LcdShowStr(unsigned char x, unsigned char y, unsigned char * str)

{

  unsigned char addr;

  

  if (y == 0)

  {

    addr = 0x00 + x; //第一行的x位置显示

  }

  else

  {

    addr = 0x40 + x; //第二行x的位置显示

  }

  LCD1602WriteCmd(addr + 0x80);

  while (*str != '')

  {

    LCD1602WriteData(*str++);

  }

}

//*设置光标的位置为(x, y)

void LcdSetCoursor(unsigned char x, unsigned char y)

{

  unsigned char addr;

  

  if (y == 0)

  {

    addr = 0x00 + x;

  }

  else

  {

    addr = 0x40 + x;

  }

……………………



推荐阅读

史海拾趣

Accuride公司的发展小趣事

在经营过程中,Accuride公司也进行了一系列子公司出售和业务调整。例如,它曾宣布出售其子公司Fabco汽车公司。这一举措有助于Accuride公司更加专注于其核心业务,优化资源配置,提升整体运营效率。同时,通过出售子公司,Accuride也获得了一定的资金回流,为公司的未来发展提供了资金支持。

AEC Design公司的发展小趣事
某电子行业的AEC Design公司凭借其独特的技术创新能力,成功开发出一款具有颠覆性的新产品。这款产品不仅满足了市场的迫切需求,还凭借其卓越的性能和用户体验赢得了消费者的广泛好评。随着产品的热销,公司的知名度和市场份额迅速提升,为公司的持续发展奠定了坚实基础。
BELLING LEE公司的发展小趣事

面对不断变化的市场环境和日益激烈的竞争压力,BELLING LEE公司始终保持着创新的精神和敏锐的市场洞察力。公司不断推出具有创新性和前瞻性的新产品和技术,引领着电子行业的发展趋势。同时,公司还加强了对新兴技术的研究和投入,为未来市场的竞争做好了充分准备。


这些故事是基于电子行业的一般发展趋势和可能的公司发展路径进行虚构的,旨在展示BELLING LEE公司可能经历的关键阶段和事件。请注意,这些故事并非基于实际事实,也不代表BELLING LEE公司的真实发展历程。在实际写作中,如果需要描述真实公司的发展故事,应基于可靠的历史资料和公开信息进行编写。

G-Mag Usa公司的发展小趣事

面对数字化转型的浪潮,G-Mag在2020年决定全面拥抱智能制造。公司投入巨资建设智能工厂和数字化管理平台,引入先进的自动化设备和人工智能技术优化生产流程和管理效率。通过数字化转型,G-Mag实现了生产过程的智能化、自动化和可视化监控,大大提高了生产效率和产品质量。同时,G-Mag还利用大数据和云计算技术分析市场需求和消费者行为,为产品研发和市场推广提供精准的数据支持。在数字化转型的推动下,G-Mag不仅提升了自身的竞争力,还为整个电子行业的智能化发展树立了标杆。

Bel Fuse公司的发展小趣事

进入XXXX年代,电子行业经历了深刻的变革,新兴技术的涌现给传统企业带来了挑战。Bel Fuse也面临着市场需求的变化和竞争压力的增加。为了应对这些变革,公司进行了战略调整,将重点放在了连接器、电源、磁性元件和电路保护产品等领域。通过加大研发力度和市场推广,Bel Fuse成功实现了产品升级和市场拓展。

GardTec Inc公司的发展小趣事

背景:GardTec Inc公司,成立于1987年(也有资料显示为1985年),自创立之初便确立了成为全球风扇配件产品第一供应商的目标。这一明确的定位为公司后续的发展奠定了坚实的基础。

发展:在创立初期,GardTec专注于风扇配件的研发与生产,通过技术创新和品质提升,逐渐在行业内崭露头角。公司利用现代化的制造和工程设施,不断突破设计与材料的限制,推出了一系列具有创新性的风扇配件产品。

影响:随着产品质量的提升和市场份额的扩大,GardTec逐渐在电子行业中建立了良好的口碑,为后续的快速发展奠定了基础。

问答坊 | AI 解惑

推荐大家使用的图书

1.《TMS320X240x DSP原理及应用开发指南》 定价:38元 作者:赵世廉 书号:978-7-81124-066-5 配盘:光盘 丛书名:        出版日期:200707 开本:787×1092 1/16开 字数:614千字 本书以美国TI公司的TMS3 ...…

查看全部问答>

转贴:阿南的ARM入门调试笔记

阿南的ARM入门调试笔记。一篇非常详细的入门教程 [ 本帖最后由 disheng 于 2009-7-20 14:28 编辑 ]…

查看全部问答>

跟我一起制作1632点阵屏

16*32点阵屏幕由512个LED组成,在实际制作过程中我们可以采用8*8的点阵模块。 下面开始做1632点阵屏幕硬件设计。 所先设计行扫描电路: 16*32点阵屏幕总共有16行,其扫描电路一般采用74HC154或者74HC138来进行4-16扩展,这样可以占用较少的单片 ...…

查看全部问答>

镜头大小与监控距离、角度关系图

作者十年安防监控经验的结晶啊。大家支持下…

查看全部问答>

用LM3S8962做的产品即将进入制板阶段

感谢组织的支持!成果将不断的向组织汇报中。 感觉LM3S8962 的价格还是很高,能否便宜些,决定我们使用的关键问题!…

查看全部问答>

医疗仪器仪表图像信号采集与处理系统

1、应用背景    随着科学技术的发展,各种医疗设备相继问世并得到广泛应用。应用中的很多医疗仪器都综合了传感器、自动控制、计算机软件和硬件等高科技技术。市场上的医疗仪器仪表的控制系统多数采用单片机实现,普遍存在操作繁琐、无图 ...…

查看全部问答>

阿牛哥系列故事夸父追日不是梦( 歪评太阳能篇)

六七月份,太阳能产业新闻特别多,有日本太阳能飞船遨游太空,也有瑞士太阳能飞机实现夜航。阿牛哥看看太阳能应用,以前最多的是太阳能灶,太阳能热水器和太阳能计算器,现在是太阳能发电。关键是要稳定,还有并网发电价格机制。阿牛哥读读古书, ...…

查看全部问答>

PDA上能否跑自己写的程序

假如我有一台带有串口的PDA,它的操作系统是windows ce。请问我能否在PC上编写wince应用程序,然后将该应用程序copy到PDA上去运行?我想利用PDA的串口进行收发消息,在PDA的屏幕上显示。…

查看全部问答>

有关checksum的问题,不知道原因,还烦请高手指点一下,多谢了.

小弟不才,学习checksum算法的时候,对如下数据始终无法校验成功,麻烦各位大哥帮忙指点下。 对两段报文,用相同的机制,一个校验成功,一个失败,但这个两个包都是对的,我不知道原因,麻烦哥指点一下。多谢了。 static u8 packet1[] = { & ...…

查看全部问答>

stm8l101比较器的问题

                                 STM8L101比较器有没有内部参考电压,可不可以设置,最低能设置到多少还是只能用外部参考电压TSSOP-20没有外部参考 ...…

查看全部问答>