这几天在写ht1621b显示LCD的程序,主芯片是Stm32f10的芯片。对于stm32和ht1621b的运用和操作本人是新手,属于赶鸭子上架,通过查看datasheet等资料和网上查看前人写的程序终于完成了LCD的显示,在此做个记录以备不时之需,并希望像能帮助想我一样的新人少走点弯路和共同学习。

  1. 接口脚和显示内存。
      ht1621b的接口脚主要有4个,分别是CS脚,DATA脚,WR脚,RD脚。我们只对LCD进行显示的话可以不用考虑RD脚。CS脚用于初始化串行接口电路和结束主控制器与HT1621之间的通讯。CS脚设置为1 时主控制器和HT1621之间的数据和命令无效并初始化。在产生模式命令或模式转换之前必须用一个高电平脉冲初始化HT1621的串行接口。DATA脚是串行数据输入/输出管脚,读/写数据和写命令通过管脚DATA进行。RD脚是读时钟输入管脚。在RD信号的下降沿时数据输出管脚DATA上。在RD信号上升沿和下一个下降沿之间,主控制器应读取相应的数据。WR脚是写时钟输入管脚,在WR信号上升沿时,管脚DATA上的数据、地址和命令被写入HT1621。可选的管脚IRQ可用作主控制器和HT1621之间的接口,IRQ可用软件设置作为定时器输出或WDT溢出标志输出。主控制器与HT1621的IRQ脚相连接后,可以实现时基或WDT 功能。
      ht1621b的显示内存是以32X4位的格式储存所显示的数据,RAM的数据直接映象到LCD 驱动器,可以使用读写命令访问。
    当初本人也是不理解“RAM的数据直接映象到LCD 驱动器,可以使用读写命令访问”,这句话的含义,网上也看到很多人对这句话不解。我们可以看一下ht1621b的RAM映象图和LCD映象图不难发现他们的关系。
    从映象图中可以看出,每个ht1621b的地址都都对应LCD,而对ht1621b的地址4位操作都对应LCD的一个“灯管”。地址的每一位0代表“”
  2. 时序图。
    只有按照ht1621b的时序读写数据才能完成一个数据的读写。下面我们来看看读模式的时序图,
    可以看出在读写模式之前先拉低管脚cs,再把管脚WR拉低等待数据的写入,管脚DATA写入101表示为写模式,每次写完一位后拉高管脚WR完成写入,再拉低管脚WR再次等待写入。写入模式要写6位表示地址的数据,程序中实现就是拉高拉低6次,后面的表示数据。当CS的上升沿到达时表示一数据写入完成。更多的时序请看ht1621b的datasheet。
    以下是驱动代码,仅供参考,写的不好希望大神指正。
    下载
    转载请注明出处:http://www.cnblogs.com/fyluyg/p/5880584.html

