




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE PAGE 4河南技术学院毕业设计(论文)题 目 单片机在LED滚动显示上的设计 系(分院) 机械电子工程系 学生姓名 学 号 专业名称 机电一体化 指导教师 2012年3月10日河南职业技术学院机械电子工程系(分院)毕业设计(论文)任务书姓 名专 业机电一体化班 级毕业设计(论文)题 目单片机在LED滚动显示上的设计毕业设计(论文)选题的目的与意义 点阵式LED显示技术是近几年发展较快的显示技术之一,其抗干扰能力强等特点使得其在户外广告、公共告示等方面得到了广泛的应用,因此研究点阵式LED显示屏接口与控制技术具有较高的实际应用价值。毕业设计(论文)的资料收集情况(含指定参考资料) =
2、 1 * GB3 胡健, 刘玉宾. 定时/计数器,单片机原理与接口技术M. 北京: 机械工业出版社, 2005. 向继文, 廖立新. 基于80C51的LED系统设计J. 机电产品开发与创新, 2007, 20 (2): 6263. 范立南. 单片机原理及应用教程M北京: 北京大学出社, 2006.毕业设计(论文)工作进度计划2011.11.2 接受毕业论文任务书,根据要求在图书馆查阅相关书籍并通过互联网收集相关资料2011.11.13 论证开题2011.11.25 论文提纲检查2011.12.10 论文前期检查2011年12月25日 交初稿,并在老师的指导下修改和完善初稿2012年1月6日 进
3、一步完善后,交定稿接受任务日期 2011年11月10日要求完成日期 2012 年 3月10日学 生签名: 2012年 月 日指导教师签名:年 月 日 系(分院)主任(院长)签名:年 月 日毕业设计(论文)指导教师评阅意见表姓 名学 号性 别专 业机电一体化班 级毕业设计(论文)题 目单片机在LED滚动显示上的设计评阅意见 成绩指导教师签字年 月 日毕业设计(论文)答辩意见表姓 名钱李宁学 号09111061性 别女专 业机电一体化班 级机电092毕业设计(论文)题 目单片机在LED滚动显示上的设计答辩时间地 点答辩小组成员姓 名职 称学 历组 长成 员秘 书答辩小组意见 答 辩 成 绩:答辩小
4、组组长签名:年 月 日 河南职业技术学院 PAGE 25PAGE 27 单片机在LED滚动显示上的应用 摘要:LED显示屏是一种通过控制半导体发光的显示方式,它是由很多个红色的发光二极管组成,靠灯的亮灭来显示字符。LED显示屏分为数码显示屏、图文显示屏和视频显示频。均由LED矩阵块组成。目前由于LED显示屏造价昂贵,主要应用于比较较高档的场所,主要集中在城市的繁华场所。在举办的2010年上海世博会未来各项大项运动赛事等新增需求,都将促使LED显示屏的大规模发展。此外,已架设的大型LED显示屏幕梅10年将历经一次换机潮,随着人们生活水平的提高,户外LED显示屏将逐渐应用于各个行业。本设计主要实现
5、16*16LED显示屏对文字及简单图像的显示,扩展功能有实时钟及实时温度采集,并通过LCD1602及LED点阵屏静态及滚动显示。设计分为三大步,分别是软件设计,硬件仿真及实物制作,兼顾理论性及实用性,充分体现了理论与实践相结合,设计过程中不仅学到了很多有用的知识,也增长了自己的专业技能,提高了自己的动手能力。 关键字: LED 显示屏 发光二极管 半导体 引言随着电子技术和信息技术的迅速发展,LED的应用范围越来越广泛。它作为一个重要的宣传平台,已经受到全社会的普遍认可和广泛使用。如今,它几乎成为各个广场和大型超市的必备品。然而这些功能的实现离不开单片机的功劳。单片机是一种微型处理器,负责数据
6、的接收、发送和处理的工作。LED显示屏则可以显示变化的数字、文字、图形和图像等。它不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏等无法比拟的优点1。点阵显示器的特点是可以按照实物所需要的大小、形状和颜色进行组合,用单片机控制实行各种文字或图形的变化,达到广告宣传和提示的目的。一、系统的硬件部分设计本设计主要采用单片机及其周边芯片,设计点阵LED与单片机的接口电路。(一)、设计要求1、通过对80C51单片机的C语言编程,实现汉字的左移滚动显示。2、成本低,功能强,设计明了化实用化。3、动态显示过程的仿真成果中没有明显的抖动。(二)、设计基本方案为使该模块化的点阵式LED显
7、示屏控制系统使用更加方便,并具有较高的灵活性和视觉舒适性,我对系统的硬件做了非常精心的设计4。本设计的硬件电路包括:主控单片机模块、译码器选择数据模块、LED显示模块这三大模块。总体组成框图如图2.1所示。译码器LED显示模块主控单片机送断码值到显示模块驱动显示模块图2.1 总体结构框图图2.1 简略的描述了系统的结构,本系统先由主控单片机来控制译码器进行位选,然后再将段码的值通过主控单片机的I/O口送往LED显示模块进行汉字的显示。(三)、硬件电路芯片介绍该设计主要介绍LED显示电路所采用的主要芯片,如单片机80C51,译码器74LS138。此外,还简要阐述了选取这些芯片的优点。1、单片微型
8、计算机简介单片微型计算机(Single Chip Micro Computer)简称单片机,它是一种把组成微型计算机的各功能部件:中央处理单元CPU、一定容量的随机存储器RAM和只读存储器ROM、I/O接口电路、定时器/计数器以及串行口等制作在一块芯片中的计算机,从而实现微型计算机的基本功能5。单片机具有结构简单、控制功能强、可靠性高、体积小、价格低等特点,在家用电器、智能化仪器、工业控制以及火箭导航尖端技术领域都发挥着十分重要的作用6。单片机的内部结构示意图如下图2.2所示。 单片机 接口电路及外设等 + + 软 件 单片机应用系统 图2.2 单片机内部结构示意图 图2.3 单片机应用系统组
9、成示意图单片机实质上是一个芯片,在实际应用中通常很难直接把单片机和受控对象进行电气连接,而是必须外加各种扩展接口电路以至外部设备,连同受控对象和单片机程序软件构成一个单片机应用系统。单片机应用系统是以单片机为核心,配以输入、输出、显示、测量和控制等外围电路和软件能实现一种或多种功能的实用系统。单片机应用系统的组成示意图如上图2.3所示。2、系统芯片的选择 方案一:8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用8031还需要另外购买其他的芯片,从而造成成本比较高,且性价比低。方案二:80C51芯片内部有ROM,且片内ROM全部采用Flash ROM,它能够在3V的
10、超低压工作,与51系列单片机完全兼容。因此,本设计选择80C51芯片。3、主控制单片机80C51是一种高性能CMOS8位微处理器,俗称 HYPERLINK /view/1012.htm t _blank 单片机,它带有4K字节闪烁可编程可擦除 HYPERLINK /view/132973.htm t _blank 只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称 HYPERLINK /view/1012.htm t _blank 单片机。单片机的可擦除只读存储器可以反复擦除100
11、次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的80C51是一种高效微控制器, 80C2051是它的一种精简版本。80C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案8。80C51引脚即外观如图2.4所示。图2.4 80C51引脚外观图4、80C51接口说明Vss(20脚):接地。VCC(40脚):主电源+5V。XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片
12、机,此引脚作为驱动端。XTAL2(18脚):接外部晶体的另一端。在片内它是个振荡电路反相放大器输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。RST(9脚):单片机刚刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位。PSEN(29脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTT
13、L负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。ALE/(30脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR
14、的第0位)的设置对微控制器处于外部执行模式下无效。EA/VPP(31脚):当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时,此引脚用于施加编程电压VPP。输入/输出引脚:(1) P0.0P0.7(39脚32脚)。(2) P1.0P1.7(1脚 8 脚)。(3) P2.0P2.7(26脚21脚)。(4) P3.0P3.7(10脚17脚)。80C51单片机P3口的第二功能如表2.1所示。表2.1 80C51单片机P3口第二功能引脚号第二功能P
15、3.0RXD(串行输入线)P3.1TXD(串行输出线)P3.2(外部中断0输入线)P3.3 (外部中断0输入线)P3.4T0(定时器0外部计数脉冲输入)P3.5T1(定时器1外部计数脉冲输入)P3.6(外部数据存储器写选通信号输出)P3.7(外部数据存储器写选通信号输出)一个16*16的点阵显示系统由单片机80C51,74LS138,1个16*16的LED点阵模块,单片机的时钟复位电路和P0口的上拉电阻组成。16*32的点阵显示电路由单片机80C51,4个74LS138和2个16*16的LED点阵模块组成。该电路所设计的电子屏可显示多个汉字,并实现左移滚动。(四)、LED点阵制作 HYPERL
16、INK /view/52538.htm t _blank LED(Light Emitting Diode),50年前人们已经了解半导体材料可产生光线的基本知识,第一个商用二极管产生于1960年。LED是英文Light Emitting Diode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧树脂密封,即固体封装,所以能起到保护内部芯线的作用,所以LED的抗震性能好9。点阵式LED的显示采用逐列扫描方式。工作时,由单片机取出第一列需要显示的内容经延时一段时间后再进行下一列点阵数据的显示。需要注意的是,每次只能选通一列数据,即要通过不断的逐列
17、扫描变换来实现汉字或字符的显示。1、显示模块的选择方案一:点阵显示,是由八行八列的发光二极管集成在一块电路上组成,主要用来显示汉字,同时也能显示数字和少量图像。而且程序简单,显示的效果比较清晰。方案二:LED数码管静态显示,电路容易理解且驱动的程序简单,多片七段译码器驱动显示,这不仅增加了成本,还需要占用单片机多个I/O口,也给电路的焊接带来一定的困难,因此不选用这种方案作为显示模块。经过两种方案的比较,最后选择方案一:LED的点阵显示。2、LED驱动模块的选择方案一:采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。这种方法可以直接驱动LED,原理简
18、单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴极或共2端),LED发光管的另一脚接通用I/O口,控制其亮灭。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源10。比较以上两种方案,系统设计中采用方案二。3、主要芯片74LS138的介绍译码器是组合逻辑电路的一个重要的器件,芯片74LS138为 3线8线译码器, 74LS138译码器的引脚(管脚)如下图2.5所示。图2.5 74LS138的引脚图所谓译码,就是将每一组代码的含意翻译出来的过
19、程。译码是编码的逆过程。广泛被使用的译码器是74LS138译码器,因此该设计中采用74LS138且其作用也就是将一组码转换为想要的确定的信息。74LS138为3线8线译码器,共有54/74S138和54/74LS138 两种线路结构型式。其工作原理:当一个选通端(E3)为高电平,另两个选通端(E1和E2)为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平的方式译出。利用E1、E2和E3可级联扩展成一个24线的译码器;若外接一个反相器还可以级联扩展成为32线译码器。若将选通端中的一个作为数据的输入端时,74LS138还可作 HYPERLINK /view/990217.h
20、tm t _blank 数据分配器。假设地址端的值为001,那么则说明其/Y1输出口是有效的,且其输出值为10111111。假设地址端的值为010,那么则说明其/Y2输出口是有效的,且其输出值为11011111。假设地址端的值为011,那么则说明其/Y2输出口是有效的,且其输出值为11101111。在该毕业设计中,由于单片机中的P2口只有八个数据线,显然不够三十二个数据使用。因此,74LS138译码器在此是用于扩展数据的输入端的。4个74LS138译码器正好一共有三十二个输出端口,于是就对应了LED显示屏中的三十二个列选端。满足了16*32点阵式LED显示屏的列需求。74LS138译码器引脚功
21、能如表2.2所示。表2.2 74LS138译码器功能表 输 入输 出S1S2+S3ABC01111111111111111110000011111111000110111111100101101111110011111011111010011110111101011111101110110111111011011111111110(五)、16*16 LED点阵显示制作我们以Version1.0字模精灵为例,每一个汉字由一个16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。1、16*16 LED点阵的内部结构及工作原理我们可以把每一个点理解为一个像素,而把每一个字的字形理
22、解为一幅图像。事实上这个汉字屏幕不仅可以显示汉字,也可以显示在256像素范围内的任何图形。这里我们以“尚”字说明,如图2.6所示。 图2.6 “尚”字显示图用8位的80C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。在此我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的P00P07口。方向为P00到P07,显示汉字“学”时,由上往下排列,为P00亮,P01灭,P02灭,P03灭,P04灭,P05灭,P 06灭,P 07 灭。即二进制10000000,转换为16进制为 80H。第一列的上半
23、部完成后,继续扫描第一列的下半部,为了接线的方便,我们仍设计成由上往下扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00H。 然后单片机转向第二列的上半部,P01点亮,为01000000,即16进制40h.这一列完成后继续进行下半部分的扫描,P20点亮,为二进制00000001,即16进制01H。依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“尚”的扫描代码为: 080H,000H, 040H,001H, 067H,0FFH,034H,004H 01CH,008H, 015H,0FCH,007H,030H,0FDH,050H 005H,090H,
24、 00DH,050H, 017H,0F8H,064H,012H 02CH,009H, 017H,0FEH, 020H,002H,040H,001H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。不过现在有很多现成的汉字字模生成软件,就不必去画表格算代码了。打开字模,设定一下输出方式, 输入汉字后,再单击“取模”。十六进制数据的汉字代码即可自动生成,把我们所需要汉字代码复制到我们的C程序中即可,如下图2.7所示。图2.7 汉字字模生成图(六)、硬件系统的整体设计图与原理分析硬件系统的整体设计图如下图2.8所示。图2.8 硬件系统的整体设计图原理分
25、析:Proteus 7.4软件中只有8*8和5*7等LED点阵,所以需要由小的LED屏拼接成一个大的LED显示屏。上图的LED显示部分是由8个8*8的点阵构成整体的16*32点阵屏,可以同时显示两个汉字(或4个英文字母)。要注意的是:在Proteus7.4软件中,由于点阵块数太多,所以其接线比较的复杂。此处采用以上接线方式,把8个LED点阵屏以“一共两行,每行4个”的方式紧凑连接在一起,隐藏了那些错综复杂的连线,使我们在视觉上觉得更清新,更一目了然。原理图中,拼接后的点阵式LED显示屏采用的是逐列扫描的工作方式。将事先已经编写好的C语言程序输入到单片机中,80C51单片机的P2口的P2.0口至
26、P2.2口连接4个74LS138(3线8线)译码器的输入端,再由4组8个相应的输出端,与连接LED显示屏对应的列端相连,用来选中所要显示的字符的列。单片机的P0口负责输入所要显示的第一个字的代码信息,P1口负责输入所要显示的第二个字的代码信息。然后又由P0口负责输入所要显示的第二个字的代码信息,P1口负责输入所要显示的第三个字的代码信息,这样在我们的视觉上就感觉字是在连续着在向左移动了。这样依次类推,所有的字都能连续的左移着显示出来。另外,在对单片机进行校验时,P0口须接上10K左右的上拉电阻,就是上图中的RP1电阻。对于74LS138译码器U2来说,其中E1端必须为高电平才能有效,也就是说此
27、时译码器才能正常工作。E2和E3端是低电平有效,用来接地端。其余的3个译码器的原理都是这样。 (七)、小结本章节主要介绍了设计中硬件电路用到的单片机80C51芯片的总体结构和各个重要引脚的功能、显示电路中主要器件74LS138译码器的各个引脚及其功能、以及整体设计结构框图的讲解和具体实现字符的连续左移显示的详细分析。二、系统的软件部分设计应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。 (一)、程序设计思路与结构系统采用模块化结构,包括主程序、延时程序、显示子程序。1、程序设计思路计算机按照给定的程序,逐条执行指令,以完成某项规定的任务。因此,使用计算机必须编写出计
28、算机能执行的程序,用简短的C语言程序进行设计,实现与计算机的通讯,能方便改动显示的内容,使显示内容能够一个接一个的左移滚动慢慢的显示。由单片机80C51的P2口输出进行片选。片选1有效时,将所要显示的汉字的段码值送给P0,P1。驱动相应段点亮。直到送完16个段码就可以显示一个汉字了。2、程序设计流程图系统程序主要由开始、初始化、主程序、字库等组成。其中主程序和子程序的流程图如图3.1和图3.2所示。Y开始初始化调用显示程序调整数据指针是否显示完图3.1 主程序流程图对图3.1主程序流程图的简要分析如下:首先“开始”,然后对整个系统进行初始化,之后调用相应的显示程序,之后开始调整一下数据的指针,
29、判断此时需要显示的字符是否已经显示完毕。如果已经显示完毕就返回到系统“初始化”的时刻继续进行接下来的流程,如果没有显示完毕则返回到“调用显示程序”的时刻继续接着的流程。开始设一帧显示时间关闭显示并调整指针设片选及数据指针查汉字上部数据及显示查汉字下部数据及显示延时1ms结束是否显示完汉字一帧时间是否到NNYY图3.2 显示程序流程图对图3.2显示程序流程图的简要分析如下:首先开始,之后设定显示一帧字符所用的时间,然后设定片选指针以及数据指针,然后查找相应的汉字或字符的上部数据及显示,接着查找查相应的汉字或字符的下部数据及显示,然后对整个系统延时1ms,之后关闭之前显示的字符内容并调整相关数据的
30、指针,此时判断需要显示的字符是否显示完毕。若没有显示完毕,则返回到“设片选及数据指针”处进行重新工作流程;若已经显示完毕,则判断此时一帧的时间是否完毕。如果时间没有完毕,则返回至“设定一帧显示时间”处重新设定该时间;反之整个系统程序结束完成。(二)、 模块程序设计该设计中主要由系统初始化、LED动态显示、汉字显示程序设计以及显示设计几个部分组成。1、系统初始化将事先已经编写好的C语言程序输入到单片机中,80C51单片机的P2口的P2.0口至P2.2口连接4个74LS138(3线8线)译码器的输入端,再由4组8个相应的输出端,与连接LED显示屏对应的的列端相连,用来选中所要显示的字符的列。对于7
31、4LS138译码器U2来说,其中E1端必须为高电平才能有效,也就是说此时译码器才能正常工作。E2和E3端是低电平有效,用来接地端。其余的3个译码器的原理都是这样。 2、LED动态显示此次设计理论显示结果为在显示屏上,汉字按照从右向左的顺序一个个显示。设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即 LED显示空白,然后通过延时程序来设定各个字符的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到动态显示的效果12。 单片机的P0口负责输入所要显示的第一个字的代码信息,P1口负责输入所要显示的第二个字的代码信息。然后又由P0口负责输入所要显示的第二个
32、字的代码信息,同时P1口来负责输入所要显示的第三个字的代码信息,这样在我们的视觉上就感觉字是在连续着在向左移动了。这样依次类推,所有的字都能连续的左移着显示出来。3、汉字显示程序设计打开“字模提取伴侣”软件,设定一下参数设置,即:选择C51格式,字节倒序,冗余格式,纵向取模。 这样输入单个的汉字后,再单击“取模”。此时十六进制数据的汉字代码即可自动生成,把我们所需要汉字代码复制到我们的C语言程序中就可以了13。从字模提取伴侣中得到需要显示汉字的代码值。如“余境成”的代码为:unsigned char code ziku= /字符码的存放格式为:从左到右共16列,并按列的上下部分依次存放 /一组
33、即为一列/*转换字符 余 */0 x01,0 x00,0 x01,0 x00,0 x02,0 x80,0 x04,0 x40,0 x08,0 x20,0 x10,0 x10,0 x2F,0 xEE,0 xC1,0 x04,0 x01,0 x10,0 x3F,0 xF8,0 x01,0 x00,0 x09,0 x20,0 x19,0 x18,0 x21,0 x0C,0 x45,0 x04,0 x02,0 x00,/*转换字符 境 */0 x20,0 x80,0 x20,0 x48,0 x27,0 xFC,0 x21,0 x10,0 x20,0 xA4,0 xFF,0 xFE,0 x20,0 x0
34、8,0 x23,0 xFC,0 x22,0 x08,0 x23,0 xF8,0 x22,0 x08,0 x3B,0 xF8,0 xE1,0 x20,0 x41,0 x22,0 x02,0 x22,0 x0C,0 x1E,/*转换字符 成 */0 x00,0 x80,0 x00,0 xA0,0 x00,0 x90,0 x3F,0 xFC,0 x20,0 x80,0 x20,0 x80,0 x20,0 x84,0 x3E,0 x44,0 x22,0 x48,0 x22,0 x48,0 x22,0 x30,0 x2A,0 x20,0 x24,0 x62,0 x40,0 x92,0 x81,0 x0A
35、,0 x00,0 x06;4、显示设计汉字显示的原理:汉字的显示主要是通过将需要显示的汉字的段码值送入显示模块而完成的。首先从字模软件中得到需要显示汉字的段码值。while (1) for (i=0;i8;i+) /显示左半边屏幕 P0=*(p+offset+2*i); P2=i|0 x08; /P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 delay(); P0=*(p+offset+2*i+1); P2=i|0 x10; /P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); for (i=8;i16;i+) /显示右半边屏幕 P0=*(p+offset+
36、2*i); P2=(i-8)|0 x20; /P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay(); P0=*(p+offset+2*i+1); P2=(i-8)|0 x40; /P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 delay(); (三)、小结本章主要介绍了软件设计中的主程序和显示程序的流程图以及对其内容的简要介绍,以及相关的软件程序,并最终达到所要求的LED显示结果。三、系统仿真Proteus内容全面包括其能实验的内容包括软件部分的汇编、C51 等语言的调试过程,也包括硬件接口电路中的大部分类型。对同一类功能的接口电路,可以
37、采用不同的硬件来搭建完成,因此采用Proteus 仿真软件进行实验教学,克服了用单片机实验教学板教学中硬件电路固定、学生不能更改、实验内容固定等方面的局限性,可以扩展学生的思路和提高学生的学习兴趣。(一)、仿真环境介绍Proteus是目前最好的模拟单片机外围器件的工具,它可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件)14。当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是对于单片机爱好者,或者简单的开发应该是比较好的选择。Proteus与
38、其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。KeilC51是美国KeilC Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC5软件提供丰富的库函数和功能强
39、大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(二)、仿真过程与结果利用以上两种软件,就可以进行仿真了。这里以一个16*32点阵汉字显示为例说明。1、绘制电路图运行PROTEUS的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置VIEW菜单下的捕捉对齐和SYSTEAM下的颜色、图形界面大小等项目。通过工具栏中的P (从库中选择元件命令)命令,在PICK DEVICES窗口中选择电路所需的元件,放置元件并调整其相
40、对位置,元件参数设置,元器件间连线,将电路图绘制完毕。2、HEX文件的生成利用KEIL51生成HEX文件。具体方法如下:(1) 打开单片机软件开发系统KEIL uVision,单击“uVision”菜单中的“PROJECT”,在此下拉菜单中单击“NEW PROJECT”后。弹出“CREAT NEW PROJECT”对话框。键入新建项目名称。(2) 键入新建项目名并单击“确定后”,在弹出的“SELECT DEVICE”对话框中选择合适的单片机型号,如80C51。(3) 单击“uVision”菜单中的“FILE”,在此下拉菜单中选择“NEW”后,打开一个空的文本编辑口,在此窗口总键入程序,创建新的
41、源程序“一个16*16点阵汉字显示.C”(如是汇编语言程序的话为“一个16*16点阵汉字显示.ASM)文件。(4) 在左边的“PROJECT”窗口的“FILE”页中单击文件组,再单击鼠标右键后,在弹出的窗口中选中“ADD FILES TO GROUP” “SOURCE GROUP1”选项,将“一个16*16点阵汉字显示.C”程序导入到“SOURCE GROUP 1”中。(5) 在“PROJECT”下拉菜单中,选择“OPTIONS FOR TARGET”对话框,在此对话框中“OUTPUT”选项卡中的“CREAT HEX FILE”选项。(6) 在“PROJECT”下拉菜单中,选择“REBUILD ALL TARGET FILES”项。若程序编译成功,将生产“一个16*16点阵汉字显示.HEX”文件。3、调试与结果 在PROTEUS ISIS编辑窗口中,单击鼠标右键选中单片机80
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我的社区个人工作计划
- 内部工程项目承包合同样本
- 出售车库定金合同样本
- 公司收押金合同样本
- 农村房顶维修安全合同标准文本
- 农村建房钢材合同样本
- 中介房产抵押合同标准文本
- 劳动教育贯穿计划
- 冰箱转让合同标准文本
- 农村大队部修建合同标准文本
- 2022年电子元器件贴片及插件焊接检验规范
- 周口市医疗保障门诊特定药品保险申请表
- 可下载打印的公司章程
- 三年级下册综合实践活动课件-水果拼盘 全国通用(共15张PPT)
- 污水池内防腐施工方案
- 海南省省直辖县级各县区乡镇行政村村庄村名明细居民村民委员会
- 简约喜庆元宵节介绍模板 教学课件
- 西藏林芝嘉园小区项目可研(可研发)
- summary-writing-概要写作-优质课件
- T∕CIC 049-2021 水泥窑用固体替代燃料
- 部编版高中语文必修下册第八单元《单元导读》教学设计
评论
0/150
提交评论