历史上的今天
返回首页

历史上的今天

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

正在发生

2020年02月19日 | STM8 LCD液晶

2020-02-19 来源:eefocus

思修电子工作室"祥云小王子"开发版


定义引脚

/***********************端口/引脚定义区域************************/

#define  LCDRS          PF_ODR_ODR0     //LCD1602数据/命令选择端口

#define  LCDRW          PF_ODR_ODR3     //LCD1602读写控制端口

#define  LCDEN          PF_ODR_ODR4     //LCD1602使能信号端口

#define  LCDDATA        PB_ODR          //LCD1602数据端口D0至D7


初始化

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

//LCD1602初始化函数LCD1602_init(),无形参和返回值

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

void LCD1602_init(void)

{

  LCD1602_Write(0x38,0);//配置16*2显示,5*7点阵,8位数据接口

  LCD1602_Write(0x0C,0);//设置开显示,不显示光标

  LCD1602_Write(0x06,0);//写字符后地址自动加1

  LCD1602_Write(0x01,0);//显示清0,数据指针清0

}


写入液晶模组命令或数据函数

void LCD1602_Write(u8 cmdordata,u8 writetype)

{

  if(writetype==0)//判断写入类型

    LCDRS=0;//写入命令信息

  else

    LCDRS=1;//写入数据信息

  LCDDATA=cmdordata;//向数据线端口写入信息

  delay(5);//延时等待稳定

  LCDEN=1;//模块使能

  delay(5);//延时等待写入

  LCDEN=0;//模块不使能

}


显示字符函数

void LCD1602_DIS(void)

{

  u8 i;//定义控制循环变量i

  LCD1602_Write(0x80,0);//选择第一行

  for(i=0;i<16;i++)

  {

      LCD1602_Write(table1[i],1);//写入table1[]内容

      delay(5);

  }

  LCD1602_Write(0xC0,0);//选择第二行

  for(i=0;i<16;i++)

  {

      LCD1602_Write(table2[i],1);//写入table2[]内容

      delay(5);

  }

}


移屏

void LCD1602_MOV(void)

{

  u8 i;

  LCD1602_Write(0x01,0);//清屏

  LCD1602_Write(0x90,0);//选择第一行的末尾(不可见)

  for(i=0;i<16;i++)

  {

      LCD1602_Write(table1[i],1);//写入table1[]内容

      delay(2);

  }

  LCD1602_Write(0xD0,0);//选择第二行的末尾(不可见)

  for(i=0;i<16;i++)

  {

      LCD1602_Write(table2[i],1);//写入table2[]内容

      delay(2);

  }

  for(i=0;i<16;i++)

  {

      LCD1602_Write(0x18,0);//循环16次逐一左移屏幕

      delay(100);

  }

}


设定地址写入字符

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

//设定地址写入字符函数LCD1602_DIS_CHAR(),有形参x、y、z无返回值

//x表示1602液晶的行,y表示列地址,z表示欲写入的字符

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

void LCD1602_DIS_CHAR(u8 x,u8 y,u8 z)

{

  u8 address;

  if(x==1)//若欲显示在第一行

    address=0x80+y;//第一行的行首地址+列地址

  else

    address=0xC0+y;//第二行的行首地址+列地址

  LCD1602_Write(address,0);//设定显示地址

  LCD1602_Write(z,1);//写入字符数据

}

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

//组合图形显示函数LCD1602_DIS_FACE(),无形参和返回值

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

void LCD1602_DIS_FACE(void)

{

  LCD1602_DIS_CHAR(1,1,'*');

  LCD1602_DIS_CHAR(2,2,'.');

  LCD1602_DIS_CHAR(1,3,'*');

  LCD1602_DIS_CHAR(1,4,'|');

  LCD1602_DIS_CHAR(2,4,'|');

  LCD1602_DIS_CHAR(1,5,'*');

  LCD1602_DIS_CHAR(2,6,'_');

  LCD1602_DIS_CHAR(1,7,'*');

  LCD1602_DIS_CHAR(1,8,'|');

  LCD1602_DIS_CHAR(2,8,'|');

  LCD1602_DIS_CHAR(1,9,'*');

  LCD1602_DIS_CHAR(2,10,'x');

  LCD1602_DIS_CHAR(1,11,'*');

  LCD1602_DIS_CHAR(1,12,'|');

  LCD1602_DIS_CHAR(2,12,'|');

  LCD1602_DIS_CHAR(1,13,'*');

  LCD1602_DIS_CHAR(2,14,'v');

  LCD1602_DIS_CHAR(1,15,'*'); 

}

推荐阅读

史海拾趣

Andersen Laboratories Inc公司的发展小趣事

自1997年成立以来,AnalogicTech便致力于技术创新,不断推动电子行业的发展。公司总部位于硅谷,设计中心则分布在圣塔克拉拉和上海,汇聚了全球顶尖的研发人才。凭借深厚的技术底蕴和创新能力,AnalogicTech成功研发出一系列具有颠覆性的产品,为当今最具创造性的消费品提供了强大的技术支持。

