




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常州工学院毕业设计论文KC021-1CHANGZHOU INSTITUTE OF TECHNOLOGY毕 业 设 计 说 明 书题目:触摸液晶图形显示装置的设计与实现二级学院(直属学部): 专业; 班级: 学生姓名: 学号: 指导教师姓名: 职称: 评阅教师姓名: 职称: 2010 年 6 月摘 要本次设计,将彩色液晶屏及触摸屏的综合应用。实现从传统的单色显示屏及机械按钮式的按键控制方式,过渡到彩色液晶屏触摸屏对媒体信息的显示控制,达到丰富信息传递和互动控制的目的。通过一系列的学习、应用,采用51单片机控制,加上外围电路的配合,设计出一款具有触摸功能的液晶显示设计。该设计具备文字显示、图片切换显示、触摸控制等功能。本此课题所要求的是将单片机与LCD液晶屏设计一款具有触摸功能的液晶显示设备,从中熟练掌握LCD液晶显示屏及触摸功能的应用。现代信息化社会对液晶屏显示一些字体和图形的应用十分普遍,比如公交车上的报站牌,建筑楼上的电子广告等等。本此课题所要求的是将单片机与LCD液晶屏设计一款具有触摸功能的液晶显示设备,从中熟练掌握LCD液晶显示屏及触摸功能的应用。以实现液晶触摸控控制设计的设计,达到掌握液晶触摸技术在实际生活中的应用。关键字: 单片机; 液晶屏; 触摸屏AbstractThrough this design, the color LCD screen and touch screen integrated application. From the traditional monochrome display and mechanical push-button key control mode, the transition to a color LCD touch screen display and control of media information, to a wealth of information transmission and interactive control.The course design through a series of learning, application, using 51 single-chip control and the external circuit co-design features a LCD display with touch design. The design with text display, image switching display, touch control. Required the subject this is the MCU and LCD LCD screen with touch capabilities to design a liquid crystal display device, familiar from liquid crystal display LCD and touch-enabled applications. The modern information society on the LCD screen displays the application of a number of fonts and graphics are very common, such as the reported bus stops, building upstairs electronic advertising. Required the subject this is the MCU and LCD LCD screen with touch capabilities to design a liquid crystal display device, familiar from liquid crystal display LCD and touch-enabled applications. LCD touch control to achieve the design control design, to master the LCD touch technology application in real life. KEYWORK:MCU, LCD screen, touch screen目录摘 要Abstract第一章 前言11.1课题背景11.1.1 TFT液晶屏的背景介绍11.1.2 触摸屏的背景介绍11.1.3 单片机的背景及发展趋势21.2 本课题研究的主要内容2第二章 总体设计方案的选择与论证32.1 触摸屏种类及其对比选择32.2 控制器设计方案的对比选择72.3 设计用到的硬件器件6第三章 硬件电路设计73.1硬件设计的功能及框架. 73.2单片机硬件电路设计83.2.1 单片机的选用. 83.2.2 STC12C5A60S2主要性能参数. 83.2.3 电源电路设计93.2.4 晶振电路设计113.2.5 复位电路设计113.3 液晶显示屏连接电路123.3.1 TFT液晶屏的显示原理123.3.2 TFT液晶屏的电路设计123.4 触摸屏电路设计133.4.1 ADS7843触摸屏的显示原理133.4.2 ADS7843触摸屏芯片143.4.3 触摸屏硬件电路设计15第四章 软件程序设计164.1 编程语言及环境使用1641.1 C51编程语言1641.2 Keil编译软件174.2 TFT 液晶屏驱动程序1842.1 TFT液晶屏的读写操作1842.2 发送数据与命令1942.3 TFT液晶初始化1942.4 TFT液晶显示程序204.3 触摸屏程序设计2143.1 SPI总线的分析2143.2 ADS7843的程序设计234.4 液晶屏显示程序设计2444.1 液晶显示函数2444.2 液晶屏显示应用25第章 系统制作与调试285.1 硬件的焊接285.2 系统调试29第6章 结束语31参考文献32致谢34附录1 系统PCB图35附录 2 实物图及演示效果图.36附录 3 系统软件程序.38第56页第一章 绪论1.1课题背景1.1.1 TFT液晶屏的背景介绍随着计算机技术信息技术的飞速发展,以高速处理器为核心的结合视频、音频和通信等领域的多媒体技术得到了蓬勃的发展,信息可视化得到了广泛应用。为提高多方信息沟通之需要,建设一个采用现代计算机技术、计算机网络通讯技术和音频视频技术,集多信号多画面显示和智能化控制于一体的液晶屏幕信息显示系统,对于多媒体显示来说尤其必要。液晶显示屏作为大屏幕演示的一种全新模式也逐渐被大家所认可,众多电子设备的更新换代,纷纷由传统的显示技术过渡到液晶屏显示技术。由于液晶显示屏支持常用的模拟视频及数字,其普及应用必将越来越广泛。彩色TFT液晶屏幕显示系统广泛应用于政府、交通、能源等信息化各种场合,可实现播放视频信号和计算机信号综合显示,形成一个信息准确、查询便捷、管理高效、美观实用的信息显示管理控制系统。1.1.2 触摸屏的背景介绍触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便的一种人机交互方式。它赋予了电子产品控制以崭新的面貌,是极富吸引力的全新人机交互设备。触摸屏在国内的应用范围非常广阔,譬如公共信息的查询;如电信局、税务局、银行、电力等部门的业务查询;城市街道的信息查询;此外应用于企业办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。近来,触摸屏逐渐进入到家庭,应用于多媒体器材、智能家居控制系统等。随着信息来源的与日俱增,触摸屏以其易于使用、坚固耐用、反应速度快、节省空间等优点,使得系统设计师们意识到使用触摸屏对比其他传统的控制方式具有更大的优越性。触摸屏出现在中国市场上至今只有短短的几年时间,这个新的还没有为许多人接触和了解,包括一些正打算使用触摸屏的系统设计师,还都把触摸屏当作可有可无的设备。而发达国家触摸屏的普及历程和我国多媒体信息业正处在的阶段来看,这种观念还具有一定的普遍性。事实上,触摸屏是一个使信息或控制改头换面的设备,它赋予电子系统以崭新的面貌,是极富吸引力的全新人机交互设备。触摸屏对于各种应用领域的电子设备已经是不可或缺的技术,并且会逐渐取缔一些传统机械式控制输入设备。1.1.3 单片机的背景及发展趋势目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X系列单片机。该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。单片机在工业控制、数据采集、智能仪器仪表、智能化设备和各种家用电器等领域得到广泛的应用。随着微电子工艺水平的提高,近十年来单片微型计算机有了飞速的发展。归纳起来,它是沿着两条路发展的:1.改进集成电路制造工艺,提高芯片的工作速度,降低工作电压和降低功耗:2.在保留共同的CPU体系结构,最基本的外设装置(如异步串行口,定时器等)和一套公用的指令系统的基础上,根据不同的应用领域,把不同的外设装置集成到芯片内,在同一个家族内繁衍滋生出各种型号的单片机。另外在单片机的应用中,可靠性是首要因素,为了扩大单片机的应用范围和领域,提高单片机自身的可靠性是一种有效方法。1.2 本课题研究的主要内容本文通过阐述基于单片机的液晶触摸图形的设计与实现,掌握对单片机技术、液晶屏显示技术以及触摸屏技术的应用。从系统的硬件设计到软件设计,全面掌握单片机的应用开发过程,熟悉单片机的内部结构及外部电路设计,掌握单片机程序开发、调试的操作。了解TFT液晶屏的显示原理及驱动程序的开发,同时能应用液晶屏显示图形字形。触摸屏作为主要的人机交互控制,同样是设计的主要对象。完成后的整体系统需要实现如下功能:l 触摸液晶屏数字显示;l 触摸液晶屏图形显示;l 触摸液晶屏按键功能;l 触摸液晶屏滚动显示;第二章 总体设计方案2.1 触摸屏种类及其对比选择触摸屏应用与日俱进,是促使触摸屏产品的多样行,每种触摸屏各具特色,在市场产品中用形成互补作用。按照触摸屏的工作原理和传输信息的介质,可以把触摸屏分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式。每一类触摸屏都有其各自的优缺点,要了解那种触摸屏适用于那种场合,关键就在于要懂得每一类触摸屏技术的工作原理和特点。下面将对各种不用工作原理的触摸屏进行简要介绍一下:l 电阻式触摸屏这种触摸屏利用触点时产生的压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它是以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。 当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。电阻屏性能特点: 一种对外界完全隔离的工作环境,不怕灰尘、水汽和油污 可以用任何物体来触摸,可以用来写字画画,这是它们比较大的优势 电阻触摸屏的精度只取决于A/D转换的精度,因此都能轻松达到4096*4096l 电容式触摸屏这种触摸屏是利用人体的电流感应进行工作的。电容式触摸屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂有一层ITO,最外层是一薄,四个角上引出四个电极,内层ITO为屏蔽层以保证良好的工作环境。 当手指触摸在金属层上时,由于人体电场,用户和触摸屏表面形成以一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。这个电流分从触摸屏的四角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置。电阻屏性能特点: 电容触摸屏的透光率和清晰度优于四线电阻屏 电容触摸屏的另一个特点用戴手套的手或手持不导电的物体触摸时没有反应当环境温度、湿度改变时,环境电场发生改变时,都会引起电容屏的漂移,造成不准确l 红外线式触摸屏红外触摸屏是利用X、Y方向上密布的红外线矩阵来检测并定位用户的触摸。红外触摸屏在显示器的前面安装一个电路板外框,电路板在屏幕四边排布红外发射管和红外接收管,一一对应形成横竖交叉的红外线矩阵。用户在触摸屏幕时,手指就会挡住经过该位置的横竖两条红外线,因而可以判断出触摸点在屏幕的位置。红外触摸屏特点:1.红外触摸屏不受电流、电压和静电干扰,适宜恶劣的环境条件2.红外触摸屏存在分辨率低、触摸方式受限制和易受环境干扰而误动作等技术上的局限l 表面声波触摸屏表面声波触摸屏的触摸屏部分可以是一块平面、球面或是柱面的玻璃平板,安装在CRT、LED、LCD或是等离子显示器屏幕的前面。玻璃屏的左上角和右下角各固定了竖直和水平方向的超声波发射换能器,右上角则固定了两个相应的超声波接收换能器。玻璃屏的四个周边则刻有45角由疏到密间隔非常精密的反射条纹。表面声波触摸屏特点: 清晰度较高,透光率好 油污甚至饮料的液体沾在屏的表面,都会阻塞触摸屏表面的导波槽经过对以上四种触摸屏方案的工作原理说明及分析对比,按照本文的设计旨意,实现触摸屏与液晶屏的综合应用。对于电阻式触摸屏具备高性价比及高效触摸功能,在技术应用上更为简单便捷,适合本设计的开发应用,因此需要使用电阻式触摸屏作为本设计的触摸屏的技术应用。2.2 控制器设计方案的对比选择方案1:以凌阳单片机为控制器的触摸液晶屏设计;方案2:以8051单片机与ADC0809构成的触摸屏液晶设计;方案3:以8051单片机与ADS7843构成的触摸屏液晶设计。此3种方案各有优缺点,通过下面的类比来选择合适的方案:表2.1控制器方案的对比表方案优点缺点适用指数方案1:以凌阳单片机为控制器的触摸屏液晶屏幕设计采用凌阳SPCE061A单片机作为控制器。这种单片机内部资源丰富,集成了D/A、A/D ,可以作为电阻式触摸屏的模数转换。 成本较高,开发难度较大,不适合个人及初级开发者使用。方案2:以8051单片机与ADC0809构成的触摸屏液晶屏幕设计 8051单片机使用广泛,价格优惠,非常适合完成一半的设计。是8位CMOS逐次逼近式A/D转换器。内部有8 路模拟量输入和8 位数字量输出的A/D转换器,它是美国国家半导体公司的产品,是目前国内最广泛的8 位通用的A/D转换的芯片。并行总线读写数据,8个引脚输入端,但是在本设计只需要用到一个输入端。芯片体积相对较大,不便缩小产品。而且分辨率仅有8位,不能精确定位触摸位置。方案3:以8051单片机与ADS7843构成的触摸屏液晶屏幕设计 8051单片机使用广泛,价格优惠,非常适合完成一半的设计。ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.75 V,参考电压VREF为1 V+VCC,转换电压的输入范围为0 VREF,最高转换速率为125 kHz。需要具备SPI总线控制器的或者能够模拟SPI总线的处理器2.3设计用到的硬件器件在进行硬件电路设计前,应先准备好所需元件器及了解其工作性能、指标。表2.2元件列表元件型号描述STC12C5A60S2单片机,系统的核心控制器TFT液晶屏液晶屏显示12MHz晶振为单片机提供运行时钟脉冲电阻式触摸屏触摸控制功能电阻、电容电阻用于限流、分压;电容用于滤波第三章 硬件电路设计3.1硬件设计的功能及框架基于单片机的液晶触摸图形的设计与实现,整个设计可以分为单片机最小系统、液晶显示屏和触摸屏控制三大部分。设计使用51单片机作为核心处理器,通过驱动外围集成元件,将各个部分器件协调控制在一起。使用2.8英寸的TFT彩色液晶模块,也有液晶控制器,只需要将数据引脚与单片机IO口相连接,加以适合的驱动程序即可实现显示。触摸屏是需要电阻式触屏薄膜,触点时会产生相应的电压变化,单片机在处理触摸屏控制前,需要借助高精度的A/D转换芯片,将微弱的模拟电压信号转化为数字信号。硬件系统设计有:l 单片机最小系统电路l 液晶屏显示电路l 触摸屏控制电路AD芯片触摸屏单片机最小系统TET彩色液晶屏图3.1设计总体框架图3.2单片机硬件电路设计单片机的最小系统主要由电源供电、晶振电路、复位电路组成,如图3.2所示。图3.2单片机最小系统3.2.1单片机的选用STC12C5A60S2是台湾宏晶公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的只读程序存储器(PEROM)和1280bytes的随机存取数据存储器(ROM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。功能强大STC12C5A60S2单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。3.2.2 STC12C5A60S2主要性能参数l .与MCS-51产品指令系统完全兼容l .60K字节可重擦写Flash闪速存储器l .10万次擦写周期l .全静态操作:0Hz-24MHzl .三级加密程序存储器l .12808字节内部RAMl .32个可编程I/O 口线l .2个16位定时/计数器l .6个中断源l .可编程串行UART通道l .低功率空闲和掉电模式此外,STC12C5A60S2是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。STC12C5A60S2为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本设计采用双列直插PDIP封装形式。这里对单片机内部四个并行I/O口进行说明:1)P0端口是一个8位漏级开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;检验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。2)P1端口是一个带有内部上拉电阻的8位双向I/O端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,做输入用。对内部FLASH程序存储器编程时,接收8位地址信息。3)P2端口是一个带有内部上拉电阻的8位双向I/O端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,做输入用。对内部FLASH程序存储器编程时,接收8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。4)P3端口是一个带有内部上拉电阻的8位双向I/O端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,做输入用。对内部FLASH程序存储器编程时,接收控制信息3.2.3 电源电路设计本设计中单片机工作电压在5V,因此使用USB和5V直接供电(图3.3),将电脑的USB直接连接为设计的硬件电路提供+5V的稳定电压。USB的最大额定电流为500mA,足以满足本设计的要求。在设计的时候,需要注意电路不能出现短路,以免损坏电脑的USB接口。图3.3 USB母接口图要注意,接口上的电源为四只引脚的两端,而中间的两个引脚是USB的差分数据线,在本设计中不需要使用。而液晶模块与触摸屏的AD转换芯片则工作于3.3V的工作电压。5V工作电压可以由5V的稳压电源直接提供,3.3V需用使用AMS1117的稳压芯片。AMS1117的应用范围:l 高效线性稳压器l 5V 转 3.3V线性稳压器l 电池变压l 笔记本的电压管理器设计使用SOT-223封装的AMS1117,如下图:引脚说明:1 接地/调节 (Ground/Adjust)2 电压输出 (Vin)3 电压输入 (Vout)图3.4 AMS1117稳压芯片封装图AMS1117(图3.4)不宜输入较高的电压,可以使用系统中的5V电压输入引脚2,将引脚1与系统电源共地,引脚3输出稳定3.3V电压。在输入电源的VCC与GND之间并联104和10UF的电容,这种由两个大小电容值组成的电路主要用于系统的滤波。10UF电容由于容量大,所以体积一般也比较大,并且一般使用卷绕的方式制作,这就导致了大电容的分布电感比较大(也叫等效串联电感,英文简称ESL)。而电感对高频信号的阻抗是很大的,所以,大电容的高频性能不好。一些小容量电容(如104/0.1uf)则刚刚相反,由于容量小,因此体积可以做得很小(缩短了引线,就减小了ESL,因为一段导线也可以看成是一个电感的),并且使用平板电容的结构,这样小容量电容就有很小ESL这样它就具有了很好的高频性能。但是,由于容量小的缘故,对低频信号的阻抗大。因此,如果为了让低频、高频信号都可以很好的通过,就采用一个大电容再并上一个小电容的方式,这样可以提高系统的电源质量。3.2.4 晶振电路设计单片机的运行需要一个时钟频率,类似我们的计算机的CPU主频的高低,现在计算机的CPU一般用GHz来左单位。而我们的51单片机常用到的时钟频率有12MHz,11.0592MHz,这些时钟频率都是依靠外部晶振产生的。晶振接到单片机的XTAL1、XTAL2引脚处。电路上的晶振旁有两个无极性电容,容量为33P。这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发,它会影响到晶振的谐振频率和输出幅度。 晶振的负载电容=(Cd*Cg)/(Cd+Cg)+Cic+C (3-1)式中Cd,Cg为分别接在晶振的两个脚上和对地的电容,Cic(集成电路内部电容)+C(PCB上电容)经验值为3至5pf。3.2.5复位电路设计当单片机上电后,通过复位电路使得单片机的PC指针复位到0000H。这时,单片机就从0000H地址开始执行代码。理论上51单片机的复位需要12个时钟周期的高电平,系统中使用一个10Uf极性电容和10K电阻组成的复位电路。系统通电后,电容开始充电,此时单片机复位引脚输入的是高电平。当电容充满电后,复位引脚输入变为低电平,单片机完成复位,开始从0000H执行代码。 T = C*R (3-2) T = 10*(10-6) * (103) = 100 ms (3-3)3.3 液晶显示屏连接电路3.3.1 TFT液晶屏的显示原理TFT(Thin Film Transistor)LCD即薄膜场效应晶体管LCD,是有源矩阵类型液晶显示器(AM-LCD)中的一种。和TN显示技术不同的是,TFT的显示采用“背透式”光源照射方式光源路径不是像TN液晶那样从上至下,而是从下向上。这样的做法是在液晶的背部设置特殊光管,光源照射时通过下偏光板向上透出。由于上下夹层的电极改成FET电极和共通电极,当FET电极导通时,液晶分子的表现也会发生改变,可以通过遮光和透光来达到显示的目的,响应时间提高到80ms左右。因此,具有比TN-LCD更高的对比度和更丰富的色彩,荧屏更新频率也更快,故TFT俗称“真彩”。相对于DSTN而言,TFT-LCD的主要特点的每个像素配置一个半导体开关器件。由于每个像素都可以通过点脉冲直接控制,因而每个节点都相对独立,并可以进行连续控制。这样的设计方法不仅提高了显示屏的反应速度,同时也可以精确控制显示灰度,这就是TFT色彩较DSTN更为逼真的原因。3.3.2 TFT液晶屏的电路设计设计选用市面上比较成熟的液晶屏模块,该模块已经把液晶屏的排线连接到PCB板上的排针,方便电子工程师的设计开发,避免因焊接失误而导致液晶排线的损坏。下图是液晶模块的排针示意图3.5:图3.5液晶模块的排针示意图从上图可获知,单片机连接到液晶屏的数据线共有16条,也就是说改液晶屏支持16位的数据传输,其余的是液晶模块的功能引脚,如使能引脚、读/写控制引脚等。将液晶屏的16位数据引脚(DB0DB15)分别连接到单片机的P0与P2,RD、RW和RS分别连接到单片机的P35、P36和P37引脚。3.4触摸屏电路设计3.4.1 ADS7843触摸屏的显示原理本设计采用四线电阻式触摸屏(图3.6),四线触摸屏包含两个阻性层。其中一层在屏幕的左右边缘各有一条垂直总线,另一层在屏幕的底部和顶部各有一条水平总线,如下图所示。为了在X轴方向进行测量,将左侧总线偏置为0V,右侧总线偏置为VREF。将顶部或底部总线连接到ADC,当顶层和底层相接触时即可作一次测量。图3.6触摸屏显示原理坐标图3.4.2 ADS7843触摸屏芯片由于单片机只能处理数字信号,而触摸屏的四线是输出模拟信号。因此,需要使用ADC模数转换芯片完整模拟与数字信号之间的转换。目前,比较常用ADS7843芯片(图3.7)作为专用触摸屏控制芯片。ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.75 V,参考电压VREF为1 V+VCC,转换电压的输入范围为0 VREF,最高转换速率为125 kHz。ADS7843引脚图及引脚功能说明了:图3.7 ADS7843触摸屏芯片引脚图引脚的功能说明如下表所示:表3.1触摸屏芯片引脚的功能说明引脚号引脚名功能说明1,10+Vcc供电电源2.75V2,3X+,Y+接触摸屏正电极,内部A/D通道4,5X-,Y-接触摸屏负电极6GND电源地7,8IN3,IN4两个附属A/D输入通道9VREFA/D参考电压输入11PENIRQ中断输出,须接外拉电阻(10K或100K)12,14,16DOUT,DIN,DCLK串行接口引脚,在时钟下降沿数据移出,上升沿移进13BUSY忙指示,低电平有效15CS片选3.4.3 触摸屏硬件电路设计图3.8触摸屏芯片引脚连接(图3.8)触摸屏的四线(X+、X-、Y+、Y-)连接到ADS7843的引脚2引脚5,ADS7843工作于3.3V电压,另外共有6根控制线与单片机的P12P17引脚相连接。由于ADS7834具有12bit的分别率,为了减少电源的杂讯干扰,在电源并联上0.1uf的滤波电容。这样,有效提高触摸屏工作的稳定性。第四章 软件程序设计本设计的软件程序主要包括:液晶屏显示驱动程序、触摸屏控制驱动程序和液晶显示触摸功能算法。在软件设计之前,有必要对需要使用到的编译平台有所了解。开始显示等待用户操作界面初始化触摸屏芯片显示等待用户操做作界面用户是否触点屏幕?滚动显示数字显示图片显示4.1程序总流程图4.1 编程语言及环境使用41.1 C51编程语言设计中的程序编写使用C51实现,并借助Keil C51编程环境完成。Keil C51 是由美国Keil Software 公司出品的51 系列兼容的单片机C 语言软件开发系统。与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C 来开发,体会更加深刻。对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比较常见的有C语言、汇编语言。汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。C语言编写的程序比用汇编编写的程序更符合人们的思考习惯。还有很多处理器都支持C编译器,这样意味着处理器也能很快上手。且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。基于C语言和汇编语言的优缺点,本系统采用C语言编写方法。41.2设计软件的选用单片机的程序设计需要用到开发软件有:Keil和STC单片机专用ISP下载软件。Keil是一款51系列兼容的单片机程序开发软件,可以支持汇编语言、C语言。Keil功能强大,可以对程序进行仿真运行。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.2 TFT 液晶屏数据及命令格式 单片机驱动TFT液晶屏显示的过程,有点类似于LCD12864的显示过程,都需要经过初始化、显示坐标设置,随后输出需要显示的数据。42.1 TFT液晶屏的读写操作图4.2液晶屏读写命令设计中使用的TFT液晶屏内置HX8347控制器,只需要掌握单片机对HX8347的控制,便可实现TFT液晶屏的显示。对液晶屏的初始化与数据的显示,是在对液晶屏写入数据或指令为基础。(图4.2)要区别单片机向液晶屏写入数据还是命令,通过LCD_RS的引脚来确定。当LCD_RS=0,单片机向液晶屏写入命令;当LCD_RS=1,单片机向液晶屏写入数据。程序流程图4.3如下:开始RS拉置低电平/高电平CS允许片选输出数据高8位、低8位WR输出数据控制禁止片选结束图4.3单片机向TFT输出命令/数据42.2 发送数据与命令单片机向TFT液晶屏发送一条指令后,紧跟着就是数据的输出。例如,需要设置TFT液晶屏X起始位置,先向液晶屏输出X坐标设置指令,再输出X坐标的数值。通过命令与数据的的结合,完成一次参数的设置。实现程序如下:void main_W_com_data( int com1,dat1)/命令数据一起 main_Write_COM(com1); main_Write_DATA(dat1);42.3 TFT液晶初始化开始复位控制器控制器初始化开启显示清0显存开始显示结束图4.4液晶初始化程序流程图具体的初始化命令及数据,一般控制器厂商都会提供,程序员可直接采用,或者按照实际设计需要稍作修改(图4.4)。42.4 TFT液晶数据及命令格式模块的控制器为 HX8347,该控制器自带显存,其显存总大小为 172820(240*320*18/8),即 18 位模式(26 万色)下的显存量。模块的 16位数据线与显寸的对应关系为 565方式,如下(图4.5)所示:图4.5控制器HX8347与显寸的对应关系最低 5 位代表蓝色,中间 6 位为绿色,最高 5位为红色。数值越大,表示该颜色越深。 接下来,我们介绍一下 HX8347的几个重要命令,因为 HX8347的命令很多,本文不作一一介绍。HX8347使用手册里面对这些命令有详细的介绍,这里主要要介绍的命令列表如下:表4.1 HX8347控制器的命令列表l R0,这个命令,有两个功能,如果对它写,则最低位为 OSC,用于开启或关闭振荡器。而如果对它读操作,则返回的是控制器的型号。这个命令最大的功能就是通过读它可以得到控制器的型号,而我们代码在知道了控制器的型号之后,可以针对不同型号的控制器,进行不同的初始化。因为 93xx 系列的初始化,其实都比较类似,我们完全可以用一个代码兼容好几个控制器。 l R3,入口模式命令。我们重点关注的是 I/D0、I/D1、AM 这 3 个位,因为这 3 个位控制了屏幕的显示方向。 l AM:控制 GRAM 更新方向。当 AM=0 的时候,地址以行方向更新。当 AM=1 的时候,地址以列方向更新。 l I/D1:0:当更新了一个数据之后,根据这两个位的设置来控制地址计数器自动增加/减少 1。 4.3 触摸屏程序设计43.1 SPI总线的分析ADS7843触摸屏支持SPI总线,单片机使用IO模拟SPI总线,则可方便对ADS7843进行控制。一般来说,SPI总线是使用4根线(图4.6)连接分别是MOSI(主出从入),MISO(主入从出),SCK(时钟),CS(片选)。而对于只有一个主机一个从机的设计,可以忽略CS连接。SPI的通信原理是主从机的数据交换完成的,通过主机控制SCK的频率,让数据以位(bit)传输。SPI的优点在于允许数据每位传输,可以暂停传输;数据的输入与输出线独立,允许同时输入/输出数据;以交换的传输方式,有较高的传输效率。单片机模拟SPI的过程,包括串行时钟、数据数出和数据输入。控制SCK数出高低电平,获得时钟脉冲。当SCK处于上升沿时MOSI输出数据,当SCK处于下降沿时MISO输入数据。经过8个周期的SCK后,完成一次数据的交换。MasterStaveSCLKMOSIMISO SS图4.6 SPI总线连接图在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。但是,在多个从器件的系统中(图4.7),每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。图4.7 多机通信SPI连接图SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下(图4.8)所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。图4.8 SPI时序图43.2 ADS7843的程序设计当ADS7843检测到有触摸屏幕的操作,会输出一个中断电平到单片机,告知单片机读取触摸的坐标(图4.9)。而该中断信号连接到单片机的P12引脚,由于单片机在本设计中处理数据量不大,因此可以使用循环查询方式检测、响应触摸屏功能。开始检测IRQ否IRQ=0 ?是读取X坐标读取Y坐标图4.9 ADS7843程序流程图具体程序如下:void AD7843(void) /外部中断0 用来接受键盘发来的数据CS=0;WriteCharTo7843(0x90); /送控制字 10010000 即用差分方式读X坐标 详细请见有关资料DCLK=1; _nop_();_nop_();_nop_();_nop_();DCLK=0; _nop_();_nop_();_nop_();_nop_();TP_Y=ReadFromCharFrom7843();WriteCharTo7843(0xD0); /送控制字 11010000 即用差分方式读Y坐标 详细请见有关资料DCLK=1; _nop_();_nop_();_nop_();_nop_();TP_X=ReadFromCharFrom7843();CS=1;4.4 液晶屏显示程序设计44.1 液晶显示函数在液晶屏显示数据前,需要对显示在液晶屏上的数据位置进行设定,分别要设定坐标的起始与结束点(图4.10)。开始设置起始坐标X设置起始坐标Y设置结束坐标X设置结束坐标Y结束 图4.10 显示坐标设置流程图具体程序如下:void address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2)main_W_com_data(0x0002,x18); / Column address start2main_W_com_data(0x0003,x1); / Coumn address start1main_W_com_data(0x0004,x28); / Column address end2main_W_com_data(0x0005,x2); / Column address end1main_W_com_data(0x0006,y18); / Row address start2main_W_com_data(0x0007,y1); / Row address start1 main_W_com_data(0x0008,y28); / Row address end2main_W_com_data(0x0009,y2); / Row address end1 main_Write_COM(0x0022); 完成显示的起始与结束坐标的设置,随后往这个区域填充数据,便能够显示相应的信息。例如,要在区域(0,0,40,40)填充一个40*40像素16位的图片,具体的程序为:for(i=0;i1600;i+)cld_write_color(imagei*2+1,imagei*2); /发送颜色数据为提高速度高8位低8位分别传递 由于40*40的16位图像,是40*40*2 = 3600个字节,而每次传递2个字节的色彩数据,因此需要传递1600次数据。44.2 液晶屏显示应用设计中的液晶屏有共有四个画面切换,分别是:1 等待控制画面2 图片显示画面3 图片移动显示画面4 数字显示画面设计在上电后,进入等待控制画面,通过屏幕上的三个图标按钮,切换到另外三个显示画面。单片机在完成对液晶屏的初始化后,便显示三个图标按钮,程序流程图4.11:开始初始化液晶屏设置显示坐标填充数据结束图4.11液晶屏显示程序流程图实现程序如下:address_set(20,250,59,289);/坐标设置 for(i=0;i1600;i+)cld_write_color(gImage_3i*2+1,gImage_3i*2); /发送颜色数据为提高速度高8位低8位分别传递 address_set(100,250,139,289);/坐标设置 for(i=0;i1600
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业系统职称考试考前冲刺练习题及答案详解(历年真题)
- 2025年美容美发店长面试预测题与经营策略
- 2025年机关单位招聘面试热点解析及模拟题集
- 2026届四川省宜宾市六中高高一化学第一学期期中质量检测模拟试题含解析
- 2025年本科院校基建处招聘考试备考指南与模拟题
- 公务员面试题及答案解读
- 2025年快递行业职业技能鉴定高级模拟题集
- 2025年数据分析师技能进阶教程与模拟题解析
- 2025年内科学专业知识初级考试题库及答案详解
- 2025年农业智能装备应用与管理人才选拔考试指南及解析
- 2025年本科院校基建处招聘考试备考指南与模拟题
- 小学教师个人专业发展三年规划
- 2023年度保安员考试检测卷【研优卷】附答案详解
- 热电厂巡检工培训课件
- 2025年农业面源污染治理农业面源污染治理技术手册报告
- 中国黄金知识培训课件
- 人教PEP版(一起)一年级上册英语全册教案
- 光伏施工基本知识培训课件
- 2025贵州毕节市赫章县招聘事业单位工作人员123人笔试备考题库及参考答案详解
- GB 21256-2025粗钢生产主要工序单位产品能源消耗限额
- 2025AI办公发展现状软件市场竞争格局及未来发展前景分析报告
评论
0/150
提交评论