




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的液晶(LCD)图文显示系统设计摘要 本文选用的是液晶显示控制器的芯片Ampire12864,这是建立在单片机AT89C51的基础之上,并且围绕的主线是单片机LCD液晶显示系统控制器。主要实现汉字显示与图像显示,还介绍了芯片的设计部分与外部电路,并用系统方框图来说明,重点介绍了应用该系统的各硬件接口模块的功能及工作过程,并详细阐述了程序的各个模块。因为C语言指令的执行速度快且节省存储空间,所以本文设计采用的是单片机C语言进行软件设计。该软件设计采用的是模块化设计,这样会有利于扩张和更改,而且对于程序设计的逻辑关系而言,这样会使得它看上去更加简洁明了,软件协调的控制硬件运行。另外部分程序的流程图和实现过程将会被说明出来。本文撰写的主导思路是建立在硬件的基础之上,采用软、硬件相结合的方式,来对各功能模块进行编写。最后,我设计的思想是软件和硬件调试的单片机LCD显示器的控制原理进行了详细的讨论。关键字:液晶显示器、89C51单片机、Ampire12864Liquid crystal (LCD) display system based on graphic designAbstract This paper is the selection of LCD controller chip ampire128 * 64,is based on single chip microcomputer AT89C51,And around the main line is the microcontroller LCD controller.The main achievement of Chinese character display and image display,It also describes the design of the chip and the external circuit,and use the system block diagram to illustrate the application focuses on the function ofeach of the systems hardware interface modules and working processes,and elaborates the various modules of the program.Because the C language instruction execution speed and save the memory space,so this design is adopted to design the software of singlechip C language.The software is designed using a modular design,which will facilitate the expansion and change,but also for logic programming is concerned,this will make it look more concise,coordinated control hardware to run the software.Another part of the flow chart of program and the realization of the process will be described.As of this writing the dominant idea is built on the basis of hardware,using software and hardware combination to be written for each functional module.Finally,I thought the design principle is to control the software and hardware debugging MCU LCD monitors were discussed in detail.Keywords: Liquid crystal、display 89C51、ampire12864目录第一章 引言11.1课题的研究背景11.2课题的提出及研究意义11.3论文的主要任务和所做的工作1第二章 系统方案设计32.1电路硬件设计原理图3电路硬件设计原理图如图2-1所示。32.2 软件设计方案32.3仿真结果4第三章 硬件电路设计63.1单片机模块设计63.1.1单片机内部的组成功能图63.1.2单片机的CPU结构73.1.3芯片介绍83.1.4引脚介绍93.2液晶(LCD)模块113.2.1LCD12864概述113.2.2 基本特性113.2.3 LCD接口123.2.4 LCD字符显示133.3 接口时序说明14第四章 系统软件设计164.1系统流程图16如图4-1所示。164.2汉字和图像显示164.3汉字图形显示函数17第五章 系统整机调试及功能测试205.1 Proteus ISIS仿真系统基本知识205.1.1 系统概述205.1.2 进入Proteus ISIS界面215.1.3 Proteus工作界面及窗口说明215.1.4 Proteus绘图流程举例235.2 程序编译环境Keil uVisual4245.2.1创建项目255.2.2 为项目新建文件265.2.3生成.HEX文件28参考文献29附录30第一章 引言1.1课题的研究背景当今社会全面进入信息时代,充分掌握信息的重要性是不言而喻的,于此同时获得信息的方式显得尤为重要。有80%人们收到的视觉信息,无论用何种方式得到的信息最终需要用某种显示方式表示出来。在许多显示技术中,其中使用范围最广、发展速度最快的是围绕液晶显示器LCD(Liquid Crystal Display)的平板显示器。液晶是一种典型的光电器件,它是基于材料科学和精密光电、机械及计算机技术的综合运用,并正在微机械、微光学、光纤领域研究基础上,向高集成化、智能化方向发展。1.2课题的提出及研究意义液晶的普及应用和技术的逐渐成熟,对设备,仪器仪表和智能小型化带来了一个光明的未来,尤其是点阵图形式液晶显示模块,它的体积较小,重量偏轻,且它的电压和功耗都比较低,这是其优点之所在,因此液晶所独具的功能都在显示效果和显示内容上表现出来。由于液晶显示器、各类显示设备、仪器仪表和一些便携式电子产品已经成为人们日常生活和工作中不可或缺的组成部分,所以对于点阵图形液晶显示屏(模块)的开发,设计,应用和研究具有重要意义。1.3论文的主要任务和所做的工作本文设计是在LCD广泛应用的基础上,用键盘来作为它的输入设备,控制中心采用的是at89C51,它的显示功能是通过液晶和字符来显示和实现的。主要实现汉字显示与图像显示,还介绍了芯片的设计部分与外部电路,并用系统方框图来说明,重点介绍了应用该系统的各硬件接口模块的功能及工作过程, 并详细阐述了程序的各个模块。本文撰写的主导思路是建立在硬件的基础之上,采用软、硬件相结合的方式,来对各功能模块进行编写。这样会使得它看上去更加简洁明了,软件协调的控制硬件运行。另外部分程序的流程图和实现过程将会被说明出来。通过本次论文设计让我更深一步的掌握了LCD12864芯片的使用方法,同时也掌握了字模提取模块,掌握了它的方法和具体步骤。在未来的发展过程中希望进一步的对单片机进行更深层次的了解。论文主要主要实现液晶的图形和文字的显示任务,还介绍了单片机基础知识和Protues绘原理图、Keil编程软件的学习和操作。硬件电路和软件结合体现了系统电路的灵活性和实用性。第2章 系统方案设计2.1电路硬件设计原理图 电路硬件设计原理图如图2-1所示。图2-1电路硬件设计原理图2.2 软件设计方案上图是Proteus仿真软件按照实现原理功能绘制的,根据上图把所有的线都接到对应的位置中,接好即可。然后zimo21字模提取软件提取汉字的十六点阵,然后再编写C语言程序放入Keil uVision4中,通过编译连接,就可以生成十六进制文件,再把生成好的十六进制文件全部加载到Proteus中,这样就可以进行仿真。2.3仿真结果(1) Flash动画显示-鸟儿飞部分帧:如图2-2、2-3所示。图2-2 Flash动画一帧图2-3 Flash动画一帧(2) 动感汉字显示-三联学院欢迎您:如图2-4所示。图2-4汉字显示第三章 硬件电路设计3.1单片机模块设计3.1.1单片机内部的组成功能图 如图3-1所示。Int0 Int1 外部中断 Txd Rxd4K字节ROM 串行传输接口128字节RAM中断控制 计时器0 计时器1 串行接口CPU总 线 控制器计时器0VO控制端口系统工作时 钟 TO计时器1 T1 WR RD P0 P1 P2 P3图3-1单片机内部的组成结构图 3.1.2单片机的CPU结构 如图3-2所示。 p0.0-p0.7 p2.0-p2.7端口0驱动器端口2驱动器 ROM端口2锁存器端口0锁存器RAM地址锁存器RAM程序地址寄存器 缓冲器寄存器堆栈指针SPACCPC+1寄存器TMP1TMP2PCONSCONTMODTCONTH0TL0TH1TL1SBUF(TX/RX)IEIP中断、串行口和定时器逻辑PCALUDPTR指针PSW 定时控制逻辑指令寄存器指令译码器端口1锁存器端口3锁存器端口1驱动器端口3驱动器 PSEN ALE EA p1.0-p1.7 p3.0-p3.7OSC XTAL1 XTAL1 XTAL2 图3-2单片机CPU结构3.1.3芯片介绍 单片机还可以叫做单片微控制器,它是把一个计算机系统的电路结构全部集成到一个芯片上,这就是它区别于逻辑功能芯片的原因。一个微控制器包括运算器、控制器、存储器、输入和输出设备,我们可以看到,它就好似于一个微小的计算机,不过它不同于计算机,因为相较计算机,它缺少了很多外围设备。单片机具有小巧灵活,成本低廉,应用范围非常广的优点,这就我们为学习和开发电子设备创造了有利条件。 at89c51是51系列单片机的一个型号,其亦是由atmel公司出产的6。此型号的单片机是一类低电压,高性能的cmos 8位的单片机,内部包括8k bytes能够重复更改写入的Flash只读流程存储器和256 bytes随机存取数据存储器(RAM),配置是选用atmel公司的高密度、不容易丢失性的保留技术生产,兼容mcs-51指令体系的标准,内部有Flash存储单元和通用的8位中央处理器(cpu即Central Processing Unit),作用相当大的at89c51单片机能够供给很多比较繁杂的体系控制操纵局面7。主要性能参数:4K字节可重复写flash闪速存储器完全兼容MCS-51指令系统1000次擦写周期全静态操作:0HZ24MHZ128*8字节内部RAM三级加密程序存储器6个中断源2个16位定时计数器32个可编程I/O口可编程串行UART通道低功耗空闲和掉电模式功能特性概述:AT89C51单片机拥有4K字节闪存,128k字节RAM,可以进行全双工串通信,32位I/O(输入/输出)口,有一个5向量两级中断结构和两个16位定时计数器,时钟电路和片内振荡器。并且AT89C51可降至0HZ的静态逻辑操作,且支持可选的两种软件的节电工作模式。停止CPU的工作的是空闲方式,但允许RAM,定时计数器,中断系统和串行通信口继续工作。保存RAM中内容的是掉电方式,但振荡器停止工作并禁止其它所有的部件工作直到下一个硬件复位为止7。3.1.4引脚介绍 如图3-3图3-3 引脚图1.电源 Vcc:正常工作时的电源,连接+5v7。 Vss:电源地线,接地端。2. 两个晶体引脚XTAL1,XTAL2 外部晶振XTAL1(第19引脚):其引脚主要是接外部石英晶体的一端。它在AT89C51单片机也作为一个反相放大器的输入端从而构成片内振荡器。 当采用外部时钟时这个晶振引脚接地;但是有时也可以作为外部振荡的输入端。比如CHMOS单片机。 晶振引脚XTAL2(第18引脚):位于AT89C51单片机的内部该引脚接外部晶体的另一端。在单片机接反相放大器输入端。 除此之外当采用外部时钟时,对于AT89C51单片机外部震荡信号的输入端就是这个引脚;除此之外该引脚是悬空不接任何电源。3. 控制引脚RST:复位输入。应该保持RST脚两个机器周期的高电平时间在振荡器复位器件时。ALE/PROG:访问外部存储器,存储器地址锁状态字节地址锁存输出级存储器允许。在这个引脚输入编程脉冲,FLASH编程。通常,具有稳定的输出正脉冲信号端,是六分之一频振荡器。因此,它可以用于定时目的。这个引脚会被拉高。无效的由于外部执行ALE禁止微处理器。/PSEN:外部程序内存闪光灯。它有两次有效的外部程序存储器进行存取。他们不会呈现在可以访问外部数据存储器。/EA/VPP:保持在/ EA的一个较低的水平,在外部程序存储器(0000h-ffffh),带或不带内部程序存储器。当加密方法1,EA将内部锁复位;当/EA端一直停留在高电平,那么会出现在内部程序存储器中。4. I/O口引脚(1)P0口:8位双向I/O口。当访问外部存储器时,为地址总线及数据总线分时复用口。可驱动8个LS型TTL负载7。高阻输入为P1口的管脚第一次写1。 P0端口可以使用外部程序数据存储器,为数据/地址的第八位使用。 P0口输入作为原始代码编程快闪,检查闪光,P0口输出图元,然后P0外部必须被拉。(2)P1口:8位准双向I/O口。为通用单一功能的I/O端口。可驱动4个LS型TTL负载7。在里面有上拉电阻,起到缓冲器的功用。 里面拉高是因为P1口引脚写1,能够用作输入,外部拉低P1口,由于里面上拉,可以输出电流。 (3)P2口:8位准双向I/O口。系统扩展时,作为高8位地址线使用;不作系统扩展时,可作为一般I/O口使用。可驱动4个LS型TTL负载7。写1”时,由于内部上拉的优点,当外部数据存储器读写8个地址,P2口输出的特殊功能寄存器的内容。 收到高八地址信号和控制信号时,P2端口FLASH编程和验证。(4)P3口:8为准双向I/O口。双功能复用口,它可以当作一般I/O口使用,并且此口的每一位都具有第二功能,用于控制信号及特殊信号输入/输出。P3口引脚的第二功能如下: P3.0:RXD(串行输入口)7 P3.1:TXD(串行输出口)7 P3.2:INT0(外部中断0)7 P3.3:INT1(外部中断1)7 P3.4: T0(定时器0的外部输入)7 P3.5:T1(定时器1的外部输入)7 P3.6:WR(外部数据存储器写选通)7 P3.7:RD(外部数据存储器读选通)73.2液晶(LCD)模块3.2.1LCD12864概述包含汉字的12864液晶显示屏,带有4/8位并行线、2号线或3号线串行的接口样式,里面包括了具有国际标准的一级和二级简体汉字字符的点阵图形液晶展现模块,具有12864的显示分辨率, 里面包括了8192个1616点汉字字符,并在ASCII字符集有128个168点8。通过使用此界面轻易、便利的操作指令和可变通的接口样式,能组成全体中国汉字的人机互动图像显示。能够展现出84行的1616点阵的中文字符,亦能够实现图像展现8。将此模块组建的液晶展示方法与相同类型的图像的点阵液晶展示模块进行比较,该模块不管是在硬件电路结构还是展示程序上都显得更加简便,并且此模块的价钱亦比相似的点阵的图像液晶模块要实惠点。3.2.2 基本特性(1)低电源电压:接通电源的电压只要是在3.0 V到5.5 V范围内皆是可以的8。(2)显示分辨率:12864点阵字符8。(3)内部包括中文字符,包含了8192个1616点阵的中文字符,而且还可以选择采用简体还是繁体中文8。(4)内含128个168点。(5)2MHz的时钟频率。(6)液晶显示方式:省电、半透明、正面显示8。(7)视角方向:6点。(8)背光形式:侧道高亮度白光,led耗电只有普通led的五分之一到十分之一8。(9)通信形式:有串行和并口可以选择。(10)内部包括DC-DC转变电路,不用施加外部电压。(11)不用片选信号,使软件的设计程序更加简单。(12)工作温度:0至+55 ;存储温度:-20至+60。3.2.3 LCD接口 液晶显示器(LCD)独特的微功耗,低电压的特性使得它得到了越来越广泛的应用在单片机系统中。LCD字符点阵液晶显示模块用于数字液晶显示模块,以及点阵图形液晶显示模块,特别是越来越广泛的应用于我们的图形液晶显示模块,用于显示字符,字符不能使用它来表示,因为西方字符是用字符模块即来显示,而汉字则不能用它来显示,在我国要想显示汉字功能务必使用图形模块。 本文设计我选取的图文显示模块如下图3-4所示图形液晶显示器 图3-4 LCD电路图ampire12864引脚说明图如下表3-5 接口说明表引脚名称电平 说明 1CS1H/L片选择信号,低电平时选择前64列2CS2H/L片选择信号,低电平时选择后64列3GND0V 逻辑电源地4VCC 5.0V 逻辑电源正5VO -液晶显示器驱动电压6R/WH/L H:Read L:Write7E H/L 读写使能,高电平有效,下降沿锁定数据8DB0H/L 数据输入输出引脚9DB1H/L 数据输入输出引脚10DB2H/L 数据输入输出引脚11DB3H/L 数据输入输出引脚12DB4 H/L数据输入输出引脚13DB5H/L数据输入输出引脚14DB6H/L数据输入输出引脚15DB7H/L数据输入输出引脚16RSTL复位信号,低电平有效17VOUT-10VLCD驱动电源3.2.4 LCD字符显示 包含汉字字符的12864单屏能够展示出84行的1616点阵的中文字符,任意一个展示的随机存取存储器都能展示出1个中国汉字或是2个168点阵全高ASCII字符,就是任一单屏至多能够完成32个中国汉字或64个ASCII字符的展现。含中国汉字的12864内部包含了1282字节的字符显示随机存取存储器缓冲区(即DDRAM)。通过把字符展示的编码写入次字符展示的随机存取存储器来完成字符展示。依据写入内容的不同,能依次在液晶屏上展示出CGROM(中国汉字字符)、HCGROM(ASCII码字符)和CGRAM(自定义字形)的内容8。这三种不同字符/字形的拣选的编码范畴是:0000-0006H(其代码分别是0000、0002、0004、0006共4个)展示自定义字形,02H-7FH展示半宽的ASCII码字符,A1A0H-F7FFH展示8192种GB2312中国汉字字符。液晶展示模块中的80H-9FH地址用来展示随机存取存储器的字符。展示字符的随机存取存储器的地址与展示32个字符的区域有着一一对应的关系8,其对应关系如表3.7所示。表3.6 LCD字符显示说明3.3 接口时序说明(1) 读操作时序 如图3-7所示。RS,CSX tSP1 tHD1R/W tpw tF E tR tHD1 tD tHD2db0-db7 valid datatc图3-8 读操作时序(2) 写操作时序图和读操作时序图相类似(3)时序参数 如表3.8所示。表3.8 时序表向LCD写汉字一定要将LCD先初始化:打开显示然后清屏 1、设定开始页地址和列地址2、设定读写模式,进行读写操作第四章 系统软件设计4.1系统流程图 如图4-1所示。开始延时50ms初始化LCD清屏显示主界面菜单选择界 图片显示动态字显示 图4-1主程序流程图 LCD开始进行工作时,延时50ms,初始化LCD,屏幕将进行清屏,显示主界面,这时我们开始对LCD菜单选择界面,会出现动态字显示和图片显示两种。 4.2汉字和图像显示本篇文章设计的这块液晶补带字库是要我们自己去编写的,写字体软件用的是zimo21,LCD的自定义字符时使用它。图4-2 Zimo214.3汉字图形显示函数 用字上图软件将我们要输出的汉字与图像转化成十六进制代码,在LCD上可以用程序调用来展示出来。 程序主要包括这几个函数,分别为:写命名和读数据函数,测试LCD忙闲状态和写显示数据函数,设定列或行和写12864图片函数以及写88和1616汉字函数和延迟函数及播放音乐函数。汉字显示子函数hz_16。另外两个子函数WriteByte数和hz_88分别被调用,Column、Lin为液晶显示器的列和页,指针类型即参数W,数组的首地址被它指向。 88点阵汉字函数:void hz_88(unsigned char lin,unsigned char column,unsigned char *w,unsigned int address)/ 写88点阵汉字函数的功能 unsigned char i;if(column16) return;if(column8) SelectScreen(1); /当列数8(0,1,2,3,4,5,6,7)写在第一屏幕else SelectScreen(2); /否则写在第二屏幕column=column & 0x07;/防止越界SetLine(lin);SetColumn(column3);/colum8 0 8 16 24 -120for(i=0;i8;i+) writebyte(waddress+i);1616汉字控制函数void hz_16(unsigned char lin,unsigned char column,unsigned char *p,unsigned int m)lin=lin1; /lin*2,一个汉字占两页hz_88(Lin,Column,p,m*32);hz_88(lin,column+1,p,m*32+8);hz_88(lin+1,column,p,m*32+16);hz_88(lin+1,column+1,p,m*32+24); write_image(unsigned char *dat ) unsigned char i,j;SelectScreen(1);/低64左半平面for(i=0;i8;i+) SetLine(i);/设置起始页地址07SetColumn(0);/设定第0列为开始列for(j=0;j64;j+)WriteByte(*(dat+i*128+j);/LCD写数据按照纵向下高上低的顺序 SelectScreen(2); /高64在左半平面for(i=0;i8;i+)SetLine(i); /设置起始页地址07SetColumn(0); /设定第0列为开始列 for(j=64;j128;j+)WriteByte(*(dat+i*128+j); /LCD写数据按照纵向下高上低的顺序 第五章 系统整机调试及功能测试本单片机系统主要用到Proteus绘图仿真软件和Keilc编译软件,下面就介绍一下这两种软件的使用入门。5.1 Proteus ISIS仿真系统基本知识5.1.1 系统概述Proteus 软件是英国LABCENTER 公司设计出的一种用来开发单片机,绘制原理图的专业型软件。我们可以利用Proteus 软件设计出各种模拟电子电路系统、数字电子电路系统、专用的各种芯片的结构。最大的特点是用户可以利用它进行电路系统的仿真测试,人们再也不用购买实物进行电路焊接来进行电路的测试了。有效地降低了设计者的时间和设计资金的投入。Proteus软件在进行电路系统仿真的流程中,能够让我们以最大程度上的体会到视觉体验。它的诞生,为电子产品的开发与研究和电子系统工程创造了一种全新的手段和便捷的途径。它有两个功能分别是:研究电路分析和实物仿真软件。它可以再Windows操作系统上运行,它可用来仿真、分析(SPICE)各种各样的集成电路和模拟器件,这种软件的优点分别是:它完成了单片机仿真和SPICE电路仿真互相组合。拥有模电仿真、数电仿真、SPI调试器、单片机及其外围电路构成的系统的仿真、I2C调试器、RS232动态仿真、键盘和LCD系统仿真的功能;还有各类虚拟仪器,例如信号发生器、逻辑分析仪、示波器等。赞成主流单片机系统的仿真。拥有软件调试功能。它在硬件仿真系统里可以全速、单步、设置断点等一系列调试功能,并且还可以看到各个变量、寄存器等的目前形态,所以在此软件仿真系统中,一样要拥有这种功能;一并赞成第3方的调试环境与软件编译,例Keil C51 uVision2等这些软件。拥有巨大的原理图绘制功能。Proteus软件所供给的三十多个元器件库,数以千计的元器件。元器件触及到模拟与数字、直流与交流等。关于一个实验室或者仿真软件来讲,权衡实验室是否及格的一个非常关键要素是测试的仪器仪表的数目、类型和质量。 总而言之,此仿真软件功能极为巨大。在和其它单片机仿真软件相比,Proteus不但可以仿真单片机CPU的工作状况,还可以仿真单片机外围电路或者无单片机参加的其它电路的运行状况,这是它的不同之处。所以在进行程序调试和仿真时,我们注意的是在工程的视觉上,可以方便看出程序工作和电路运行的整个过程和结果,相反不会用某些语句实行时,单片机的寄存器与存储器内容是否发生变化,在对这样的仿真实验,在特定意义上来说,是从工程的角度直接看程序运行与电路工作的进程和成果。5.1.2 进入Proteus ISIS界面 用鼠标点击ISIS 7专业的桌面图标后,会出现如图5-1所示的界面,这就正式进入了Proteus ISIS工作环境。图5-1启动时的屏幕5.1.3 Proteus工作界面及窗口说明Proteus工作界面如下图5-2所示。图5-2 Proteus工作界面各个窗口的说明如下1.图形编辑窗口:在蓝色方框内用元器件绘制原理图,当点击蓝色里面时,有滚动条,滚轮可以用来放大缩小让原理图在我们的的可视范围内。2.预览窗口:它可以显示你已经选中元器件的预览图,当不需要选择元器件时,这个时候窗口显示整张原理图的缩略图。3.绘图工具栏:从顶部到底部功能排序为,选择和元件、终点模式,连线标号和文本脚本模式,总线模式,子电路和终端模式,元件引脚和图表模式,录音机和激励源模式,电压电流探针和虚拟仪器模式,2D图形连线、框体、圆形弧线、闭合路线、文本、符号、标记模式。4.对象选择:单击按钮P会出现如图5-3对话框图5-3 对象选择界面在关键字中输入自己绘图中所需要的元器件型号,当输入型号的时候如AT89C51会出现如图5-4对话框,然后再中间结果下选中绘图时所需要的元器件并点击它,最后按右下脚的确定键关闭所示对话框。这可以在原始列表,选择左AT89C51,在原理图编辑窗口,点击左键,这时AT89C51将在原理图编辑窗口。同样的方法放置其他元器件。图5-4 添加期间界面5.1.4 Proteus绘图流程举例 1.元件设置,首先按上面所述输入并选取放置一元器件电阻,然后在图形编辑窗口中右键选取已经放置好的电阻,最后再单击左键就会出现如图5-5对话框图5-5 修改元器件属性界面然后按需要进行设置即可。 2.添加仿真文件(.hex文件)连好电路图后左键双击AT89C51,然后会出现如图5-6对话框。图5-6 添加十六进制文件界面在program file中单击浏览图标,找到本次绘图时所需要的.hex文件单击确定就可以了。5.2 程序编译环境Keil uVisual4本设计的软件程序使用C语言编写,并在开发环境为Keil uVision4下进行编译、调试。Keil uVision4和同类发展环境相比包含下列优势:(1)菜单系统较简洁、强大,可以对菜单进行选择,弹出相应的菜单对话框,还支持多多项菜单选择窗口。(2)增加了众多强大软硬件调试手段,在keil uvision4 IDE的基础上,增加了更多大众化的功能。(3)新的使用界面能够更加方便的使用界面空间构建其余多个窗口,提供清洁,高效的环境来研制需要使用的程序语言。(4)此款新版本支持更多最新的嵌入式系统的芯片,并且又新添了一些其他的新功能,使得该软件的应用范围更加宽广。(5)新的版本支持直接的点屏操作,如若想要观察变量的值,则可以直接点击屏幕就可以了,使得用户使用起来更加舒适,既方便又快捷。(6)此新版本具备功能十分强大的查看窗口,全部的数据类型都能够支持。(7)新版本中能够对源程序直接进行修改、编译以及调试,还能够对错误编码进行定位。5.2.1创建项目uVision2也和标准的Windows应用程序相类似,直接左键单击桌面上的程序图标就可启动它。启动界面如图5-7图5-7 启动界面启动后然后进入Keil c的编辑界面如图5-8所示图5-8 keil c的编辑界面这时点击ProjectNew uVision Project菜单来创建一个自己需要的项目文件。这时会弹出一个Windows对话框,上面会可以输入新建项目文件的名称,我建议我们使用每个项目都要建立一个单独独立的文件夹。保存写好的文件夹后会出现如下图5-9所示的单片机型号,几乎全部51核的单片机都可以在Keil C51上找到,选好单片机型号后只需要点击确定就可以了。图5-9 CPU选择界面5.2.2 为项目新建文件 点击菜单File-New File此时弹出如图5-10所示,在Text窗口中写入自己图5-10 新建文件界面的程序,写完后保存。要特别注意到用语言编写程序时扩展名一定是.c后缀,如果在用汇编语言编写程序时扩展名一定是.asm后缀。此时再单击下图所示的“target 1”前面的“”号,然后点击“source group 1”,然后点击“Add file to group source group 1”,最后选择写好的.c文件或.asm文件,单击Add添加然后关闭该对话框。这时编辑界面如下图5-11所示图5-11 编辑界面5.2.3生成.HEX文件在生成.hex文件前要对开始编辑的程序进行编译看程序是否有错误,有错误下面会出现哪里出错了,点击更改即可,单击图5-12中的编译按钮就可以,如果没有出现错误则在“Target 1”上右键,然后再点击“Options For Target Target1”会出现下图参考文献1浩强.C语言程序设计(第三版)M.清华大学出版社,20102王洪海,陈向阳,盛魁,邵立.C语言程序设计M.人民邮电出版社,2011.3阎石. 数字电子技术基础M. 高等教育出版社,20064戴佳,戴为恒.51单片机C语言应用程序设计实例精讲M.电子工业出版社,2006.5何立民.单片机应用系统抗干扰技术M.北京航天航空大学出版社,1999. 6薛峰、朱晓骏.单片机原理及应用M.北京理工大学出版社,20117凌志浩.at89c52单片机原理与接口技术M.高等教育出版社,20118田开坤.基于LCD12864显示器的数字示波器设计J.电子制作.2011年05期,9胡汉才.单片机原理及其接口技术M.北京:清华大学出版社,2004.210胡汉才.单片机在电子电路设计中的应用M.北京:清华大学出版社,200611赵嘉蔚,张家栋,霍凯,肖燕彩. 单片机原理与接口技术M.北京:清华大学出版,201012陈永甫.红外探测与控制电路M.北京:人民邮电出版社,200813王晓君,安国臣 .CS-51及兼容单片机原理与选型M.电子工业出版社,2002.14阎石. 数字电子技术基础M. 高等教育出版社,200615Ting-Fang Chang,Jung-San Lee and Chin-Chen Chang,Security enhancement of an IC-card-based remote login mechanism,Computer Networks,Volume 51,Issue 9,20 June 200716Keith H.Bilings,C.Eng.,M.I.E,E,.Switch Mode POWER SUPPLY.HANDBOOKM, Hawmond Manufacturing Company,Ltd,2005,36-258附录显示安徽三联学院欢迎您源程序#include#include#include#includesource.h#define uchar unsigned char#define uint unsigned int#define LCD_databus P0 /LCD12864的8位数据口sbit RS=P22; /RS为0-命令;1-数据 sbit RW=P21; /RW为1-写;0-读 sbit EN=P20; /使能端 sbit CS1=P24; /片选1低电平有效,控制左半屏 sbit CS2=P23; /片选1低电平有效,控制右半屏 void delay(uint i)while(-i);void Read_busy()/读“忙”函数-数据线的最高位DB71则busyP0=0x00; RS=0; RW=1; EN=1;while(P0 & 0x80);EN=0;void write_LCD_command(uchar value)/写命令函数 Read_busy();/对LCD的每次读写都要读忙 RS=0; /选择命令 RW=0; /读操作 LCD_databus=value; EN=1;/EN由1-0锁存有效数据 _nop_(); _nop_(); EN=0;void write_LCD_data(uchar value)/写数据函数 Read_busy(); RS=1; /选择数据 RW=0; LCD_databus=value; EN=1;/EN由1-0锁存有效数据 _nop_(); _nop_(); EN=0;uchar Read_LCD(void)/读数据函数 uchar value;Read_busy();LCD_databus=0xFF;/先进行一次空读操作 RS=1;RW=1;EN=1;_nop_();_nop_();EN=0;LCD_databus=0xFF;/读取真正的数据 RS=1;RW=1;EN=1;value=LCD_databus;_nop_();_nop_();EN=0;return value; void Set_page(uchar page)/设置“页”LCD12864共8页,一页是8行点阵点 page=0xb8|page; /页的首地址为0xB8 write_LCD_command(page);void Set_line(uchar startline) /设置显示的起始行 startline=0xC0|startline; /起始行地址为0xC0 write_LCD_command(startline); /设置从哪行开始:共0-63;一般从0 行开始显示void Set_column(uchar column)/设置显示的列 column=column &0x3f; /列的最大值为64 column= 0x40|column; /列的首地址为0x40 write_LCD_command(column);/规定显示的列的位置 void SetOnOff(uchar onoff)/显示开关函数:0x3E是关显示,0x3F是开显示 onoff=0x3e|onoff; /onoff:1-开显示;0-关显示write_LCD_command(onoff);void SelectScreen(uchar screen)/选择屏幕 switch(screen) case 0: CS1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渔业影视拍摄取景地创新创业项目商业计划书
- 电竞主题耳机创新创业项目商业计划书
- 社交电商分享与佣金返还系统创新创业项目商业计划书
- 汽车线上直播推广创新创业项目商业计划书
- 工厂实验室基础知识培训课件
- 数据与信息的特征
- 护理风险与预防
- 护理的日常工作感悟
- 呼吸衰竭病人护理
- 护理内科小讲课:高血压
- 桥梁安全事故案例警示
- 育婴员理论模拟考试试题及答案
- 杨式85式太极拳现用图解
- YY/T 1095-2015肌电生物反馈仪
- SB/T 10460-2008商用电开水器
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GA 1800.2-2021电力系统治安反恐防范要求第2部分:火力发电企业
- 细胞生物学实验课件:细胞组分的分级分离
- 合理选择影像检查方法课件
- 欣旺集团种禽养殖管理制度手册
- 口服化疗药精品课件
评论
0/150
提交评论