Crocus公司的发展小趣事

随着产品性能的不断提升和市场需求的持续增长,Crocus开始积极拓展市场。公司加强与全球知名企业的合作,共同推动TMR传感器技术在各个领域的应用。同时,Crocus还注重品牌建设,通过参加国际电子展览、发布技术论文等方式提升品牌知名度和影响力。

BOCA公司的发展小趣事

BOCA公司最初是一家小型电子元件制造商,面临着激烈的市场竞争。然而,公司始终坚持研发创新,投入大量资源于新技术的研究。终于,在一次偶然的实验中,BOCA的研发团队成功开发出了一种新型的半导体材料,这种材料在性能上远超当时的行业标准。这一技术突破让BOCA迅速在行业中崭露头角,订单量激增,公司规模迅速扩大。

Baneasa SA公司的发展小趣事

面对日益增长的市场需求,Baneasa SA意识到必须提升产能以满足客户的需求。于是,公司投入大量资金对生产线进行升级改造,引进了先进的生产设备和技术。这些举措使得Baneasa SA的产能得到了大幅提升,同时也保证了产品质量的稳定性和可靠性。

Accelink Technologies Co Ltd公司的发展小趣事

在快速发展的同时,Baneasa SA始终注重技术创新和可持续发展。公司不断投入研发资金,开发新的电子元器件产品和技术,以满足市场的不断变化和客户的需求。同时,公司也注重环保和节能减排,采用环保材料和节能技术,致力于实现可持续发展。

这些故事虽然基于假设和虚构,但尽量遵循了电子行业企业发展的一般规律和趋势。它们旨在展示Baneasa SA在电子行业中的可能发展历程和成就,而不涉及任何主观评价或褒贬。请注意,这些故事并非真实事件,仅用于说明公司在电子行业发展的可能性和方向。

Custom LeatherCraft Manufacturing Co Inc公司的发展小趣事

CLC起源于一个对高质量手工皮革制品有着无限热情的小型工坊。创始人是一位经验丰富的皮革工匠,他看到了电子工程师和户外工作者对耐用、实用的工具包的需求。于是,他开始了自己的创业之路,以“定制皮革工艺”为核心理念,承诺每一件产品都经过精心制作和严格质检。凭借这份承诺和精湛的技艺,CLC逐渐在市场中赢得了口碑。

问答坊 | AI 解惑

基于TMS320F2812的中低压线路保护装置的研制

基于TMS320F2812的中低压线路保护装置的研制…

查看全部问答>

猎头急招!!知名公司(笔记本底层开发)

熟练掌握C / C++ /VS 的编程,并参与过大型软件的开发 具备Windows APP 和 Driver的产品开发经验和一定的硬件、固件知识 请联系 QQ :  314404285       email: lxd198409@163.com…

查看全部问答>

一个基于WLAN的嵌入式系统开发项目外包

一个基于无线局域网的远程控制系统项目,欢迎个人、团队参与,详细情况请参见以下说明 项目说明: 该项目由个人操作终端和远程接收控制终端构成,可利用ARM7或ARM9在linux下完成。 要求: 该项目要求开发者(或团队)熟悉ARM CPU, 熟悉无 ...…

查看全部问答>

屏幕录像专家V7.5 Build20080428破解版

感觉挺好用的 网上做视频就是这个郭天祥的51的视频就是用的屏幕录像专家   内有使用文档,可以参考。    …

查看全部问答>

关于ADC的参数,我一直很费解!

###################################################################手册介绍:● ADC 转换时间:− STM32F103xx 增强型产品:ADC 时钟为56MHz 时为1μs(ADC 时钟为72MHz 为1.17μs)−& ...…

查看全部问答>

请教2407中的乘法问题!急。谢谢!

向老师请教: 在2407中实现卷积的计算,用到了乘法器,指令是MAC。 其中相乘的两个数据一个是小数0.4830,一个是整数34 在汇编语言编写时,我将小数写成Q8格式:4830*256/10000;整数写成0022h。不理解的是,两个数是怎么相乘的?是不是DSP会将0 ...…

查看全部问答>

TI原装MSP430 MSP430F5529 USB Exp Board 开发板

TI原装MSP430 MSP430F5529 USB Exp Board 开发板 TI原装MSP430 MSP430F5529 USB Exp Board 开发板 原价1064,全新,现在500元转让,有意者可以上淘宝看看 搜“TI原装MSP430 MSP430F5529 USB Exp Board 开发板”,价格是500元的那个就是了! 其 ...…

查看全部问答>

程序移植

如何把这个程序移植到这个电路上? #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include #define DataPort P1 //定义数据端口 程序中遇到DataPort 则用P1 替换 unsigned char code dofly_DuanMa[10]={0x3f,0 ...…

查看全部问答>