学习笔记 合泰LCD

文章目录

  • 学习笔记 合泰LCD
  • 前言
  • 一、名称分析
  • 二、思路分析
    • 1.确实显示的位置
    • 2.确实显示内容
    • 三、自定义字符显示
      • 1、填空
    • 最终代码
  • 总结

前言

本文讲述lcd1602 的基本原理和相关的使用方法。


一、名称分析

lcd1602----16表示一行有16个字符,02表示一共有两行。

二、思路分析

1.确实显示的位置


确地位置使用指令8,也为写指令来确实位置,(RS=0)其中D6-D0为可操作位。即通过这7位2进制数表示显示屏中2*16个字符。

代码如下(示例):

/******************************************************************************/
// 函数名称:Lcd_Write_Cmd
// 输入参数:myCmd-指令
// 输出参数:无
// 函数功能:LCD1602写指令
/******************************************************************************/
void Lcd1602_Write_Cmd(uint8 cmd){Lcd1602_Busy_Check();RS = 0;RW = 0;EN = 0;//delay AB 没有说明,取消延时lcdPort = cmd;_nop_();//delay BC 延时1usEN = 1;_nop_();//delay CD 延时1usEN = 0;_nop_();//delay DE 延时1us_nop_();//delay EF 延时1us
}

2.确实显示内容

确定显示内容,使用写数据 ,(RS=1)。同样,有一个字节可以操作,具体的内容编号可以看下图。

代码如下(示例):

/******************************************************************************/
// 函数名称:Lcd_Write_Data
// 输入参数:myData-数据
// 输出参数:无
// 函数功能:LCD1602写数据
/******************************************************************************/
void Lcd1602_Write_Data(uint8 Data){Lcd1602_Busy_Check();RS = 1;RW = 0;EN = 0;//delay AB 没有说明,取消延时lcdPort = Data;_nop_();//delay BC 延时1usEN = 1;_nop_();//delay CD 延时1usEN = 0;_nop_();//delay DE 延时1us_nop_();//delay EF 延时1us
}

三、自定义字符显示

1、填空

字库表的第一列为空的,自定义的字符首先被储存在这里,即对这里进行填空,分为三个步骤。
1.那个空格,即8个中选一个。(D5-D3)
2.哪行。显示屏中的每个字符,是由8x5(行x列)个像素点组成的,自定义字符,要确定每行的中的每个点的显示情况。(D2-D0)
3.显示的内容,即5列中那些点需要被点亮。一般采用数组进行显示。
这里使用的是指令7.其中D5-D0为可操作位,


填空之后,就可以同上述的内容的一样,通过调用字库表实现显示。


最终代码

将上诉代码进行包装和结合,形成最终的两个函数。

