这几天在写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. CSDN 高校俱乐部: 排列搜索

    CSDN 高校俱乐部/英雄会 题目: 设数组a包含n个元素恰好是0..n - 1的一个排列,给定b[0],b[1],b[2],b[3]问有多少个0..n-1的排列a,满足(a[a[b[0]]]*b[0 ...

  2. jQuery中的DOM操作《思维导图》

    首先,是关于jQuery中的DOM操作的<思维导图>,请点击这里:jQuery中的DOM操作 列表框的左右选项移动 <html> <head> <title& ...

  3. ${pageContext.request.contextPath}的作用

    刚开始不知道是怎么回事,在网上也查找了一些资料,看了还是晕. 看了另一个大侠的,终于有了点眉目. 那位大侠在博客中这样写道“然后在网上找,更让我郁闷的事,TMD!网上“抄袭”的真多啊!而且扯了一大堆! ...

  4. MyEclipse取消Show in Breadcrumb的方法

    eclipse中的Show in Breadcrumb是快速导航条,可以清晰的看到我们当前的类,属性或方法的导航 定位. 如果不喜欢的话,取消掉的方法如下: Window -> Customiz ...

  5. CNN for Visual Recognition (01)

    CS231n: Convolutional Neural Networks for Visual Recognitionhttp://vision.stanford.edu/teaching/cs23 ...

  6. ios搭建开发环境

    ios搭建开发环境 好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC O ...

  7. 关于ToolStrip设置Location无效的问题

    问题现象 当多个ToolStrip使用ToolStripContainer布局时,可以让用户自己拖动工具栏,所以在程序关闭时必须保存用户拖动工具栏的位置,但是在再次打开程序后,还原回来的工具栏位置会有 ...

  8. php 数组合并方法

    $new = array(); if ($relateddepartmentsnew) { foreach ($relateddepartmentsnew as $relatK=>$relatV ...

  9. MacOSX 中如何动态隐藏Dock Icon

    XCode创建了一个GUI工程,程序分几种运行模式,一种是agent模式,还有一种是GUI界面.Agent模式是没有界面的GUI程序,通过LaunchAgents启动.创建出来的Info.plist默 ...

  10. Java Concurrency (1)

    Memory that can be shared betweenthreads is called shared memory or heap memory. The term variable a ...