led数显电子温度计的设计和LED显示屏控制系统的分析与设计-毕业设计论文_第1页
led数显电子温度计的设计和LED显示屏控制系统的分析与设计-毕业设计论文_第2页
led数显电子温度计的设计和LED显示屏控制系统的分析与设计-毕业设计论文_第3页
led数显电子温度计的设计和LED显示屏控制系统的分析与设计-毕业设计论文_第4页
led数显电子温度计的设计和LED显示屏控制系统的分析与设计-毕业设计论文_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单位代码:分类号:TN本科毕业论文(设计)题目:LED数显电子温度计的设计专业:电子信息工程姓名:学号:指导教师:职称:毕业时间:二零**年六月LED数显电子温度计的设计摘要:本文设计了一种利用单片机实现对温度的智能控制及显示的方案。本毕业设计主要研究的是高精度的数字温度计的设计,继而实现对对象的温度测量。测温系统主要包括供电电源、数字温度传感器的数据采集电路、LED显示电路、按键电路、单片机主板电路,数字温度传感器的数据采集电路与单片机主板电路是整个系统的关键。采用温度传感器DS18B20对温度检测的方法及利用软件实现对温度的智能控制。本系统由液晶显示器LCD1602显示实时温度,具有电路结构简单、操作容易、硬件少、成本低等特点。高精度数字温度计的测温过程,由数字温度传感器采集所测对象的温度,并将温度传输到单片机,最终由液晶显示器显示温度值。该数显温度计要求测温范围为-55℃~+125℃,精度误差在0.1关键词:单片机;DS18B20;LED显示ThedesignofLEDdigitaldisplayelectronicthermometerABSTRACTIndailylife,single-chipmicrocomputercontrolhasbroughtpeoplegreatconvenience,thedetectionandcontrolofthetemperatureisalsoextremelyimportant.Therefore,thedesignofthedigitalthermometerhaspracticalsignificanceandawiderangeofapplications.Thisarticledescribesaprogrammerwhichuseamicrocontrollertoachieveanddisplaytherighttemperaturebyintelligentcontrol.Thisprogrammermainlyconsistsbytemperaturecontrolsensors,MCU,LEDdisplaymodulescircuit.Themainaimofthisthesisistodesignhigh-precisiondigitalthermometerandthenrealizetheobjecttemperaturemeasurement.Temperaturemeasurementsystemincludespowersupply,dataacquisitioncircuitofdigitaltemperaturesensor,LEDdisplaycircuit,keypadcircuit,boardwithamicrocontrollercircuit,dataacquisitioncircuitofdigitaltemperaturesensorandboardwithamicrocontrollercircuitisthekeytothewholesystem.Thetemperatureprocessofhigh-precisiondigitalthermometer,fromcollectingthetemperatureoftheobjectbythedigitaltemperaturesensorandthetemperaturetransmittedtothemicrocontroller,andultimatelydisplaytemperaturebytheLED.Thedigitalthermometerrequiresthehighdegreeispositive125andthelowdegreeisnegative55,theerrorislessthan0.1,LEDcanreadthenumber,Thisdigitalthermometercouldreplacethetraditionalmercurialthermometer,canbeusedinfamilyandindustrial,highpracticalvalue.KeyWords:MCU;DS18B20;LEDdisplay目录1引言 12设计方案 13硬件选择 23.1STC89C52简介 23.2DS18B20的选择 33.2.1DS18B20简介 33.2.2主要技术指标 44硬件设计 54.1显示电路 54.2温度测试 54.3最小系统 64.3.1复位电路 64.3.2晶振电路 74.3.3DS18B20的接线说明 75.系统程序设计 95.1编写语言及开发工具的选择 95.2主程序流程图 115.3温度采集流程图 115.4显示流程图 126原理图 137总结 14参考文献 15致谢 161引言温度是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。测量温度的基本方法是使用温度计直接读取温度。最常见到的测量温度的工具是各种各样的温度计,例如,水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。利用单片机和温度传感器构成的电子式智能温度计就可以直接测量温度,得到温度的数字值,既简单方便,又直观准确。在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DSl8B20,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;用户可编程设定9~12位的分辨率。以上特性使得DSl8B20非常适用于构建高精度、多点温度测量系统。本课题设计的高精度数字温度计选用DS18B20数字温度传感器,它与单片机组成一个测温系统,具有线路简单、体积小等特点,而且一条总线可连接多个器件,可以构成一个低电压低功耗的多点数字测温系统,十分方便,也适合于恶劣环境下进行现场温度测量,有广泛的应用前景。2设计方案本设计以检测温度并显示温度为目的,按照系统设计功能的要求,确定系统由3个模块组成:传感器(采集温度)、主控器及显示电路。如图2-1所示系统以DS18B20为传感器用以将温度模拟量转化为电压数字量以总线传入单片机,以STC89C52为主芯片,在主芯片对DS18B20传入的温度值进行处理,由单片机程序控制,将经处理后的温度由LED数码管显示出来。本系统具有电路简洁,性能可靠等特点,易于实现。DS18B20DS18B20STC89S52控制器显示电路扫描驱动图2-1系统框图3硬件选择3.1STC89C52简介STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz。STC89C52引脚如图3-1所示:图3-1STC89C52引脚3.2DS18B20的选择3.2.1DS18B20简介DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。1:技术性能描述●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。●测温范围-55℃~+125℃,固有测温误差●支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。●工作电源:3~5V/DC(可以数据线寄生电源)●在使用中不需要任何外围元件●测量结果以9~12位数字量方式串行传送●不锈钢保护管直径Φ6●适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温●标准安装螺纹M10X1,M12X1.5,G1/2”●PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接2应用范围:●该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域●轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。●汽车空调、冰箱、冷柜、以及中低温干燥箱等。●供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制传感器原理图如图3-2所示:图3-2传感器原理图3.2.2主要技术指标任何引脚相对于地的电压-0.5V至+7.0V运用温度-55℃至+贮存温度-55℃至+焊接温度260℃4硬件设计4.1显示电路在单片机系统中,最常用的显示器有:发光二极管,简称LED(LightEmittingDiode);液晶显示器,简称LCD;荧光管显示器,简称VFD(VacuumFluorscentsDisplay)。其中LED是一种极低功耗显示器,广泛应用于测量产品中,由于本课题不需要复杂的显示信息,所以选择的是LED显示模块,,可以节约硬件资源,降低成本。显示电路远离图如图4-1所示:图4-1显示原理图4.2温度测试温度传感器使用了DSl8B20数字温度计提供可选择的12位(二进制)温度读数来指示周围环境的温度信息。经过单线接口DQ与单片机进行数据交互。从主机CPU到DSl8B20仅需一条数据接线(和地线)。DSl8B20的电源可以由数据线本身提供而不需要接外部电源。由于每一个DSl8B20在出厂时已经给定了唯一的序号因此任意多个DSl8B20可以存放在同一条单线总线上实现多点温度测量。温度传感器DSl8B20的测温范围从-55摄氏度到+125摄氏度增量值为0.5度可在ls(典型值)内把温度变换成数字量,因此采用DS18B20实现温度补偿电路的设计。温度测试原理图如图4-2所示:图4-2温度测试原理图4.3最小系统单片机运行工作起来,所必需的最基本电路组成(即单片机最小系统)(1)电源电路:向单片机供电。(2)时钟电路:单片机工作的时间基准,决单片机工作速度。(3)复位电路:确定单片机工作的起始状态,完成单片机的启动过程。4.3.1复位电路单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R采用10KΩ的阻值,电容采用电容值为100μ的电解电容。具体连接电路如图4-3所示:图4-3复位原理图4.3.2晶振电路STC89C51内部有一个高增益反向放大器,用于构成片内振荡器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。在XTAL1和XTAL2两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟发生器,外接晶振时,C1,C2通常选择30pF左右;外接陶瓷谐振器时,C1,C2通常选择47PF。本设计实物的晶振电路原理图如图4-4所示:图4-4晶振原理图4.3.3DS18B20的接线说明独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用,无需外部元件,可用数据总线供电,电压范围为3.0V至5.5V无需备用电源。测量温度范围为-55°C至+125℃。华氏相当于是67°F到257华氏度-10°DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:●读ROM●ROM匹配●搜索ROM●跳过ROM这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。DS18B20有4个主要的数据部件:(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校准码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃1、DS18B20的主要特性●单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R采用10KΩ的阻值,电容采用电容值为10μ的电解电容。具体连接电路如图所示:适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电●独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯●DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温●DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内●温范围-55℃~+125℃,在-10~+85℃●可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃●在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快●测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力●负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。5.系统程序设计5.1编写语言及开发工具的选择编写语言我选择了C语言,C语言有以下优点:●简洁紧凑、灵活方便,C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。●运算符丰富,C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。●数据结构丰富,C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强●C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。●C语法限制不太严格,程序设计自由度大。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。●C语言允许直接访问物理地址,可以直接对硬件进行操作由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。●生成目标代码质量高,程序执行效率高。一般只比汇编程序生成的目标代码效率低10へ20%。C语言适用范围大,可移植性好,C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。开发工具我选用KeilC51,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。KeilC51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。5.2主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1S进行一次。主流程图5-1所示:IS到?IS到?初次上电读出温度值并显示发温度转换开始命令初始化调用显示子程序NYYN图5-1主流程图5.3温度采集流程图采集温度子程序的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。流程图5-2所示:YY开始DS18B20初始化读取温度值跳过ROM命令结束9字节是否读完?N图5-2DS18B20温度采集流程图5.4显示流程图开始开始调用显示子程序将读取的温度值通过I/O口送到显示模块结束图5-3显示流程图6原理图图6-1系统原理图7总结经过四年的学习,终于完成了我的数显电子温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是比较高兴的。过程当中用到的单片机作为控制内核,四段数码管作为显示部分,及其他电路,共同组成了我的成果数字温度计。首先设计的是它的硬件电路,最重要的部分是STC89S52控制内核,所有的数据处理都是采用的单片机,其次是DS18B20温度采集电路,其他还有晶振电路,复位电路,上下限温度调整电路。其次我们设计了它的灵魂软件电路,通过用汇编语言编程实现对器件的控制。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,不仅使我真正的学会了数字温度计的设计,而且我相信通过这次的学习我能够达到举一反三的效果,同时这次的不足之处是在有些细节方面刚开始做的很不详细,我想原因在于自己平时对自己的学习要求的不够严格,才造成遇到一些问题显得惊慌失措,在日后我会克服这些缺点的。参考文献[1]李朝青单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998[2]李广弟单片机基础[M].北京:北京航空航天大学出版社,1994[3]阎石数字电子技术基础(第三版).北京:高等教育出版社,1989[4]廖常初现场总线概述[J].电工技术,1999.[5]新颖电子模块应用手册.北京:机械工业出版社,2005[6]申忠如申淼谭亚丽编著,MCS-51单片机原理及系统设计.西安交通大学出版社,2008[7]何立民单片机应用技术选编[M].北京航空航天大学出版社,2004[8]赵旦峰刘昕.集成温度传感器在多点温度测量中的应用[J]传感器技术,1997[9]朱家健单片机与可编程控制器.北京,高等教育出版社,2007[10]张开生,郭国法,MCS-51单片机温度控制系统的设计[J].微计算机信息,2005致谢经过几个月的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周的地方,如果没有马惠铖老师的督促指导。以及一起工作的同学们的支持,想要完成这个设计是难以想象的。在这里要感谢马惠铖老师,他循循善诱的教导和不拘一格的思路给予我无尽的启迪;他严谨细致,一丝不苟的作风一直是我们工作.学习中的榜样;并将积极影响我今后的学习和工作。然后要感谢大学四年来的所有老师,为我们打下了电子专业知识的基础;同时还要感谢电子0901班所有的同学们,正是因为有你们的支持和鼓励。我才能在温暖的环境中茁壮成长并顺利完成毕业设计。PAGEPAGE14附录:程序voidDisplay(){unsignedcharj;for(j=0;j<30;j++){Out=tab[Disbuf[0]];//要显示的数据第一位ls4=0;delay(300);ls4=1;Out=tab[Disbuf[1]];//要显示的数据第二位ls3=0;delay(300);ls3=1;Out=(tab[Disbuf[2]])&0x7f;//要显示的数据第三位,+小数点ls2=0;delay(300);ls2=1;Out=tab[Disbuf[3]];//要显示的数据第四位ls1=0;delay(300);ls1=1;}}voidconv(void){unsignedcharbdatap;unsignedchartem1,tem2,tem3;p=ALLTEMP;p=p&0x80;p>>=7;if(p==1)//判断+-温度{Disbuf[0]=0x0b;//显示“-”号ALLTEMP=~ALLTEMP;//取补码ALLTEMP++;tem2=ALLTEMP/10;tem3=ALLTEMP%10;Disbuf[1]=tem2;if(Disbuf[1]==0)Disbuf[1]=0x0a;//高位0不显示Disbuf[2]=tem3;Disbuf[3]=0x0c;//'C'}else{tem1=ALLTEMP/100;tem2=(ALLTEMP-tem1*100)/10;tem3=ALLTEMP-tem1*100-tem2*10;Disbuf[0]=tem1;Disbuf[1]=tem2;Disbuf[2]=tem3;if(Disbuf[0]==0){Disbuf[0]=0x0a;//高位0不显示if(Disbuf[1]==0)Disbuf[1]=0x0a;//高位0不显示}Disbuf[3]=0x0c;//'C'}}unsignedcharow_reset(void){unsignedcharp;DQ=0;//拉DQ线为低delay(36);//等待DQ=1;//DQ返回高delay(3);//等待p=DQ;//获得信号delay(25);//等待结束时间片return(p);}//0=找到器件,1=无器件//从1-wire总线上读取一个字节unsignedcharread_byte(void){unsignedchari;unsignedcharvalue=0;for(i=8;i>0;i--){value>>=1;DQ=0;//拉低DQDQ=1;//返回高DQ=1;if(DQ)value|=0x80;delay(6);//等待读时间片}return(value);}//向1-WIRE总线上写一个字节voidwrite_byte(charval){unsignedchari;for(i=8;i>0;i--)//写1字节{DQ=0;//拉低DQDQ=val&0x01;delay(2);//等待DQ=1;val=val/2;}delay(5);}charRead_Temperature(void){union{unsignedcharc[2];unsignedintx;}temp;//定义一个联合数据类型,便于数据处理ow_reset();write_byte(0xCC);//此命令执行后的存储器操作将针对在线的所有DS1820write_byte(0xBE);//从高速暂存器读9bits温度值和CRC值temp.c[1]=read_byte();temp.c[0]=read_byte();ow_reset();write_byte(0xCC);//跳过ROMwrite_byte(0x44);//转换温度returntemp.x/16;//保留整度,显示前要转换其特殊格式!}main(){unsignedchari;//conv();ALLTEMP=Read_Temperature();//读温度conv();for(i=0;i<4;i++)Disbuf[i]=0x0a;for(i=0;i<2;i++)Display();ALLTEMP=Read_Temperature();//读温度conv();while(1){Display();if(i>2)//由于18B20转换速度限制读取温度不能太快,一般要隔2秒读取一次{//这里采用显示2次后读一次数据ALLTEMP=Read_Temperature();//读温度conv();//转换i=0;}i++;}}aganemploymenttribunalclaiEmloymenttribunalssortoutdisagreementsbetweenemployersandemployees.Youmayneedtomakeaclaimtoanemploymenttribunalif:youdon'tagreewiththedisciplinaryactionyouremployerhastakenagainstyouyouremployerdismissesyouandyouthinkthatyouhavebeendismissedunfairly.Formoreinformu,takeadvicefromone毕业论文(设计)题目LED显示屏控制系统的分析与设计前言一、问题的提出:用于图文显示的LED显示屏,如果只显示一些图形、文字,而对图像、动画以及信息的实时显示要求不高,而且信息的内容和屏与屏切换相对比较稳定,不需要固定计算机实时服务,只需要在控制显示屏的单片机中加入存储块,实现信息的保存功能。通过无线发射机和无线接收机进行数据的传输,达到对LED显示屏的控制。二、论文的主要研究内容:通过软件编辑实现图文编辑与传输。采用习惯的Windows窗体,开启文本编辑区,完成图形和文字的编辑工作。在控制系统中实现字模的提取与保存,无需在单片机中加入汉字库。通过采用PC与无线发射机串行通讯方式,无线接受机接收信息发送给LED显示屏,从而完成信息的传输。通过对点阵模块和控制电路的分析,确定LED显示屏的部件构成;通过对单片机及智能控制模块的分析,确定LED显示屏的组成结构和扫描驱动方式,实现LED显示屏的显示。无线发射机硬件控制模块无线接收机硬件控制模块无线发射机硬件控制模块无线接收机硬件控制模块RS-232串口通信发射信息PC机控制系统单片机系统LED点阵显示屏行列扫描驱动四、论文的组织论文分为三个部分,分别是:系统的控制部分,无线数据传输系统部分以及LED显示屏工作部分。具体组织安排如下:第一部分:LED显示屏控制系统的分析与设计。这一部分主要由司红君同学设计,在这一部分中主要介绍以下内容:1、根据具体应用环境的要求,对整个系统进行详细的分析。主要介绍:1)整体分析。对软件的整体结构、框架进行分析;2)软件控制系统分析。在本节中,对系统的编辑、保存、预览功能进行详细的分析与设计;2、核心控制系统的设计与实现,具体如下:1)编辑功能设计与实现;2)字模;3)图像预处理的设计与实现;4)在核心功能初步实现的基础上,对系统进行开发。3、设备通讯,利用RS-232C串行通信实现PC机与无线传输机之间的数据传输。第二部分:基于PIC的无线数据传输系统设计。这一部分主要由王丽霞同学设计,在这一部分中主要介绍以下内容:1.简单介绍PIC系列单片机。2.无线数据传输发射机的设计1)以PIC16F84芯片为基本部件的无线数据传输发射机的各部原理2)发送信机控制Code码信号3)发送信机端的程式设计框图3.无线数据传输接收机的设计1)高频放大电路2)遥控接收机接收编码ST0、ST1和ST2的原理4.系统的调试1)发送信机的安装调试2)接收机调测,动作确认5.小结第三部分:LED显示屏工作原理。这一部分主要由邓成富同学设计,在这一部分中主要介绍:1、介绍LED的历史、现状及发展2、单片机概述及LED显示屏的系统概述3、根据设计的要求,对LED显示屏系统整体结构框架进行分析,并介绍工作过程。1、硬件设计。主要完成LED显示屏的驱动任务,采用MCS51系列单片机控制,单片机主要负责与上位机间的通讯接收文件信息并保存,通过行列驱动器控制完成LED点阵的驱动和控制信号。2、软件设计。主要介绍LED点阵汉字的显示原理,并通过字模提取软件将16×16点阵的汉字字模转换成8×32的编码,进行编辑语言输入。目录前言 1摘要 5第1章绪论 51.1LED显示屏的研究背景及意义 51.2软件开发工具C++概述 6第2章LED显示屏控制系统的系统分析 72.1整体分析 82.2计算机软件模块分析与设计 8第3章串行接口 103.1串行通信的工作原理 103.2RS-232C串行通信简介 103.3RS-232C引脚及使用 113.4MAX-232介绍 12第4章软件控制系统设计与实现 134.1编辑功能设计与实现 144.2字模提取 164.3效果添加与预览功能的设计与实现 184.4控制系统软件设计 20第5章总结 26参考文献 27致谢 28Abstract 29LED显示屏控制系统的研究与设计司红君南京信息工程大学电子与信息工程学院,南京210044摘要:本文根据LED图文显示屏系统的具体要求,通过查阅资料,分析并归纳出具体设计方案。即系统体系结构、系统整体工作流程、软件控制系统的设计以及串行通信设计。这个系统的工作流程是:通过软件控制系统提供的编辑工具完成图文编辑工作,对编辑的信息实现字模提取,然后可以根据系统提供的显示模式加载显示效果,确认为欲显示信息后保存文件,然后通过程序调用Windows函数,并采用RS-232C串口通信,实现数据到无线发射机的传输。本文具体设计了三个模块:编辑功能模块,字模提取模块,效果添加及预览模块。系统是否需要更新以及现有设计是否能够满足要求都有待于进一步的研究。关键词:LEDC++字模串行通信第1章绪论1.1LED显示屏的研究背景及意义在当今现代信息化社会的高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费类多媒体应用渗透。随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。与传统的显示设备相比,这种未来的巨大需求让大屏幕显示技术成为众人目光的焦点:LED显示屏色彩丰富,显示方式变化多样(图形、文字、三维、二维动画、电视画面等)、亮度高、寿命长,是信息传播设施划时代的产品。LED显示屏是集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品,可用来显示文字、计算机屏幕同步的图形。它以其超大画面、超强视觉、灵活多变的显示方式等独居一格的优势,是目前国际上使用广泛的显示系统。LED显示屏应用广泛,金融证券、银行利率、商业广告、文化娱乐等方面,有巨大的社会效益和丰厚的经济效益。在其历史的演变过程中,出现了多种信息传播媒体:但就其性能看:如阴级管(crt)或石英管(dv)大型电视,成本非常昂贵,在不需要超大画面且在室内使用时效果尚可;彩色液晶显示同样成本昂贵、电路复杂,面积有限,受视频角的影响非常大,可视角度很小;影象投影设备亮度小、清晰度差(画面受光不均匀);电视墙表面有分割线,视觉上有异物感,室外应用时亮度效果差。而LED显示屏以其受空间限制较小,并可以根据用户要求设计屏的大小,具有全彩色效果,视角大,可以用于显示文字、图案、图象、动画、视频、录象信号等各种信息的特点得到了突飞猛进的发展。LED显示屏的发展主要经历了三个阶段:1、1990年以前LED显示屏的成长时期。一方面,受LED材料器件的限制,LED显示屏的应用领域没有广泛开展;另一方面,显示屏控制技术基本上是通讯控制方式,客观上影响了显示效果。这一时期的LED显示屏在国外应用较广,国内很少,产品以红、绿双基色为主,控制方式为通讯控制,灰度等级为单点4级调灰,成本较高。2、1990-1995年,这一段是LED显示屏迅速发展的时期。进入九十年代,全球信息产业高速增长,信息技术各个领域不断突破,LED显示屏在LED材料和控制技术方面也不断出现新的成果。蓝色LED晶片研制成功,全彩色LED显示屏进入市场;电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术,显示屏灰度等级实现16级灰度和64级灰度调灰,显示屏的动态显示效果大大提高,产品应用领域涉及金融证券、体育、机场、铁路、车站、公路交通、商业广告、邮电电信等诸多领域,特别是1993年证券股票业的发展更引发了LED显示屏市场的大幅增长。LED显示屏在平板显示领域的主流产品局面基本形成,LED显示屏产业成为新兴的高科技产业。3、1995年以来,LED显示屏的发展进入一个总体稳步提高产业格局调整完善的时期。进入新世纪,光电子产业得到广泛的重视,中国加入WTO、北京申奥成功等,成为LED显示屏产业发展的契机,LED显示屏必将得到飞跃发展[5]。1.2软件开发工具C++概述C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。VC++作为一个面向对象的开发工具,而不同于传统的基于过程的编程工具,所以在本文中必须明确以下几个概念:1、对象从概念上讲,对象代表着正在创建的系统中的一个实体。例如,在一个学校管理系统中,像学生、教师、成绩单等都是对象,这些对象对于实现系统的完整功能都是必要的。从实现形式上讲,对象一个属性(状态)和操作(方法或行为)的封装体。属性是由对象中变量的内容和值定义的,例如学生有年龄、性别、入学日期等属性。各个对象的属性值互不相同。操作是一系列的实现步骤,它能够完成特定的功能,例如对学生可以有选对象实现了信息隐藏,对象与外部是通过操作接口联系的,操作的具体实现外部是不可见的。封装的目的就是阻止非法的访问,操作接口提供了这个对象的功能。对象是通过消息与另一个对象传递信息的,每当一个操作被调用,就有一条消息被发送到这个对象上,消息带来将被执行的这个操作的详细内容。在C++中,向对象发送消息就是调用对象的成员函数,从而获取对象的状态信息或是对对象的状态进行修改。2、类类是对象的模板,它包含所创建对象的状态描述和方法的定义。类的完整定义包含了外部接口和内部算法以及数据结构的形式。由一个特定的类所创建的对象被称为这个类的实例,因此类是对象的抽象及描述,它是具有共同行为的若干对象的统一描述体。类是抽象数据类型的实现。一个类的所有对象都有相同的数据结构,并且共享相同的实现操作的代码,而各个对象有着各自不同的状态,即私有的存储。因此,类是所有对象的共同的行为和不同状态的集合体。3、继承类提供了说明一组对象结构的机制,再借助于继承扩充类的定义方式,从而体现代码可重用的优越性。继承提供了创建新类的一种方法,这种方法就是说,一个新类可以通过对已有类进行修改或扩充来满足新类的要求。新类共享已有类的行为,而自己还具有修改的或额外添加的行为。因此,可以说继承的本质特征是行为共享。从一个类继承定义的新类将继承已有类的所有方法和属性,并且还可以添加所需要的新的方法和属性。新类被称为已有类的子类,而已有类称为父类,又叫基类,新类又叫派生类。面向对象的3个要素是对象、类和继承。在C++中,类是主要的编程对象,程序员需要设计类的成员变量和成员函数,以及类与外界的接口。对象即类的实例化,类是对象的模板。同一个类的对象具有相同的行为,但状态可以不同。继承是创建新类的一种重要方法,派生类按照继承类型的不同可以从基类继承到不同的成员,同时派生类还可以添加新的成员,通过这种继承和扩充得到新的类。第2章LED显示屏控制系统的系统分析根据LED显示屏控制系统的应用,本章设计了LED图文显示屏的体系结构和工作流程。其中软件系统与无线传输控制硬件主系统之间采用串行通讯方式完成程序下载,实现文本信息的传输。2.1整体分析LED显示屏系统组成LED图文显示屏系统由软件控制系统、无线传输系统、设备主控制器、LED显示点阵、电源等部分组成。基本结构如下图:PC软件控制系统单片机各功能模块 行驱动器 PC软件控制系统单片机各功能模块 行驱动器 LED显示点阵 列驱动器 无线发射机无线接受机系统工作过程:软件控制系统主要完成的任务为图文编辑、字模提取与保存、图像预览与文件传输;无线传输系统主要完成文件信息由PC机传输至LED显示器,硬件控制系统中LED点阵主要任务是通过电流控制完成信息显示,通过单片机的扫描驱动方式的控制对LED点阵行列驱动,实现设备的驱动并最终实现接收的图文显示功能。2.2计算机软件模块分析与设计软件模块分为编辑部分和控制通讯部分,编辑部分实现图文文件的编辑功能,通讯部分通过RS-232C串口通讯完成文件到单片机存储模块的传输。通讯部分将在第三章做详细的介绍。系统设计采用Windows操作系统下,开启文本编辑窗口,客户区内像素点采用与实际LED点阵显示屏像素点相同,功能类似Word文档编辑工具,包括编辑模块、绘图模块、文字编辑模块、颜色控制模块、显示效果加载模块、预览模块、信息下载模块。1、编辑模块1)除Windows自生成的剪贴、复制、粘贴功能,系统加入了撤消、重复功能。(1)选中撤消功能可以实现之前编辑工作的一步步取消功能。(2)选中重复功能可以实现之前编辑工作的最近的一条操作命令。2)绘图:包括直线、矩形、椭圆、圆等在内的图形绘制功能。3)文字编辑:包括各种字体、字形、字号、效果、颜色的文字的编辑,并且根据应用的特殊用途,加入指定位置文字的编辑。(1)选中文字功能,弹出字体选择框体,可以选择各种字体的文字进行编辑(2)调出具体文字位置编辑对话框,输入文字和要求显示位置的横坐标和纵坐标。4)颜色控制模块:由于应用领域的具体特点,主要采用了红、绿、黄三种颜色,可以实现颜色控制。2、增添效果模块:通过增添显示效果和传输通讯中多屏文件单屏传送,完善了控制系统的功能。1)普通效果,静态的显示屏幕上的信息2)滚动效果,可以实现从左向右的信息滚动显示,可以与静态信息穿插显示。3)单屏信息传输,实现编辑待传输信息的保存。4)多屏信息传输,实现编辑保存好的单屏信息合并保存成一个文件,大大减少传输文件时的烦琐。3、图像预览模块:在文件传输之前实现字模信息的预览功能,可以实现预览传输前所保存的任何形式的字模信息,并且直接集成到工具栏文件打开功能键按钮。1)显示效果,通过文件传输前的预览,可以调整静态与滚动显示效果的排列顺序。2)显示时间,显示不同屏幕显示信息之间的时间间隔。软件模块结构图如下:控制模块控制模块编辑模块增添效果模块图像预览模块设备通讯模块文字编辑图形编辑颜色控制滚动效果多屏文件合并显示效果显示时间设备通讯文件传输图3-2软件模块结构图第3章串行接口3.1串行通信的工作原理在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,都会遇到怎样与PC机进行通讯的问题。微机的主板通过并行口和串行口等与外设交换数据,并行口主要进行短距离的数据传送,传送速率较快,通常用作打印机的输出。而长距离的数据传送只能采用串行口,串行口只需一根数据线进行数据传送,传送距离较长,投资较少,但传送速率较低。因此,在数据量不大、传输要求不高的情况下,一般都采用串行通讯方式,即通过与PC机配置的RS-232标准串行接口COMl,COM2等相连接来实现应用系统与PC机之间的数据交换。为了能使微机与单片机之间能通信,必须遵守相同的通信协议。由于单片机的串行口以TTL电平进行输入输出,而微机的RS-232接口则采用+12V和的-12V电平方式,与PC机RS-232标准串行接口的电气规范不一致,因此要实现单片机与PC机之间的数据通读,必须进行电平转换。一般常用的平转换器件有MC1488,MC1489及MAX232等,但MC1488,MC1489需要+-12V电源,这对于不具备+-12V电源的单片机系统是非常不便的,而双路RS-232收发器MAX232就是基于这一功能开发的新型器件[4]。3.2RS-232C串行通信简介串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(ElectronicIndustryAssociation)代表美国电子工业协会,RS(recommededstandard)代表推荐标准,232是标识号,C代表RS-232的最新一次修改(1969在这之前,有RS232B,RS232A)。它规定连接电缆和机械、电气特性、信号功能及传送过程。RS-232C规定标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是:(1)联络控制信号线:数据装置准备好(Datasetready-DSR)——有效时(ON)状态,表明MODEM处于可以使用的状态。数据终端准备好(Datasetready-DTR)——有效时(ON)状态,表明数据终端可以使用。这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。请求发送(Requesttosend-RTS)——用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态。允许发送(Cleartosend-CTS)——用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TXD发送数据。这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。接收线信号检出(ReceivedLinedetection-RLSD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RXD送到终端。此线也叫做数据载波检出(DataCarrierdectection-DCD)线。振铃指示(Ringing-RI)——当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。(2)数据发送与接收线:发送数据(Transmitteddata-TXD)——通过TXD终端将串行数据发送到MODEM,(DTE→DCE)。接收数据(Receiveddata-RXD)——通过RXD线终端接收从MODEM发来的串行数据,(DCE→DTE)。(3)地线有两根线SG,PG——信号地和保护地信号线,无方向。3.3RS-232C引脚及使用从机械特性而言,RS-232C包括标准的25针及简化的9针引脚排列。实际上,RS-232C的25条引脚中有许多是很少使用的,要完成最基本的串行通信功能,只需要RXD,TXD和GND即可。表1为常用的9针接口各引脚的信号功能。引脚信号信号源类型描述1DCDDCE控制载波信号检测2RXDDCE数据数据接收3TXDDTE数据数据接收4DTRDTE控制数据终端准备好5GND信号地6DSRDCE控制数据设置准备好7RTSDTE控制请求发送8CTSDCE控制清除发送9RIDCE控制振铃指示表1从电气特性而言,RS-232总线的逻辑电平与TTL电平完全不兼容,因此必须进行电平转换。目前常使用的电平转换电路为MAX232。3.4MAX-232介绍MAX232是双路驱动/接收器,内部包括电容型的电压生成器,可以将单5V电源转换成符合EIA/TIA-232-E的电压等级。接收器将EIA/TIA-232-E标准的输入电平转换成SVTTL/CMOS电平。接收器的典型临界值是1.3V,典型磁滞是0.5V,可以接收+-30V的输入信号。驱动器(发送器)将TTL/CMOS输入电平转换成EIA/TIA-232-E电平。图2.4为其管脚分布图。其特性如下[6]。图3-1MAX232管脚图(1)单5V电源(2)LinBiCMOS工艺(3)两个驱动器和两个接收器(4)+-30V的输入电平(5)低工作电流:8mA典型值(6)满足和超过ANSIEIA/TIA-232-E和ITU推荐标准V.28其工艺技术如下:(1)两个驱动器及两个接收器(2)+-30V输入电平(3)低电源电流:典型值是8mA(4)符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28(5)可与Maxim公司的MAX232互换(6)ESD保护大于MIL-STD-883(方法3015)标准的2000V注意事项:(1)工作温度(自然通风)范围内的极限参数(除非另有说明)(2)输入电源电压范围,Vcc-0.3V至6V(3)正输出电源电压范围,VS+Vcc-0.3V至15V(4)负输出电源电压范围,VS--0.3V至-15V(5)输入电压范围,VI:驱动器-0.3v至Vcc+0.3V(6)接收器+-30V(7)输出电压范围,V0:T10UT,T20UTVS--0.3V至VS++O.3V(8)RlOUT,R20UT-0.3V至Vcc+O.3V(9)短路持续时间:T10UT,T20UT未限制(10)工作温度(自然通风)范围,TA:MAX2320℃至70℃(11)MAX232I-40℃至85℃(12)存储温度范围,Tstg-65℃至150℃(13)引线温度,离外壳1.6mm(1/16英寸),10秒260℃强度超出所列的极限参数可能导致器件的永久性损坏。这些仅仅是极限参数,并不意味着在极限参数条件下或在任何其它超出推荐工作条件所示参数的情况下器件能有效地工作。延长在极限参数条件下的工作时间会影响器件的可靠性[7]。第4章软件控制系统的设计与实现在LED显示屏的软件控制系统中,文本信息的编辑、字模信息的保存、显示效果的处理、图像预览以及设备通讯是设计的核心上作。下面就这四个核心功能做详细的研究与设计。4.1编辑功能设计与实现在LED显示屏上展现所要显示的内容以及效果,编辑工作是最重要的环节之一。本系统在设计时采用VC6.0开发工具,用VC++完成整个设计工作。基于MFCAppWizard建立工程,以单文档View的形式开启文本区。下面对工程进行分析和设计:1、文本区的开启:由于所应用的LED显示屏的像素点数量已定,而计算机屏幕的分辨率显然远远高于显示屏,这样造成逻辑坐标的不同,即而显示的图像会有扭曲、拉长甚至失真情况。所以可以通过选择开启窗口的计算机屏幕像素点与显示屏像素数之间恰当的比例来减小误差。现在用来解决此问题的方法很多。例如点阵数据的压缩方法,由于在Windows环境下,系统默认的每个汉字为4000多点,而16×16点阵一个字的大屏幕,每个汉字为256点,所以根据计算,可以采用间隔取点的方式,在横向和纵向每隔12个点取一个点,每个汉字256个点组成的原理来压缩数据。但为了图像不失真,本系统采用所开启文本区与显示屏像素数完全相同的方式,从而避免了圆变椭圆,正方形变矩形,甚至连划斜线时的斜率也不会变。CMainFrame::PreCreateWindow函数用来设置整个窗口的大小,但是窗口外框还包括菜单,工具栏,状态栏与客户区。而系统定义的文本区要求精确的clientarea,用于字模信息保存。所以表示客户区大小的纵坐标要加上状态栏与工具栏的高度,甚至菜单与窗口外框的边缘也要扣除[1]。SetClientSize()//设置客户区大小的函数{CRectrect;CSizewinSize;intcx,cy=0;CControlBar*pBar;pBar=GetControlBar(AFX_IDW_STATUS_BAR);if((pBar!=NULL)&&(pBar->IsWindowVisible())){pBar->GetWindowRect(rect);winSize=rect.Size();cy+=(winSize.cy);}pBar=GetControlBar(AFX_IDW_TOOLBAR);if((pBar!=NULL)&&(pBar->IsWindowVisible())){pBar->GetWindowRect(rect);winSize=rect.Size();cy+=(winSize.Cy*2);}cx=384+(384-m_clientSize.cx);cy+=(192+(192-m_clientSize.cy));GetWindowRect(rect);SetWindowPos(this,rect.left,rect.top,cx,cy,SWP_NOZORDER);}OnViewStatusBar(){CFrameWnd::OnBarCheck(ID_VIEW_STATUS_BAR);SetClientSize();}通过对客户区的精确控制,可以真正的使文本区的像素点数与显示屏的平面发光点数对应,而且为了编辑操作过程中不至于因为失误造成文本区内的象素改变,所以系统限制了窗体最大化控制[3][9]。cs.style&=~WS_MAXIMIZEBOX;//取消最大化使窗体大小固定。2、编辑功能设计:在控制系统中,把文字与图形的输入通通想象成是图像的编辑,这样就像在画板上一样,随心所欲的完成编辑工作。MFC的绘图都是通过DeviceContext(它是设备与数据之间的媒介,可以缩写为DC)来将绘图输出到一个设备上。DC中存储设备的属性与输出绘图的数据。在MFC中要输出绘图数据至一个设备上,必须准备一个针对此设备的DC对象,它是继承于CDC的类的对象。这个DC对象可以使用CDC类的一些绘图函数(如画线、圆、方形等)。每个DC必须附着一些所谓的GDIobject(GD工对象,如常见的画笔、画刷、字形、位图等画图上具)以配合DC的绘图函数。系统通过编写Line()函数画直线、Rectangle()函数画矩形、Ellipse()函数画椭圆、Circle()函数完成图形的编辑[2][3]。需要指出的是将newPen析构:调用newPen.DeleteObject)方法。GDI对象的析构很重要,特别是自己创建的对象,一定要在适当的时机(GDI对象已经不在附着在DC时)去掉。解除附着的方法只有以SelectObject函数选择别的新的对象(旧的对象会自动被消除)。可以选择MFC预存的对象来解除对象的依附关系,因为MFC预存的对象会在不用的时候自动析构。DeleteObject是CGdiObject类公开的成员函数,所以它的子类都可以使用。文字的输入:通过CFontDialog类生成一个选择字体类型(font)的对话框。CDC*pDC=GetDC();LOGFONTm_lFont;COLORREFm_cTextColor;CFontmyFont;CFont*pOldFont;CFontDia

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论