单片机 向屏幕输出设计一个屏幕有多个位置可以修改数据

显示屏设计,最全面的显示屏设计文章 - 电子工程世界网
显示屏设计
在电子工程世界为您找到如下关于“显示屏设计”的新闻
显示屏设计资料下载
自90年代以来,LED显示屏的设计制造和应用水平得到日益提高,LED显示屏经历了从单色、双色图文显示屏,到图像显示屏,一直到今天的全彩色视频显示屏的发展过程。在此发展过程中,无论在器件的性能(超高亮度LED显示屏及蓝色发光二极管等)和系统组成(计算机化的全动态显示系统)等方面都取得了长足的进步。 LED显示屏相比与其它的平板显示器,有其独特的优越性,比如:可靠性高、使用寿命长、环境适应能力强...
本文给出基于单片机系统的16×15 三色LED 点阵双显示屏设计方案,采用动态显示原理,配合优化的程序设计,在动态扫描方式下,得到较高刷新速率、画面清晰的三色显示效果。本设计实现了由红、黄、绿组成的十二种颜色搭配的静态和动态字符、文字、动画显示:集成ASCII 码子库显示;四条广告语的十二种颜色循环显示;生动的动画显示。按键控制上下左右移动及速度大小和灰度等级。【关键词】三色LED 显示屏...
2. 5 LED器件的驱动 1. 2. 6 LED器件使用注意事项 1. 3 LED发光灯 1. 4 LED点阵模块 第二章 LED图文显示屏 2. 1 LED图文显示屏的特点 2. 2 国文显示屏的基本结构 2. 3 图文屏的硬件设计 2. 3. 1 微机硬件电路 2. 3. 2 显示驱动电路 2. 3. 3 控制信号 2. 4 图文屏的软件 2. 5 关于图文显示屏的讨论 2. 5. 1 双色...
;要求显示的图形或文字稳定、清晰无串扰。3)&在目测条件下LCD显示屏各点亮度均匀、充足。2.提高要求4)&图形或文字显示有静止、移入移出等显示方式。5)&显示屏刷新频率要求达到85Hz。三、实验报告要求&1.设计目的和内容&2.总体设计&3.硬件设计:原理图(接线图)及简要说明&4.软件设计框图及程序清单5.设计结果和体会(包括...
LED显示屏自问世以来经历了飞速发展,如今已经成为了平板显示器的一个重要产品。LED显示屏具有亮度高、功耗小、颜色鲜艳等特点,能完成实时性、多样性、动态性的信息发布任务,胜任各种户外公共场合。高效节能和保护环境已成为当今世界发展的重要议题。因此,为LED显示屏提供高效节能的电源及其驱动技术,就成为了LED大屏幕显示技术得到推广普及的关键性问题。 本文设计了一种低功耗、小成本的LED显示屏驱动电源...
,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下得到良好的动态视觉效果。 针对以上情况,本文研究开发了一种全新的,由32位高性能ARM微处理器组成的LED显示屏控制系统,就控制平台、硬件结构和软件开发实现给出了驱动部分和控制部分的详细分析与设计。 本文根据LED显示屏在列车车厢和火车、汽车车站旅客导向系统...
扫描驱动模块等的具体设计。最后,在系统软件设计中,完成了对显示屏数据的发送、接收数据和对显示屏进行显示控制驱动程序设计,最终实现整个系统的功能。在设计过程中,通过做各种测试和试验,验证了基于ARM的无线LED显示屏系统的设计是完全可行的,具有非常广阔的应用前景。...
滚动条用于显示屏过大时垂直移动显示屏,下面的滚动条用于显示屏过大时水平移动显示屏,在允许手工修改模态时可以用鼠标左/右键点击修改当前点的值;
10,框架Led Color:分别选择显示屏的5种颜色风格 红、绿、兰、黄、粉;
11,框架Ldm Set:分别调整显示屏的行数、列数、LED半径,这里的行数和列数决定着取模的大小,特别注意,由于这里的显示屏模块给予圆点的LED设计,计算...
摘要: 本文介绍了L ED 显示屏常规型驱动电路的设计方式及其存在的缺陷, 提出了简单的L ED 显示屏恒流驱动方式及电路的实现。关键词:L ED 显示屏 动态扫描 驱动电路中图分类号: TN 873+ . 93   文献标识码:A    文章编号: (52- 051 引 言  L ED 显示屏是80 年代后期在全球迅速发展起来的新型信息显示媒体, 它...
这是一个完整的毕业论文。题目:基于GPRS远程刷新LED显示屏控制器。有完整的keil代码,完整的protues仿真程序,完整的论文,还有完整的硬件图片。与大家分享!基于GPRS远程刷新LED显示屏控制器\\GPRS远程LED显示屏\\GSM发送程序\\GSM.c...
显示屏设计相关帖子
可切换衰减
可切换带宽限制
开关电源设计
电机驱动设计
电子镇流器设计
CRT 显示器设计
电力转换器的设计和维修
电源设备评估
安全的高压探头解决方案
泰克提供各种高压探头解决方案,让用户能够安全且准确地进行浮动测量。
泰克 THDP0100 和 P5210A 拥有最大的差分动态范围能力,用户可以安全地测量高达 ±6000 V 的电压...
应用的智能家居物联网平台是非常有意义、有价值的工作。本系统基于Linux操作系统,开发了一套融合无线移动网络、射频识别装置的智能家居控制系统。此系统具有智能抄表、远程开启电器、射频识别和远程遥控等功能。
  1 系统概述
  本系统采用S3C2410芯片作为主控制器,操作界面为3.2寸TFT触摸显示屏。上电后,显示屏显示整个家居系统网络内各设备,每个设备分别对应一个图标,包括灯光控制、风扇、冰箱...
美国泰克(Tektronix)AFG3021B函数信号发生器 美国泰克(Tektronix)AFG3021B函数信号发生器美国泰克(Tektronix)AFG3021B波形/函数发生器当前的设计往往非常复杂,在测试过程中需要使用各种激励信号。AFG3000任意波形/函数发生器系列具有12种标准波形、任意波形功能以及信号衰减选项,可满足广泛的应用需求。一流的性能确保了信号的准确生成。大尺寸显示屏和...
,就激活显示屏;玩具和机器人的防碰撞和防坠落;办公室、走廊和公共建筑的接近探测和照明控制;启动卫生间用具;在停车场和车库里探测是否有空闲车位。
接近传感器把这些应用所需的电路都集成在一起,不需要使用附加的光栅,也不要求红外发射器和光二极管保持对准。此外,接近传感器器件的尺寸小,能有效节省空间,还使工程师能更灵活地设计传感器的摆放位置和放置方式。
ST第二代接近安徽传感器,大时代精度可达到...
。” 流星宇是一家专业从事LED光电产品开发、生产、销售为一体的高新技术企业。生产与开发绿色节能环保LED系列产品,致力于成为全球LED灯光工程照明产品领导者。主要产品有:LED洗墙灯、LED投光灯、LED铝条灯、LED点光源、LED路灯、LED室内外彩屏、单双色显示屏、低压平板灯、LED筒灯、LED灯杯等节能环保的LED系列产品。 总之,基于景观照明的独特性和日趋艺术化的发展趋势,照明工程企业要...
的技术手段。因此,个性化发展也应该是智能照明的一个发展趋势。最后,技术融合发展趋势。智能技术和电子镇流器等新照明光源和照明技术的结合,将构筑崭新的照明技术平台,其应用领域从智能家居照明到智能化的城市照明,有无限广阔的前景,并且正在创造一种崭新的高技术和高科学思想含量的照明文化。LED照明市场渗透加速 小间距显示屏将迎来爆发2016 年10 月1日起,15W 及以上普通照明用白炽灯被禁止销售和进口...
设计,整个安装简单整洁大方。
Bn系列应用领域
室内外通用,产品应用在舞台租赁、广告传媒、政企工程、展会、会议室、车展及各种文化活动等场所。
至臻品质,看得见用心。威特姆从用户需求及用户体验出发,精心研制这款为租赁行业量身打造的Bn产品,其外观秀丽,性能卓越,将为LED显示屏租赁行业带来新的改变。
至臻品质 威特姆Bn系列租赁屏新品震撼上市...
分析仪参数》主要特点;频率范围从9kHz到40GHz动态范围宽,高达140 dB温度稳定度高,典型值0.01 dB/°C功率扫描范围宽达98 dB中频带宽可调范围宽,从1 Hz 到 10 MHz手动和自动校准12.1&高分辨率的大显示屏触摸屏用户界面
两个或四个测试端口混频器,谐波和交调测试
2.《ZNB40罗德与施瓦茨报价/ZNB40网络分析仪参数》特性:网络分析简单易行 R&amp...
的通信模板测试速率
·可从速度高达3.125 Gb/s 的串行数据流恢复时钟
·长达64 MB 的记录长度和可快速浏览长记录的MultiViewZoom 功能
·配备有实现高保真度连接所需的TekConnect 接口
·传统式直接控制、触感显示器或鼠标导航
·OpenChoice? 和Windows 2000可提供内置的联网和分析功能
(连接显示屏或电源适配器时)。
什么是配置通道 (CC) 线?CC 总线的最高速度是多少?
CC 总线是用于端口和 EMCA 之间进行 USB-PD 通信的数据线。USB Type-C 插座上有 CC1 和 CC2 两个引脚,其中一个引脚基于 USB Type-C 连接的插头方向,被识别为CC 线。对USB Type-C 插头而言,CC 线是固定的。
CC 线可运行下列功能...
显示屏设计视频
你可能感兴趣的标签
热门资源推荐您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
毕业设计触摸屏的简易手机(加配套程序)分析报告.doc 54页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:300 &&
你可能关注的文档:
··········
··········
本系统是一个基于单片机的简易触摸屏手机。最近几年,手机的发展日新月异,特别是android操作系统和触摸屏的便捷性,使触摸屏手机迅速普及,触摸屏手机将是未来手机的主流配置,此系统就是研究触摸屏手机的工作原理及实现方法。整个系统主要是由STC12C5A60S2单片机,SIM300模块,串口触摸屏及一些外围器件组成的,主要功能的实现方法是:先用触摸屏配套PC组态软件和PS软件提前设置好触摸屏的图标和数字键盘等主要显示界面,然后下载到触摸屏的内部存储器中,供触摸屏内部处理;当按下相应的触摸按键后,把触摸屏的内部处理后的数据通过单片机的串口1发送给单片机,之后单片机进行相应的运算处理和判断,再通过单片机的串口2给SIM300模块发送相应的AT操作指令,驱动SIM300模块发送对应的手机信号。通过以上模块,可以实现:接、打电话,接、发英文短信,有来电提醒功能,以及实时时钟的功能。
关键词:手机;SIM300模块;串口触摸屏;实时时钟
This system is a simple microcontroller-based touch screen phone. In recent years, development of mobile phones is very fast. Especially because the android operating system and touch screen is very convenient, touch screen mobile phone is more and more popular. Touch screen mobile phones will be the most mainstream configuration in?the?future.The?whole?system?is?mainly?composed?by?STC12C5A60S2?microcontroller,Sim300 module, serial touch screen, and some peripheral devices. The realization method of the main function is: firstly use a touch screen supporting PC configuration software and PS software, set touch screen icon and numeric keypad and other display interface in advance. Then download to the internal memory of the touch screen ,let internal?touch?screen?If?the?corresponding?touch?button?is?pressed,sent?the?data?of?processed?by?the?touch?screen?to?the?microcontroller?via?a?serial?microcontroller,Then?the?microcontroller?executes?the?corresponding?arithmetic?processing?and?judgment.?Then?the controller send the appropriate AT command to SIM300 module through the serial 2.And Drive the SIM300 module sending mobile phone signal. The system also adds a 1302 clock chip, time can be displayed in real time. Through the above module, this system achieves: receive, Receive, send English text messages. There is an incoming call reminders, and perpetual calendar. Also it can set the alarm clock.
Key Words: SIM300 perpetual calendar
1.1课题研究的背景 1
正在加载中,请稍后...八位移位输出芯片在LED大屏幕显示中的应用 - 51单片机 - 电子工程世界网
八位移位输出芯片在LED大屏幕显示中的应用
10:18:53来源: 互联网
以其显示清晰、更新方便等特点,在信息提示中广泛应用,如车站/机场、证券交易系统及生产车间的信息显示等。大屏幕显示方式分两种:点阵式和八段码方式,前者显示信息灵活,功能强大,但控制较为复杂,硬件成本较高;后者则应用八段码方式显示一些数值信息,方便简单,价格低,在数字显示中被广泛应用。 目前,一般的数字式显示屏普遍采用的串行口或其它I/O口通过诸如串行输入并行输出芯片74LS164驱动。但是,这样有二点不足:一是单片机的串行口被显示电路占用,便不能实现多机通讯,只能实现单屏的显示;二是一般的串行输入并行输出芯片不带输出锁存功能,且移位频率低,输出驱动电流小,这使得显示屏有时会出现字符闪烁,显示不清,刷新速度较慢,所以有时需要另加大功率驱动电路。本文通过 89CI/O口控制74HC(以下简称595 )芯片直接驱动八段码,不占用其串行口,可以很方便地构成大屏幕显示电路,并在纺织厂的信息显示中得到了应用。
单片机控制595组成的LED显示屏
本文设计的数字式LED显示屏是用在对郑州国棉三厂纺纱车间的技术改造过程中,对该车间的240台纺纱机的产量、效率、车速等参数进行实时显示。根据该车间的240台纺纱机的分布位置不同,我们设计了五块显示屏, 每块显示屏由4行*12列, 每个显示模块有5位LED数码管组成, 可以分时显示48台纺纱机的产量、效率、车速等信息。 产量、效率、车速等参数由上位机进行检测后,经RS-,将数据传送给下位机,下位机进行数据处理、变换后,把相应的参数显示出来。对每个显示模块中的数据输入及每位LED数码管的输出驱动,我们采用具有串行移位输入、8位并行带锁存输出的595芯片。该芯片内部由数据移位触发器和三态输出锁存器组成,有16个引脚。SI:串行输入数据;SCK:移位时钟脉冲(输入); RCK:锁存时钟脉冲(输入); SCLK :复位清零信号(输入);QA -QH:数据输出;QH*:向下一片(位)的串行数据输出。595输出电流大(35mA),可以直接驱动八段码。其输出锁存功能,可以有效防止移位输出时LED八段码的闪烁,其移位及锁存信号频率高,最大值为55MHz。这两个都采用上升沿触发。每块显示屏由一片89C51下位机控制,其硬件电路如图1所示。
图2 下位机显示软件主程序流程图
显示屏的软件设计每块显示屏的软件包含两部分:通讯接收、数据处理及输出显示。通讯接收通讯部分用来接收数据,在通讯中断服务子程序中,首先接收上位机传过来的每块显示屏的屏号(地址),若地址与该屏设定的地址不一样, 则退出中断; 若地址与该屏设定的地址相同, 则接收上位机传过来的每台车的参数,同时进行校验,并存入外部数据缓冲区RAM中。即每块显示屏的下位机通过RS-接收上位机传来的数据。共48台车*8字节,其中,8个字节包含每台车的车号(一个字节),产量、 效率 、车速(各二个字节)及累加校验和(一个字节)。所有48台车的参数接收完毕后,设置一标志位(如某台车接收的数据有错误则生成另一标志位。该台车的数据不作处理),退出中断,由主程序对接收到的数据进行变换处理。数据处理及输出显示数据处理及输出显示部分主要进行处理 、变换,并使相应的参数在显示屏上相应的位置显示出来。89C51根据设置的接收完毕标志位,对接收的参数经过数据处理、变换后,把待显示参数段码存储在6264中,该存储区分为三部分, 每部分分别按车号顺序存储产量 、效率 、车速的参数段码。 需要输出显示某种参数时,在存储该参数段码区设置四个等长度的地址指针,分别从四个地址指针所指的存储单元中取数,经P1口(P1.0、P1.1、P1.2、P1.3)并行输出驱动595并修改地址指针直到输出48台车的该参数段码。最后,向595发出输出锁存脉冲, 48台车的该参数值便可以在显示屏相应位置上显示出来。 产量 、效率 、车速可以分时显示,各参数分时输出显示的时间长短由通讯接收数据的时间决定。其程序流程图如图2所示。
结语利用89C51控制595实现的显示屏,实用简单,运行可靠,价格低廉,显示清晰。对于不同应用场合的显示,只要在软件/硬件上稍加改动,如增减显示的行/列数及每个显示模块驱动LED的位数,便可以使用,因此具有很大的实用性和推广价值。在改用时,应注意以下几个问题:(1) 对显示屏行数的扩展,若超过15行,因信号线过长必须对控制信号及数据信号增加电流驱动,否则易造成信号干扰,使显示数据混乱。(2) 对显示屏行数的扩展,应增加相应I/O端口(数据输出)的数量。(3) 对于大电流的LED数码管,应在595的输出端增加驱动电路。■
参考文献1 刘文洲,张立臣.利用8031单片机串行口实现多个LED显示的一种方法[J].国外电子元器件.2001,12 刘养锐.LED显示技术在民用机场中的应用[J].现代电子技术,2001.9.3 张毅刚.8031及应用[M]. 哈尔滨:哈尔滨工业大学出版社,.
作者简介:杨学昭,1992年哈尔滨理工大学(原哈尔滨电工学院)电机与控制专业硕士学位。主要研究领域为自动控制与检测,智能化仪器与仪表,微机及应用。张五一,副教授,主要研究领域为自动控制与检测,智能化仪器与仪表,微机及应用。陈旭,男,工程师,主要研究领域为自动控制与检测,智能化仪器与仪表,微机及应用。
关键字:&&&&
编辑:什么鱼 引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。关于8位单片机驱动液晶屏的应用总结
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
关于8位单片机驱动液晶屏的应用总结
对于人机界面中的液晶屏的使用大家都不陌生。从简单的电子表到手机、平板电脑,显示器、液晶电视都能看到他们的身影。早其我们常用的液晶屏,比如段码LCD,,12864,等非黑即透明.,随着技术的不断进步,现在在手机和平板电脑等电子设备上用的主要是TFT液晶屏,本人一直也是对液晶的显示十分好奇,按捺不住,就淘了几个小尺寸TFT液晶屏(呵呵,囊中羞涩)捣鼓捣鼓。发现这东西其实还是很好玩的,除了涉及的知识面比较广,需要阅读不少手册及资料外,只要你要一定的单片机开发的基础,操作起来并不复杂,主要难点还是数据处理和字库的制作上。下面就说道说道这个TFT液晶。
什么是TFT?
TFT液晶屏也就是thin&film&transistor&即薄膜晶体管显示屏,它的每一个像素点都是由集成在其后的薄膜晶体管来驱动的。
常用TFT模块尺寸:
对角线的尺寸:1.44、1.6、1.8、2.0、2.2、2.4、2.6、2.8、3.0、3.2、3.4、3.6、4.0、4.3、5.7、8.4、10.4、15、17、19、21英寸等。
本人使用过的,1.44、1.8、2.2
屏幕高宽比:4:3或16:9
分辨率:指水平像素和垂直像素的数量。
点距:相邻两个像素之间的距离。
刷新率:每秒更新的画面数。
接口形式:并行接口和串行接口
颜色的表示:
对于黑白或单色像素的信息可以用1个位来表示和存储,
对于一个彩色像素的信息可以用1个多位二进制数来表示和存储。
&&用来表示彩色像素的二进制数的尾数,称之为颜色的颜色深度或颜色质量
什么是真彩和伪彩
颜色深度在16为以上的称为真彩色,颜色深度在16位以下的称为伪彩色。
比如采用1个16位二进制数来表示一个彩色点:
&&&红色&&&&&&&&&&&&&&&绿色&&&&&&&&&&&&&&&蓝色
5位&&&&&&&&&&&&&&&6位&&&&&&&&&&&&&&&5位
R4&R3&R2&R1&R0&G5&G4G3&&&G2&G1G0B4B3B2B1B0
&&高8位&&&&&&&&&&&&&&&&&&&&&&低8位
这就是所谓的5-6-5格式。
字符或图像到底是怎样显示出来的?
&首先可将光看作是一种电磁波,以电场和磁场相互垂直而交互震荡的方式向前传播。电场在某个方向上震荡,震荡的幅度越大,光所具有的能量越大。某个方向上震荡的光可以分解成两个垂直方向上的分量。
偏光片:作用是让某个方向上震荡的光通过,而把垂直方向上震荡的光挡住。
偏光片组:
第一偏光片仅让在某个方向上震荡的光通过,而第二偏光片再把所通过的光挡住,即可阻绝光的行进,达到关闭光的效果。
液晶具有双折射系数的特性,并且在不同的电场下,会有不同的排列方式,因此当光通过液晶时,会受其影响而改变或保持其震荡的方向,当液晶不改变光的震荡方向时,光无法通过第二个偏光板而被关闭,而当液晶将光的震荡方向改变时,光可以在分解成两个分量,虽然一个分量无法通过第二个偏光片,但是仍还有一个分量可以通过第二个偏光片,而成为打开状态。英雌,可用施加的电场来改变液晶的排列方式,来实现光的开关的来实现显示功能。具体液晶是个什么东西,有那些种类,大家想了解就百度吧,这里就不再细谈了。
电场是如何改变的?
首先了解一下TFT(thin-film&transister&)薄膜电晶体
主要结构是一个非晶矽半导体薄膜,TFT&就有一个门极gate;一个源极和一个漏极drain.看看这几电极的名称是不是很熟悉,对了场效应管也是这样命名的,两者类似,但又有不同之处。但是都可以理解成一个受控的开关。
这些开关以矩阵的方式进行排列。
彩色的TFT将水平方向的每个像素在次分成3个RGB像素,各个次像素的可以独立的改变,故也分别对应一个TFT。这样3个次像素组成一个像素。
呵呵,看了上面的图,是不是就想到了单片机矩阵按键的动态扫描程序。呵呵不错,逆向思维,矩阵键盘的扫描是读状态,这个是写状态。具体过程如下。
在水平方向上的同一条扫描线上,所有TFT的门极都连在一起,所以施加的电压是一样的,若在某一条扫面线上施加足够大的正电压,则这条扫描线上所有的TFT 都会被打开。此时该扫描线上的像素电极,会与垂直方向的资料线(漏极)连接,经由对应的资料线送入相应的视信号,将像素电极充电到适当的电压。接着施加足够大的负电压,关闭TFT,直到下次再重新写入信号。其间使得电荷保存在液晶电容上;在按照这种方式扫描下一行。再送入下一行的视信号,如此依次将整个画面的视信号写入,在重新自第一行开始写入,(一般重复的频率为60-70Hz)。
对每个像素中的液晶光阀而言,液晶上所施加的电压和光的穿透度具有一定的关系,因此,只要依据所要显示的画面,控制施加在液晶上的电压,即可将各个像素设定在适当的光穿透度,配合均匀的背光源就显示出想要的画面了。这就是主动式矩阵型液晶的显示原理。
就几款液晶屏的参数做一下总结说明
1、1.44寸液晶屏(以下数据来自液晶屏数据手册)
LCD&type&:&&&&&1.45&active&matrix&TFT-LCD
Rsolution:&&&&&&128(W)X128(H)&Pixels
Display&mode&:&&&transmissive&type
Display&color:&&&&262Kcolor
driverIC:&&&&&&&&&ILI9163C
Luminance:&&&&&&&120cd/m2
Contrast&ratio:&&&&&400:1
Viewing&direction:&&6o&clock&
Interface&:&&&&&&&&&4&wire&SPI&interface
Back&light:&&&&&&&&&1&white&&LED&,18ma&,3,15V
2、引脚说明:
&&&&&&&VCC:&&&&电源&&+3,3V
&&&&&&&GND:&&&&&&电源地
&&&&&&&CS:&&&&&&片选&&(低电平有效)
&&&&&&&RST:&&&&&复位&&&(低电平有效)
&&&&&&&AO:&&&&&&寄存器选择信号(低电平:选择命令寄存器;高电平:选择数据寄存器)
&&&&&&&SDA:&&&&data&input&in&SPI&mode&&在SPI模式下的数据输入
&&&&&&&SCL:&&&&在SPI模式下的同步时钟输入
&&&&&&&LED:&&&&背光LED电源,
呵呵,从引脚定义上就可以看出是不是在SPI模式下只需要4条IO口线就可以和MCU构成一个显示系统了。(其实还用一种模式只要3条IO口线就可以)。
再看1.8寸TFT的相关数据
显示点阵数:&&&&&128W&&x&&&160H&&&&&dots
模块外形尺寸:&&&34W&&x&&45.83H&&x&&2.65T&&&&mm
可视区域:&&&&&&&28.03W&x&35.04H&&&mm
像素尺寸:&&&&&&&0.06W&&&*&&&3&&&*&&0.18H&&&&mm
像素中心距:&&&&&0.18W&&&*&&0.18H&&&&mm
占空比:&&&&&&&&&1/400
视角:&&&&&&&&&&&&6点钟
LCD模式:&&&&&&&260k&color
IC:&&&&&&&&&&&&&&ST7735B
主要引脚定义:同1.44&
再看2.2英寸的屏
Size&&&&&&&&&&&&2.2inch
Resolution:&&&&&&240*320
Interface&&&&&&&&4-wire&SPI
Color&depth&&&&&&262k/65k
Technology&&&&&&a-Si
Pixel&pitch(mm):&&0.141*0.141
Viewing&direction:&6o&clock
LED&numbers&&&&&4&LEDs
Driver&IC&&&&&&&&ILI9340C
主要引脚定义同1.44&英寸。
从上面不同尺寸液晶屏的引脚的定义看出,1.44英寸和1.8英寸及2.2英寸的TFT液晶屏,在和MCU构成显示系统时操作方式是一样的(因为都是4线 SPI),尽管他们使用的驱动IC型号不同。但是只要你翻看IC的数据手册就会发现,他们的寄存器的定义基本是一样的,操作原理相同。
如何构成一个显示系统:
电源+MCU+TFT液晶屏
呵呵,是不是觉得少了点什么?驱动IC那里去了?
其实驱动IC我们是看不到的,它被集成在了液晶屏中,我们只要知道它的寄存器的定义,利用液晶屏的端口会进行读写即可。
电源:3.3V的直流电源,呵呵,这个不用细说,小功率的可以利用ASM1117-3;大功率的可以利用LM(最高3A的输出)来构成一个电源。
MCU:主要是3个要求。
&&&&&&&工作电压,3.3V
&&&&&&&够大,
&&&&&&&够快。
够大才能存的下程序和数据,够快才会图像流畅。
本人手头只有15L2K08S2这个单片机,8K程序存储区,2K的SRAM,最高时钟33.1776MHz,最高输出8MHz的外部时钟,比起60S2的60KB的FLASH,小了不少,但是对于普通的不太复杂的应用已经足够了,主要是搞通应用的原理。
以上列举的液晶屏都是串口屏,所以屏的引出脚较少,除此之外还有引出管脚较多的并口屏,
当然串口屏的数据是一位一位的送出的,速度相对是比较慢的。
在操作上,串口和并口原理差不多。这里就先介绍串口屏的使用。
好了,你有了上面的3大件下面在准备点辅料。
1、数据线,USB转串口数据线,用于烧写MCU
2、字符LCD点阵提取软件:百度一下吧,zimo221.exe
3、图片点阵数据提取软件:同样百度,Image2Lcd.exe
4、编程软件:KEIL
5、单片机烧写软件:这个不多说了,看你用的芯片而定。
好的,齐活了,准备开工。
用导线将单片机的电源接口和LCD的电源及LED端口同3.3V电源的输出连接起来。供电的问题解决了。
用导线将自己选择的单片机的端口和LCD的REST、CS、SCL、AO、SDA&&&一一对应的连接起来。数据输出的问题解决。
硬件问题解决,开始代码的编写
TFT初始化函数:
也就是对液晶屏进行基本的配置。
这个基本直接套用就行。(除了个别地方需要修改,后面会说)
TFT驱动芯片的手册还是有必要看看的,最好是看英文原版内容比较详细。
也没有必要全部看,但是下面初始化代码中涉及到的指令及4wireSPI的时序图,还是很有必要了解的,不然显示的界面出了问题,就会感觉无从下手解决。
写数据和写命令
很明显要想让液晶屏显示字符或图像,必须要把要显示的内容转换成数据写到液晶屏的控制器,想写内容数据还要对液晶屏的控制寄存器进行设置,也就是写命令数据。只有一条SDA串口数据线,怎么区分是内容数据还是命令数据呢,那就要靠&AO(RS):&&&&&&寄存器选择信号(低电平:选择命令寄存器;高电平:选择数据寄存器)。
void&&write_command(uchar&c)
cs=0;&//片选有效
rs=0;&//选择命令寄存器
bitdata=c;//送数据
sda=bit7;scl=0;scl=1;
sda=bit6;scl=0;scl=1;
sda=bit5;scl=0;scl=1;
sda=bit4;scl=0;scl=1;
sda=bit3;scl=0;scl=1;
sda=bit2;scl=0;scl=1;
sda=bit1;scl=0;scl=1;
sda=bit0;scl=0;scl=1;
cs=1;//片选无效&&&&&&
void&&write_data(uchar&d)
bitdata=d;
sda=bit7;scl=0;scl=1;
sda=bit6;scl=0;scl=1;
sda=bit5;scl=0;scl=1;
sda=bit4;scl=0;scl=1;
sda=bit3;scl=0;scl=1;
sda=bit2;scl=0;scl=1;
sda=bit1;scl=0;scl=1;
sda=bit0;scl=0;scl=1;
/*****************TFT初始化函数***************/
&void&lcd_initial()
&&&reset=0;
&&&delay(100);
&&&reset=1;
&&&delay(100);
//------------------------------------------------------------------//&&
//-------------------Software&Reset-------------------------------//
&&write_command(0x2A);&&&&&//列地址设置
&&&&&&&&write_data(0x00);&&&&//列起始地址低8位
&&&&&&&&write_data(0x00);&&&&//列起始地址高8位
&&&&&&&&write_data(0x00);&&&&//列终止地址高8位
write_data(0x9F);&&&&&//列终止地址低8位
//上面的列终止地址为什么设置成0x9f,0x9f=十进制的159,1.8寸的屏的分辨率是128*160.
//也就是说有0-159共160列。&下面的同样的道理,只不过是说明行的起始和终止地址。&&
&&write_command(0x2B);&//行地址设置
&&&&&&&&write_data(0x00);
&&&&&&&&write_data(0x00);
&&&&&&&&write_data(0x00);
write_data(0x7F);&
&&write_command(0xCB);&//功耗控制A&
&&&&&&&&write_data(0x39);&
&&&&&&&&write_data(0x2C);&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_data(0x34);&
&&&&&&&&write_data(0x02);&
&&&&&&&&write_command(0xCF);//功耗控制B&&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_data(0XC1);&
&&&&&&&&write_data(0X30);&
&&&&&&&&write_command(0xE8);//驱动时序控制A&&
&&&&&&&&write_data(0x85);&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_data(0x78);&
&&&&&&&&write_command(0xEA);//驱动时序控制B&&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_command(0xED);//电源序列控制&&
&&&&&&&&write_data(0x64);&
&&&&&&&&write_data(0x03);&
&&&&&&&&write_data(0X12);&
&&&&&&&&write_data(0X81);&
&&&&&&&&write_command(0xF7);&//泵比控制&
&&&&&&&&write_data(0x20);&
&&&&&&&&write_command(0xC0);&&&&//Power&control&功耗控制1
&&&&&&&&write_data(0x23);&&&//VRH[5:0]&`
&&&&&&&&write_command(0xC1);&&&&//Power&control&功耗控制2
&&&&&&&&write_data(0x10);&&&//SAP[2:0];BT[3:0]&
&&&&&&&&write_command(0xC5);&&&&//VCM&control&
&&&&&&&&write_data(0x3e);&//对比度调节
&&&&&&&&write_data(0x28);&
&&&&&&&&write_command(0xC7);&&&&//VCM&control2&
&&&&&&&&write_data(0x86);&&//--
&&&&&&&&write_command(0x36);&&//&Memory&Access&Control&&存储器访问控制
&&&&&&&&write_data(0x68);&//C8&&&//48&68竖屏//28&E8&横屏
&&&&&&&&&&&&&&&&&&&&&&&&&&&//cc同c8
&&&&&&&&write_command(0x3A);&//像素格式设置&&&
&&&&&&&&write_data(0x55);&
&&&&&&&&write_command(0xB1);//帧速率控制&&&&
&&&&&&&&write_data(0x00);&&
&&&&&&&&write_data(0x18);&
&&&&&&&&write_command(0xB6);&&&&//&Display&Function&Control&
&&&&&&&&write_data(0x08);&
&&&&&&&&write_data(0x82);
&&&&&&&&write_data(0x27);&&
&&&&&&&&write_command(0xF2);&&&&//&3Gamma&Function&Disable&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_command(0x26);&&&&//Gamma&curve&selected&
&&&&&&&&write_data(0x01);&//共4条曲线供选择,分别是1248;这里选择1,
&&&&&&&&write_command(0xE0);&&&&//Set&Gamma&
&&&&&&&&write_data(0x0F);&
&&&&&&&&write_data(0x31);&
&&&&&&&&write_data(0x2B);&
&&&&&&&&write_data(0x0C);&
&&&&&&&&write_data(0x0E);&
&&&&&&&&write_data(0x08);&
&&&&&&&&write_data(0x4E);&
&&&&&&&&write_data(0xF1);&
&&&&&&&&write_data(0x37);&
&&&&&&&&write_data(0x07);&
&&&&&&&&write_data(0x10);&
&&&&&&&&write_data(0x03);&
&&&&&&&&write_data(0x0E);&
&&&&&&&&write_data(0x09);&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_command(0XE1);&&&&//Set&Gamma&
&&&&&&&&write_data(0x00);&
&&&&&&&&write_data(0x0E);&
&&&&&&&&write_data(0x14);&
&&&&&&&&write_data(0x03);&
&&&&&&&&write_data(0x11);&
&&&&&&&&write_data(0x07);&
&&&&&&&&write_data(0x31);&
&&&&&&&&write_data(0xC1);&
&&&&&&&&write_data(0x48);&
&&&&&&&&write_data(0x08);&
&&&&&&&&write_data(0x0F);&
&&&&&&&&write_data(0x0C);&
&&&&&&&&write_data(0x31);&
&&&&&&&&write_data(0x36);&
&&&&&&&&write_data(0x0F);&
&&&&&&&&write_command(0x11);&&&&//Exit&Sleep&
&&&&&&&&delay(120);&
&&&&&&&&write_command(0x29);&&&&//Display&on&
&&&&&&&&write_command(0x2c);&
在写入数据时要先确定,图像的起始坐标和终止坐标,可以用如下的代码实现
static&void&LCD_SetPos(unsigned&int&x0,unsigned&int&x1,unsigned&int&y0,unsigned&int&y1)//设置位置
&&&write_command(0x2A);&&&//列地址设置
&&&write_data(x0&&8);&&&&&&&//列起始地址高8位
&&&write_data(x0);&&&&&&&&&&//列起始地址低8位
&&&write_data(x1&&8);&&&&&&&//列终止地址高8位
&&&write_data(x1);&&&&&&&&&&//列终止地址低8位
&&&write_command(0x2B);//页地址设置
&&&write_data(y0&&8);
&&&write_data(y0);
&&&write_data(y1&&8);
&&&write_data(y1);
write_command(0x2c);//写存储器&
写命令时,先将命令的地址写入,然后在将设定的数据写入寄存器。如
write_command(0x2A);&//列地址设置
&&&&&&&&write_data(0x00);
&&&&&&&&write_data(0x00);
&&&&&&&&write_data(0x00);
write_data(0x9F);&
至于这些写入的数据的意义及数值大小,请查阅液晶屏对应的液晶屏的数据手册。
了解一下颜色代码:
几种常用的颜色的代码
#define&White&&&&&&&&&&0xFFFF&&&&//白
#define&Black&&&&&&&&&&0x0000&&&&&//黑
#define&Red&&&&&&&&&&&0x001F&&&&&//红
#define&Blue&&&&&&&&&&&&0xF800&&&//蓝
#define&Magenta&&&&&&&&0xF81F&&&//紫
#define&Green&&&&&&&&&&0x07E0&&&&//绿
#define&Cyan&&&&&&&&&&&0x07FF&&&&//青&&&
#define&Yellow&&&&&&&&&0xFFE0&&&&//黄
好了说了这么多,一个字晕。好吧,来点实际的简单的,咱先啥字符也不显示,
只是让液晶屏显示不同的颜色。
刷整个屏幕的颜色
可以用如下代码实现
/*********显示色彩******************/
void&dsp_single_colour(DH,DL)//前景颜色,背景颜色
unsigned&int&i,j;
for&(i=0;i&128;i++)
&for&(j=0;j&160;j++)
&write_data(DH&&8);
&write_data(DH);
&write_data(DL&&8);
&write_data(DL);&
/******延时函数************************/
void&delay(uint&time)
&uint&i,j;
&&for(i=0;i&i++)
&&&for(j=0;j&500;j++);
好了,将上面的函数组合起来,准备刷屏。
&lcd_initial();//TFT初始化
&&LCD_SetPos(0,159,0,10);//设置位置
&&dsp_single_colour(Blue,Black);&//
&&delay(2000)&;
&&&&LCD_SetPos(0,159,10,20);//设置位置
&&dsp_single_colour(Blue,Blue);&//
&&delay(2000)&;
&&&&LCD_SetPos(0,159,20,30);//设置位置
&&dsp_single_colour(Green,White);&//
&&delay(2000)&;
&&&&&&LCD_SetPos(0,159,30,40);//设置位置
&&dsp_single_colour(Green,Green);&//
&&delay(2000)&;
&&&&LCD_SetPos(0,159,40,50);//设置位置
&&dsp_single_colour(Yellow,White);&//
&&delay(2000)&;
&&&&&&LCD_SetPos(0,159,50,60);//设置位置
&&dsp_single_colour(Yellow,Yellow);&//
&&delay(2000)&;
&&&&LCD_SetPos(0,159,60,70);//设置位置
&&dsp_single_colour(Black,White);&//
&&delay(2000)&;
&&&&&&LCD_SetPos(0,159,70,80);//设置位置
&&dsp_single_colour(Black,Black);&//
&&delay(2000)&;
&&&&LCD_SetPos(0,159,80,90);//设置位置
&&dsp_single_colour(Red,White);&//
&&delay(2000)&;
&&&&&&LCD_SetPos(0,159,90,100);//设置位置
&&dsp_single_colour(Red,Red);&//
&&delay(2000)&;
&&&&LCD_SetPos(0,159,100,110);//设置位置
&&dsp_single_colour(Magenta&,Black);&//
&&delay(2000)&;
&&&&&&LCD_SetPos(0,159,110,120);//设置位置
&&dsp_single_colour(Magenta&,Magenta&);&//
&&&&&delay(2000)&;
&&&LCD_SetPos(0,159,0,120);//设置位置
&&dsp_single_colour(White,White&);&//只刷到第121行留下了7行
&&&&&delay(2000)&;
最终结果,滚动刷屏
感觉有点不对劲,不错,最下面故意留了7行没写颜色数据。可以看到如果不写任何数据,屏的状态就是花屏。
通过上面的说明了解了:
TFT液晶屏的操作原理,就是写数据和写命令。
通过对写数据或写命令的代码的分析,可以看到数据是怎样输送的。
TFT液晶屏的初始化工作的主要内容。
常用的颜色代码。
如何让液晶屏显示不同的颜色。
最后仔细观察图片,可以了解
什么是隔行扫面,前景颜色,背景颜色。
以及,花屏是什么原因造成的。
至于如何显示字符,汉字,图片,下回再说。
关于在tft上模拟现实七段数码管详见:
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved

我要回帖

更多关于 视图可以修改数据吗 的文章

 

随机推荐