STM32驱动ht1621b显示LCD的更多相关文章

  1. STM32驱动ILI9341控制器控制TFTLCD显示

    STM32驱动ILI9341控制器控制TFTLCD显示 一.用STM32控制TFTLCD显示的编程方法,在编程驱动TFTLCD液晶显示器之前,我们先熟悉以下概念: 1.色彩深度,这是一个与TFTLCD ...

  2. STM32学习之路-LCD(4)<显示字符>

    昨晚疯狂的打了一夜的LOL,感觉L多了,今天一天精神萎靡.还是继续把显示字符给看了,可是在犹豫要不要写这篇文章 事实上写的东西也就是copy别人家的代码,不想写那么多,就记录下自己困惑的地方吧.也许改 ...

  3. STM32驱动LCD实战

    前段时间写了<STM32驱动LCD原理>和<STM32的FSMC外设简介>两篇文章,本文将对STM32驱动LCD进行实战应用.LCD是深圳市拓普微科技开发有限公司的LMT028 ...

  4. Arduino+ESP32 之 驱动GC9A01圆形LCD(二),移植LVGL,跑示例程序,显示自制图片

    在前文Arduino+ESP32 之 驱动GC9A01圆形LCD(一), 我们已经移植好了arduino GFX库, 该库的示例程序内,还有LVGL的示例程序哦. arduino环境下移植lvgl是很 ...

  5. esp8266的STM32驱动

    esp8266的STM32驱动,数据发送接收由DMA完成,释放CPU. 目前只能发送返回消息为成功或失败的AT命令,并判断是否成功,详见esp8266_cmd():其它返回消息不可预知的命令(如查看A ...

  6. STM32驱动OV7725摄像头颜色识别

    实验目的: 使用stm32驱动OV7725摄像头进行图像实时采集,在tft屏幕上实时显示并识别图像中的特定颜色,在颜色的周围画上框. 实验现象: 我的工程代码链接: http://download.c ...

  7. STM32—驱动GY85-IMU模块

    GY85是一个惯性测量模块,内部集成了三轴加速度计.三轴陀螺仪.电子罗盘.气压传感器等芯片,用于测量和报告设备速度.方向.重力,模块可以将加速度计.陀螺仪.电子罗盘等传感器的数据进行综合,在上位机可以 ...

  8. 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  9. 联盛德 HLK-W806 (九): 软件SPI和硬件SPI驱动ST7789V液晶LCD

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

随机推荐

  1. iOS基础 - 多线程线程

    一.多线程的应用 l 充分发挥多核处理器的优势,并发(同时执行)执行任务让系统运行的更快.更流畅 二.进程与线程概念 l 一个运行的程序就是一个进程或者叫做一个任务 l 一个进程至少包含一个线程,线程 ...

  2. 【学习笔记】锋利的jQuery(四)AJAX

    一.load()方法 /* *如果没有参数传递,采用GET方式传递 *如果有参数,则自动转换成POST方式传递 *无论Ajax是否请求成功,请求完成后回调函数触发 */ load("test ...

  3. noip推荐系列:遥控车[字符串+高精+二分答案]

    [问题描述] 平平带着韵韵来到了游乐园,看到了n辆漂亮的遥控车,每辆车上都有一个唯一的名字name[i].韵韵早就迫不及待地想玩名字是s的遥控车.可是韵韵毕竟还小,她想象的名字可能是一辆车名字的前缀( ...

  4. c语言,string库函数itoa实现:将int转换为char*

    原型:char  *itoa(int   value,char   *string)        功能:将整数value转换成字符串存入string,默认为十进制;      说明:返回指向转换后的 ...

  5. h5 localStorage存储大小(转)

    摘要 HTML5 的本地存储 API 中的 localStorage 与 sessionStorage 在使用方法上是相同的,区别在于 sessionStorage 在关闭页面后即被清空,而 loca ...

  6. Oracle中复制表结构和表数据

    一.复制表结构及其数据 create table new_table as (select * from old_table); 二.只复制表结构 create table new_table as ...

  7. 关于Ajax无刷新分页技术的一些研究 c#

    关于Ajax无刷新分页技术的一些研究 c# 小弟新手,求大神有更好的解决方案,指教下~ 以前做项目,用过GridView的刷新分页,也用过EasyUI的封装好的分页技术,最近在老项目的基础上加新功能, ...

  8. d指针在Qt上的应用及实现

    Qt为了使其动态库最大程度上实现二进制兼容,引入了d指针的概念.那么为什么d指针能实现二进制兼容呢?为了回答这个问题,首先弄清楚什么是二进制兼容?所谓二进制兼容动态库,指的是一个在老版本库下运行的程序 ...

  9. android自定义View---生成虚线的View

    1.在res/values/目录下 新建文件 attrs.xml <?  xml   version =  "1.0"   encoding =  "utf-8&q ...

  10. 识别Andriod APK签名证书类型

    转载请注明出处 根据已知Google证书的序列号来识别APK使用哪种证书签名的 目前只列出google原生签名,其他私有签名均视为presigned #!/bin/bash # Grab cert. ...