1. 写在前面

1.1. 本书更适合什么样的LCD 模块?

在本书的开始之处,先将本书将要介绍的LCD 圈定一个小的范围,即本书所说的LCD 指的是哪类型的LCD?

在这里将主要针对单色的点阵液晶屏(LCD)进行介绍,而且是针对LCD 模块本身就集成有驱动控制IC 的,以及显存;那些字符型以及段码型的LCD 不在介绍之例,但也可以在一定程序上参考本书的驱动编程方法来编写这些LCD 的驱动程序。此外,也有些小规模的(一般是3.5 寸以下)彩色TFT LCD 也有内置驱动控制器以及显存的,也可参考这里的介绍来编写它们的驱动程序。

1.2. 这里的LCD 驱动程序更适合于什么样的MCU

MCU 即常说的单片机,本书所介绍的通用版LCD 驱动程序其实是可以用在所有的MCU 的,只不过,笔者从应用的角度出发,建议在使用本书所介绍的驱动程序时,更适合的MCU 类型。

目前市面上的MCU 非常之多,从功能从资源角度来看的话,大概可分为以下几类:

1、 小资源MCU,类似于传统51 的89S51 单片机、PIC 等的小资源单片机等,通常它们的资源都很少,片内的ROM 少于或等于4K byte,RAM 少于或等于128 byte,速度较慢,MIPS 数通常在1M MIPS 左右;

2、 中资源MCU,这类MCU 的涵盖面非常广,在实际的产品设计中应用非常多,大概定义如一些增强型的51 单片机、中资源的AVR 单片机、16 位的MSP430 系列的中等资源单片机、凌阳的SPCE061A、PIC 的中等资源单片机等等,非常多,甚至包含至ARM7 核心的LPC 系列MCU,如LPC21XX 系列等;一般来说指的是片内的ROM 资源在8K byte以上,RAM 在256 byte 以上,MCU 的运行速度较快,片内资源丰富,应用面非常广;

3、 跑OS 的大资源MCU,这类的MCU 其实大部份指ARM7 和ARM9 核心或与这些核心同等级的处理器了,通常都会在设计中跑操作系统,也就是现在常说的32 位嵌入式处理器。

本书所介绍的LCD 驱动程序更适合于中等资源的MCU,因为它们有足够的片内资源和运行的速度,而且在应用它们的设计当中往往会涉及到LCD 的人机界面显示。

其实在此,无非就是在于说明,如果您使用一些类似2051、89S51 级别的MCU 的话,没有太多必要使用本书所介绍的驱动程序,因为很有可能连LCD 驱动中的自带字库都装不下去,不过驱动的方法还是可以参考的。

而如果您使用的是较大资源的嵌入式处理器,而且本身就跑着图形操作系统的话,更没必要了,因为往往这类MCU 都会自带有LCD 的控制器,而操作系统也带有完整的图形界面接口。

1.3. 为什么用C 语言

本书中全部的源码都是以C 语言为平台的,这点请读者确认在读本书前,自身已经具备C语言的编程基础。现下,中等资源的MCU 开发如果没有C 语言的编译器支持的话,可以说是极其少见的了;

使用C 语言对MCU 进行开发已经形成当前的主流模式,何乐而不为呢!ASM 的执行效率比C 语言的代码要好?当然,这是肯定的,不过现在的MCU 速度和性能已经提升上来了,而且很多优秀的C 编译器编译的结果就未必比自己使用ASM 编程的结果效率低。

ASM 的代码短小精悍?从某个角度来说是的,不过时下优秀的C 编译器对C 代码的优化比自已使用ASM 编写的还要好;况且,在编写结构复杂的程序时,C 语言肯定比ASM 占优势,在编程速度上和可读性以及可移植性上等。

为什么不用C 语言编程呢?