/******************************************************************************/
// 函数名称:Lcd1602_Custom_Char
// 输入参数:row-行 col-列 pos-CGRAM位置 (8个空格中的哪一个)*customValueTable-自定义字符数据(为一个数组,对应上述的3.)
// 输出参数:无
// 函数功能:显示自定义字符
//实例//Lcd1602_Custom_Char(1,14,0,lcd1602Table1);
/******************************************************************************/
void Lcd1602_Custom_Char(uint8 row, uint8 col, uint8 pos, uint8 *customValueTable){uint8 i = 0;for(i=0;i<8;i++){Lcd1602_Write_Cmd(0x40+pos*8+i);Lcd1602_Write_Data(*(customValueTable+i));}if(row==1){Lcd1602_Write_Cmd(0x00+0x80+col-1);Lcd1602_Write_Data(0x00+pos);}else{Lcd1602_Write_Cmd(0x40+0x80+col-1);Lcd1602_Write_Data(0x00+pos);  }
}
/******************************************************************************/
// 函数名称:Lcd1602_Show_String
// 输入参数:row-行 col-列 *str-字符
// 输出参数:无
// 函数功能:LCD1602显示字符
//实例//Lcd1602_Show_String(1,1,"Hello,World!^");//Lcd1602_Show_String(2,1,"www.ppptalk.com!");
/******************************************************************************/
void Lcd1602_Show_String(uint8 row, uint8 col,uint8 *str){uint8 *defaultValue = "parameter error" ;switch(row){case 1:Lcd1602_Write_Cmd(0x00+0x80+col-1);//第一行第y个空格while(*str!='\0'){Lcd1602_Write_Data(*str);str++;}break;   case 2:Lcd1602_Write_Cmd(0x40+0x80+col-1);//第二行第y个空格while(*str!='\0'){Lcd1602_Write_Data(*str);str++;}break;default:Lcd1602_Write_Cmd(0x00+0x80);//parameter errorwhile(*defaultValue!='\0'){Lcd1602_Write_Data(*defaultValue);defaultValue++;}                    }
}

总结

使用LCD就是对这两个函数的调用。

合泰单片机HT66 LCD相关推荐

  1. 合泰单片机市场占有率_holtek单片机图文全面详解

    电子产品项目中对单片机的选型,可谓仁者见仁智者见智.合泰单片机价格适中,种类也比较齐全.下面就为大家全面介绍下holtek的单片机. holtek单片机是由盛群半导体设计开发,盛群半导体为国内专业微控 ...

  2. 合泰单片机做电压表_合泰单片机使用总结

    之前一直用ARM 系列的单片机,现在因为产品需要,用了一款合泰单片机(HT67F2360),整个开发过程中发现还是有很多差异. 一.开发环境中的一些差异# arm 系列单片机,直接用keil 接 选用 ...

  3. 合泰杯——合泰单片机工程之点亮LED

    合泰杯--合泰单片机工程1之点亮LED 前言 一.安装HT-3000IDE 二.新建一个工程 二.编写代码 总结 前言 因为团队中很多成员参加了下个学期合泰杯的比赛,所以想利用寒假的时间来整理一套例程 ...

  4. HT合泰单片机入门教程(第六章 时基中断)

    文章目录 系列文章目录 前言 一.新建工程 二.时基中断了解 1.时基中断原理 2.寄存器了解 三.时基中断实现 1.代码实现 总结 系列文章目录 第一章 HT单片机环境搭建 第二章 点亮第一个LED ...

  5. 合泰单片机市场占有率_现在市场上有哪些单片机很火的?

    大半夜强答一发. 最近接触的单片机方案不少,在此总结一下,除开题中提到的stm32,目前比较火的片子如下: 国内部分: 1.宏晶的STC12系列:12系列简直是用来替代旧项目中51的最佳片,经常在旧工 ...

  6. HT合泰单片机入门教程(第一章 HT单片机环境搭建)

    目录 系列文章目录 前言 一.合泰单片机的优势 二.IDE安装 1.HT-IDE3000下载 2.HT-IDE3000安装 三.烧录软件安装 1.HOPE3000下载 2.HOPE3000安装 总结 ...

  7. 和泰c语言函数库,合泰杯 | 合泰单片机入门 编程详解(二)

    一.说在前面: 前面我们讲解了合泰单片机 HT66F23x0 的开发环境,也举例了 LED 流水灯的是工程编写.那么今天我们就来说说,如何亲自根据芯片手册清晰的编写第一个程序呢.如果你是第一次接触合泰 ...

  8. 单片机c语言控制显示器,单片机实现LCD液晶显示器控制原理..docx

    摘 要 LCD液晶显示已经是人机界面的关键技术. 本文对基于单片机的LCD夜晶显示器 控制系统进行了研究. 首先在绪论中介绍了本课题的课题背景. 研究意义及完成的功能.本系统是以单 片机的基本语言C语 ...

  9. 合泰单片机BH66F2652开发笔记链接

    Author:家有仙妻谢掌柜 Date:2021/2/26 预计2021/2/28前更新完毕 笔记:合泰单片机BH66F2652开发(一)HT IDE安装使用 笔记:合泰单片机BH66F2652开发( ...

最新文章

  1. 研究生如何走出“迷茫”?
  2. 二十五、redis主从复制
  3. git初始化及关联远程仓库命令
  4. SAP Spartacus 里 对 isPlatformBrowser API 的使用
  5. python学生类出不来中文_Python 这类看起来学习门槛低的语言,是否真的适合入门编程学习?...
  6. rpm mysql 忘记密码_mysql密码忘记该怎么办?
  7. 移动端微信公众号开发中问题记录及解决方案
  8. 程序员很平凡,但从事着不平凡的工作!
  9. silverlight DataPager控件
  10. mysql锁问题吗_Mysql锁的问题和解析
  11. 【Codeforces Round #317 Div1 —— A】Lengthening Sticks【数学思维题】
  12. android viewholder静态,android – 静态ViewHolder并在使用RecyclerView时获取上下文
  13. 杰克·伦敦: 一块牛排
  14. 超级计算机运算中心,中国科学技术大学超级计算中心
  15. python用re模块实现数学公式计算
  16. H3C 802.11n的频宽模式
  17. 前端开发社区,前端校招面试题及解析大全
  18. 小米加密兔正式内测上线,网易星球莱茨狗又多了新对手
  19. 使用echarts+echarts-gl绘制3d地图
  20. 我的财富自由之路 - 财富的自我认知

热门文章

  1. 重装系统需要用到的软件
  2. android tv 国内使用,Android TV:使用Leanback写国内UI风格的TV应用
  3. 金融行业要翻软件定义存储SDS的牌子了吗?
  4. android局域网udp视频对讲,Android基于UDP语音对讲系列(一)
  5. 关于去除小论文中最后一页后面的空白页
  6. CameraX系列四:图片分析
  7. Volumetric Level Set Hair Workflow
  8. STM32中断笔记——关于NVIC的两个问题
  9. ggplot2画各种误差线和森林图
  10. Excel数据透视图