您好,欢迎访问三七文档
科研实践设计说明1引言在电子行业中,越来越多的产品开始重视人机信息交换的输入输出设备。其中高像素液晶屏也越来越广泛的采用。手机、GPS、PDA等电子设备均已使用320*240或更高像素的18位色屏幕。而目前大学生设计电子产品或毕业论文中常采用赌显示电路却是LED数码管,显然已跟不上时代的发展,文本设计的LCD12864液晶显示模块可提供大部分电子产品及电器的显示功能。MCS-51单片机是美国INTE公司于1980年推出的产品,各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。虽然目前51系列单片机已无法满足目前某些功能或环境的要求,但是51系列的单片机仍然是最为成功的单片机芯片,它的影响力一直延续到现在,以至于被越来越多的人熟悉。而从目前市场价格及普及程度等方面因素考虑,本文采用AT89C51单片机作为显示模块的控制核心。目前众多电子类产品用于显示功能常用数码管LED与液晶LCD。虽然数码管LED的结构简单、显示方便,但已无法满足科技进步而产生的现实要求。并且LED常用动态显示,在复杂的系统中十分耗费系统资源,已逐渐被淘汰。而在LCD方面,常见的有LCD12864,LCD12232,LCD12864等。LCD12864可以在LCD显示屏上完整显示32个英文字符和日文等一些字符适合显示英文文字信息量小的地方。可以应用在计算器、频率计、时钟等产品上。LCD12232也只适合文字量少的场合。而LCD2864的分辨率达到了128*64,对于16*16的字体可显示4行8列,已能满足大部分设备显示的要求。LCD12864在市场上主要分为两种,一种采用st7920控制器,它带有中文库字模,价格略高一点,另一种是采用KS0108控制器,它只是点整模式,不带字库。而本文无需专门显示文本且菜单文字比较简单,因此采用常见的KS0108控制器的LCD12864来完成显示模块的设计。1.设计内容和要求本设计是以STC89C52芯片的电路为基础,外部加上时钟振荡电路、上电+科研实践设计说明2按键复位电路以及由LCD12864液晶显示器显示电路组成的。通过编写C语言程序控制硬件电路显示中英文。1.1设计显示屏的意义液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其它显示器无法相比的优点。近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。液晶显示器分为字符型LCD显示模块和点阵型LCD显示模块。字符型LCD是一种用8×16点阵图形来显示字符的液晶显示器。点阵型液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的点阵型液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是点阵型LCD。点阵型LCD是现代单片机应用系统中最常用的人机交互界面之一。1.2设计方案根据设计的要求,以及设计的便捷性,本设计采用单片机与LCD12864并行连接的方式,基于C语言的编程,通过控制单片机AT89C52的P0,P2,口直接对显示模块AMPIRE12864进行操作。2.系统总体结构2.1系统设计框图经过方案论证和比较后,最终确定的系统框图如图1所示,主要由STC89C52单片机、LCD12864以及电源组成。主要系统结构设计框图如图所示。复位电路STC89C52STC89C52显示器LCD12864科研实践设计说明3图2.1.1系统设计框图2.2主要设计软件介绍本设计利用KEIL编程软件对频率计源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,两种软件的简介如下:2.2.1PROTEUS软件简介Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。2.2.2KEIL简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不晶振电路科研实践设计说明4断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势3.系统硬件设计3.1单片机部分硬件设计3.1.1STC89C52简介STC89C52是STC公司生产的一种低功耗、高性能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、定时器科研实践设计说明5/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接。单片机正常工作时,都需要有一个时钟电路和一个复位电路。本设计中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图3.1.1所示图3.1.1STC89C52单片机管脚图3.1.2单片机最小系统设计单片机最小系统是能补足单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与制,同时它也是所有软件的载体。如图3.1.2科研实践设计说明6图3.1.2单片机最小系统3.1.3时钟振荡电路和复位电路时钟振荡电路STC89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF±10PF,而如果使用陶瓷振荡器建议选择40PF±10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。本设计采用了内部时钟振荡器电路。如图3.2科研实践设计说明7图3.1.3时钟振荡电路复位电路当STC89C52通电,时钟电路开始工作,在STC89C52单片机的RST引脚加上大于24个时钟周期以上的正脉冲,STC89C52单片机系统即初始复位。初始化后,程序计数器PC指向0000H,P0~P3输出口全部为高电平,堆栈指针写入07H,其他专用寄存器被清零。RST由高电平下降为低电平后,系统从0000H地址开始执行程序。单片机的外部复位电路有上电自动复位和按键手动复位两种。本次设计采用的是上电+按键复位。如图3.2.2为STC89C52单片机的上位+按键复位电路,复位端与正电源接通,迅速放电,使RST引脚为高电平,复位按钮弹起后,电源通过10K电阻对10uf重新充电,RST引脚端出现复位正脉冲。图3.1.4上电+按键复位电路3.2液晶LCD12864显示电路科研实践设计说明83.2.1LCD12864管脚说明液晶屏上如何显示一些汉字或图画,这也许是所有LCD12864初学者都最先思考的一个问题。在数字电路中,所有数据都是由0和1保存的,同样LCD也利用了这一方法。在点阵LCD上显示的只有两种颜色,因此可利用0和1来表示这两种颜色。假设空格是由16*16个0组成的,在显示16*16的字体时,将其中某些点置为1便可在视觉上形成一个汉字,这些二进制数称为代位码。而这些由0和1转换而成的16进制数据便是字模。不同的汉字有不同的字模,相同的汉字不同的字体也有不同的字模。而将字模设为16*16像素是因为这样基本可以将汉字显示清楚准确,更高像素则更为清楚准确,但是却更多地占用了LCD的面积。与汉字不同的是,一个字符只需要16*8的像素便即可。如何将这16*16或者16*8个0、1保存下来也是是初学者所需要了解的,假设要在LCD12864屏幕上准确正确的显示出汉字,则需要将16*16的汉字分为两行,每行由16列组成,这16列每列存8个点,用2位16进制数(8位二进制数)表示这8个点,16个16进制数可表示1行,32个16进制数则能表示整个汉字。通过LCD12864,则可将这些字模信息还原成汉字或图像。LCD12864的管脚共有20个之多,但是连接的电路并不复杂。但是需要注意的是LCD的电源共有2组,一组是用于驱动LCD显示,另一组用于背光显示。可将这两组连在一起或者背光电源省略。另外有个输入管脚V0需要接入LCD调整电压来调节对比度。通常刚使用液晶时的问题是由此引起的,对比度过高于或过低均会使屏幕无法正常显示。它可接至10K-20K电位器的调整端,电位器两端分别接至VDD与VEE。目前市场上某些LCD12864的对比度可由单片机操作其寄存器调节,可根据不同的条件进行选择。其余的端口均连接至单片机。下面是LCD12364的引脚图以及引脚功能表。科研实践设计说明9图3.2.1LCD12864引脚图表3.2LCD1286
本文标题:单片机显示屏设计
链接地址:https://www.777doc.com/doc-357454 .html