【点阵液晶编程连载一】写在前面相关推荐

  1. 【点阵液晶编程连载五】液晶驱动代码的移植

    5. 移植通用版LCD 驱动程序到另一颗MCU 将通用版的LCD 驱动程序移植到另外的MCU 上并不复杂,而需要做的工作也很少,在前面介绍驱动程序代码时已经介绍过了,基本上只需要修改驱动当中与MCU ...

  2. 【点阵液晶编程连载三】点阵LCD 的驱动与显控

    3. 点阵LCD 的驱动与显控 在适当的硬件的基础介绍之后,这里将以MzDesign 所提供的针对MzL02 的通用版LCD 驱动程序为对像介绍一种LCD 驱动程序的设计思想:将以在LCD 上的绘点功 ...

  3. 【点阵液晶编程连载二】LCD 驱动的基本流程

    2. LCD 驱动的基本流程 介绍基本的流程控制方法,这里重在介绍方法,从时序的模拟或者是总线的连接,到利用LCD 的特性来做一些显示的处理,如单色液晶如何显示一个点,彩色LCD 如何显示一个点的关系 ...

  4. 【点阵液晶编程连载四】MenuGUI 菜单应用

    4. Mz_MenuGUI 菜单应用 4.1. Mz_MenuGUI 在一些带有点阵LCD 显示界面的产品当中,通常会涉及到一些菜单界面的应用,特别是一些带有设置功能的仪器仪表产品:结合自己的设计经验 ...

  5. 【点阵液晶编程连载三/B】点阵LCD 的驱动与显控

    3.6. 字符显示原理 3.6.1. 字符与字模 驱动程序当中,字符库(也就是字模的集全)的数据采用了与一般的单色点阵LCD 的数据组成方式,即字模当中的一个位代表LCD 显示中的一个像素点,取点方式 ...

  6. 操作系统之多线程编程—读者优先/写者优先详解

    操作系统之进程调度--优先权法和轮转法(附上样例讲解) 操作系统之银行家算法-详解流程及案例数据 操作系统之多线程编程-读者优先/写者优先详解 操作系统之存储管理--FIFO算法和LRU算法 操作系统 ...

  7. 禾川触摸屏编程软件_汇川PLC编程PLC代写程序

    汇川PLC编程-PLC代写程序 硬件设计 在硬件方面,Pro-face的要求不高,需要一个24V/2A的直流电源和触摸屏本身.另外,为了与PLC通讯,我们根据需要选择了MPI接口的RS232C串行连接 ...

  8. 编程不仅是写代码!?

    作者 | keypressingmonkey 译者 | 孙薇,责编 | 夕颜 出品 | CSDN(ID:CSDNnews) 1. 非天才生存指南 承认这一点很难,我的正式简历上也不会有:我是一名普通的 ...

  9. 代写python作业费用标准_代做159.272作业、代写Programming Paradigms作业、代做Python实验作业、代写Java/c++编程作业代写Database|代做R...

    代做159.272作业.代写Programming Paradigms作业.代做Python实验作业.代写Java/c++编程作业代写Database|代做RComputational Thinkin ...

最新文章

  1. Oracle Hint 之 Parallel
  2. python seek tell_Python指针seektell详解
  3. 【转】登录后自动显示未读快件
  4. java中arraycopy的用法_[jdk源码阅读系列]Java中System.arraycopy()的用法
  5. javascript 位运算符
  6. DirectX 基础学习系列5 纹理映射
  7. linux 防火墙配置命令
  8. ai星际探索 爪子_探索AI地牢
  9. 关于SVN状态图标不显示的解决办法
  10. Go dep init失败
  11. django-数据库[ 基本操作 ]
  12. 自然语言处理实战——巧用 Amazon Comprehend 分析社交媒体数据
  13. 【2022考研】 肖四大题(马原第一套)背诵笔记
  14. 树莓派连接pixracer飞控供电不足
  15. 3星|《财经》2017年第24期:中药注射液生死劫
  16. CAD软件中文本如何屏蔽
  17. NodeJS 之 fs 模块(文件操作)
  18. 提取图像中颜色交界处的坐标
  19. 监听器(Listener)
  20. ibm语音识别_为什么IBM决定停止所有面部识别开发

热门文章

  1. 关于职场晋升,这是我的7点具体建议
  2. 为什么需要分布式配置中心
  3. list vue 添加数据方法_一篇文章教会你创建vue项目和使用vue.js实现数据增删改查...
  4. 亚马逊云科技张文翊:云让初创公司不输在起跑线上
  5. 2022央视春晚电视端直播平均收视率达21.93%
  6. 小红书起诉4家涉虚假种草通告平台及MCN机构,索赔1000万
  7. 小米11新旗舰通过3C认证:支持最高67.1W快充
  8. 阿里云盘今日公测:无论用户是否付费,未来都不会限速
  9. 电商如何“链”动新春,看聚划算助力“原年人”的好日子
  10. 江淮大众正式更名,今日盘中涨停!