基于AT89c51的LED广告显示电路的设计本科毕业论文.doc_第1页
基于AT89c51的LED广告显示电路的设计本科毕业论文.doc_第2页
基于AT89c51的LED广告显示电路的设计本科毕业论文.doc_第3页
基于AT89c51的LED广告显示电路的设计本科毕业论文.doc_第4页
基于AT89c51的LED广告显示电路的设计本科毕业论文.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

南 宁 学 院毕 业 论 文 论文题目:基于at89c51的led广告显示电路的设计 院 系: 机电学院 专 业: 电气自动化技术 班 级: 电气2班 学 号: 姓 名: 指导教师: 2013 年10 月10 日基于at89c51的led广告显示电路的设计摘 要led点阵显示屏作为一种新兴的显示器件,是由多个独立的led发光二极管封装而成。led点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。由于单片机技术的不断发展和高亮度led发光管的出现使得大屏幕高亮度led电子广告屏成为可能,与传统的霓虹灯广告在显示效果以及可修改性上都有着无法比拟的优势,而且单片机的日益平民化以及led技术的不断创新,使得高亮度高清晰的led点阵广告牌与传统霓虹灯广告牌的成本日益接近。为了能简单的实现基于单片机的led显示系统控制,本文设计了基于at89c51单片机6416 led汉字滚动显示屏电路并运用proteus软件仿真实现其显示功能。本系统的设计具有体积小、硬件少、电路结构简单及容易实现等优点。关键词:led,单片机,proteus仿真i南 宁 学 院 毕 业 论 文目 录1 绪 论11.1 课题背景11.2 课题研究现状11.3 课题设计任务22 系统总体设计方案22.1 总体设计方案的论证22.2 总体设计方案的确定33 系统硬件电路设计43.1单片机系统电路43.2时钟电路63.3复位电路73.4电源电路73.5点阵显示电路73.6驱动电路94 系统的软件程序设计94.1软件系统分析94.1.1模块细分104.1.2确定算法104.1.3编写程序104.3显示驱动程序125 整体电路的设计136 字模的提取147 软件仿真调试157.1 proteus软件介绍157.2 进入proteus isis157.3 工作界面167.4 创建源代码仿真文件17结 论19谢 辞20参考文献21附 录22外文资料24ii第一章 绪 论1.1 课题背景led显示屏是用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。它的优点是亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。图文显示屏可与计算机同步显示汉字、英文文本和图形。视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、vcd节目以及现场实况1。led显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。伴随世界技术的飞速发展,以前,需要花大量的时间和精力来搭建一个模拟电路,繁多的元器件不仅给电路构成增加了成本,也使电路复杂化,而现在只需要一块几平方厘米的单片机,在写入相应的功能程序,便可以代替以前的电路模式了。运用单片机技术,达到标识显示的目的,也将舍去原来的画图描写以及霓红灯标识显示方式了,而单片机有可重复编写的功能,只需要将程序稍稍改动,就能达到相应显示效果。同时利用嵌入式系统软硬件设计仿真平台,能够在线、实时仿真多种类型的单片机,诸如mcs-51系列单片机、pic单片机、avr单片机等,能够像硬件仿真器一样进行软硬件调试,而没必要花钱去购买和维护价格不菲的仿真器,对于初学单片机的人来说,既减少了学习成本,又达到了良好的学习效果。1.2 课题研究现状led点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到eprom芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型2。 目前,我发现led点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的eprom芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种led显示屏可编程序型led显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的led显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用pc机通信技术控制led显示屏,则具有显示内容丰富,信息更换灵活等优点。随着社会发展,人民生活水平的不断提高,信息化、智能化技术渗透于人们生活的各个领域。近年来,由于电子技术的迅速发展,电子元器件的成本大幅度下降,技术的完善,性能的提高,使得led显示屏的制造成本大大降低,led显示屏也开始普及起来,将led显示技术应用于日常生活和节能领域已经日渐被国内很多科研机构及厂家所重视。1.3 课题设计任务本设计一个用6416的点阵led图文显示屏,通过proteus仿真软件并对电路进行仿真,并实现滚动汉字显示要求在目测条件下led显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰,图形或文字滚动显示,并在proteus嵌入式系统设计仿真平台上完成点阵式led滚动汉字显示调试。本课题研究的内容就是以单片机为主要控制元件,驱动led点阵显示所想要现实的汉字,以后需要显示更大的也可以用本课题设计来实现。第二章 系统总体设计方案 本章主要内容是论述6416点阵汉字滚动显示装置的总体设计以及方案的论证。本系统由单片机电路、阴极、阳极驱动电路和6416点阵显示电路三大部分组成,功能模块具体实现的器件的不同,将直接影响整个系统的性能及成本,为了达到高效、实用的目的,在系统设计之前的方案论证是十分重要的。2.1 总体设计方案的论证从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的led器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。6416的点阵共有1024个发光二极管,显然单片机没有这么多的端口,我们仅仅是6416的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就1616的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。2.2 总体设计方案的确定点阵式led滚动汉字显示屏硬件电路设计框图如图2.1所示。电路包括单片机、电源电路、时钟电路、复位电路、驱动电路和6416 led点阵电路等。本设计的核心是利用单片机读取显示字型码,通过驱动电路对6416 led点阵进行动态列扫描,以实现汉字的滚动显示。本设计选用的at89c51单片机,为显示屏采用6416 led点阵。电源电路通过变压整流元件为单片机和其他电路提供稳定的+5v工作电压。时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。通过阳极驱动电路向6416点阵送字型码,通过阴极驱动电路对6416点阵进行列扫描,本课题采用的驱动芯片为74hc154。 图2.1 硬件电路设计框图第三章 系统硬件电路设计硬件电路大致上可以分成单片机系统电路、阴极和阳极驱动电路、时钟电路、复位电路、电源电路及led点阵电路几部分。3.1单片机系统电路 本设计的核心是利用单片机读取显示字型码,通过驱动电路对6416 led点阵进行动态列扫描,以实现汉字的滚动显示。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机3。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。三级程序存储器锁定、1288位内部ram、32可编程i/o线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路;外部引脚如图3.1所示:图3.1 at89c51单片机外部引脚图1at89c51主要特性:与mcs51兼容4k字节可编程闪烁存储器寿命:1000写擦循环数据保留时间:10年全静态工作:0hz至24hz三级程序存储器锁定128*8位内部ram32可编程io线两个16位定时器计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2管脚说明:vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向io口,每脚可吸收8t1l门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在fiash编程时,po口作为原码输入口,当flash进行校验时,po输出原码,此时p0外部必须被拉高4。p1口:p1口是一个内部提供上拉电阻的8位双向io口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。p2口:p2口为一个内部上拉电阻的8位双向io口,p2口缓冲器可接收,输出4个1vrl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号5。p3口:p3口管脚是8个带内部上拉电阻的双向io口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。rst-复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。aleprog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的116。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时,ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。psen外部程序存储器的选通信号:在由外部程序存储器取指期间,每个机器周期两次psen有效。但在访问外部数据存储器时,这两次有效的psen信号将不出现。eavpp:当ea保持低电平时,则在此期间外部程序存储器(0000hffffh),不管是否有内部程序存储器。注意加密方式l时,ea将内部锁定为reset;当ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtall:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。3.2时钟电路 at89c51中有一个用于构成内部振荡器的高增益反相放大器,引脚xtal1和xtal2分别是该放大器的输入端和输出端6。这个放大器与作为负反馈的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3.2;外接石英晶体(或陶瓷谐振器)及电容c1、c2接在放大器的反馈电路中构成并联振荡电路。对外接电容c1、c2虽然没有十分的严格要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,本设计使用石英晶体,其电容容量使用30pf10pf。图3.2时钟电路3.3复位电路 在这个系统中的复位电路是采用上电加按钮来实现的。因为mcs-51单片机的复位是靠外部电路实现的。mcs-51单片机工作之后,只要在他的rst引线上加载10ms以上的高点平,单片机就能有地进行复位。我们采用的是上电加按键复位方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,可以随时使电路复位。单片机在启动或断电后,程序需要从头开始执行,机器内全部积存器,i/o接口等都必须重新复位。图3.3是一个简单的上电复位和按钮复位电路,图中上电时接通电源,电容c1相当于瞬间短路,+5v电源直接加到了rst/vpd端,该高电平使89c51全机复位,若运行过程中需要程序从头执行,只需要按钮s即可,按下s则直接把+5v加到rst/vpd端从而复位。图3.3 复位电路图3.4电源电路电源电路是单片机系统最基本的部分,所以我们应该高度重视电源部分,不能因为电源部分电路比较简单而有所忽略,电源部分做好才能保证电路的正常工作。对电源电路来说,最重要的就是稳压,我们采用的是+5v电源供的直流电7。3.5点阵显示电路本设计用4片led1616点阵组成一个6416点阵显示电路8。led数码管是本设计中的显示器件下面对它作一简单介绍。此处选用的是八段数码管,它是由8个发光二极管组合而成的,它有共阴极和共阳极两种形式(如图3.4 a、b、c)。共阴极的内部接法为将8个发光二极管的阴极结在一起,工作时公共极接地,在8个阳极上通以不同的电平是将显示不同的字符;共阳极接法与共阴极相反,它是将8个发光二极管的阳极接在一起,工作时公共极接+5v,在8个阴极上通以不同的电平来显示相应的字符。本设计选用led88点阵作为显示器件,从显示亮度来说要求越高,其效果越好,从节能的角度上看,led器件较为节能,工作电压不高,功耗又小,且性能一定要稳定,维修方便, led电子显示屏以基色彩鲜亮夺目,大的显示信息量、寿命长、耗电量小,重量轻,空间尺寸小,稳定性高,易于操作、安装和维护等特点将在本设计中扮演着重要的角色。等效电路看起来简单,1脚加高电平,再在abcdefgh段加低电平,第一行的发光二极管就会亮,但是实际的器件引脚并不是一排引脚按12345678的顺序排列,另一排引脚按abcdefgh的顺序排列。而实际引脚通常是乱序的,不过我们可以自己测试引脚的分布情况。其电路排列如图3.5图(a)和图(b)所示:图 3.4 led数码管结构图图3.5 (a) 88led平面图3.6驱动电路单片机p1口低4位输出的行号经4/16线译码器74hc154(如图3.6)译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。动态扫描显示时,74hc154用来确定某一时刻显示的行号,保证某一时刻只有一行选中。一条行线上要带动16列的led进行显示,按每一led器件10ma电流计算,16个led同时发光时,需要160ma电流(即16个led点阵同时亮的情况),74hc154为一行16个led点阵提供足够大的驱动电流。74hc154来做列选控制只使用了单片机的4个io口,节约了很多io资源,为单片机系统扩充使用功能提供了条件。图3.6 74hc154外形及引脚第四章 系统的软件程序设计软件设计是一件细致而复杂的工作,应按照合理的顺序有条不絮的进行。本次毕业设计中我们在软件设计部分依然采用模块化的设计思想题,将整个系统划分为若干个模块,设计时将各个模块非开来设计,最后将整个模块连接起来,这样易于调试,有助于发现问题并及时改正。4.1软件系统分析根据毕业设计的要求及该系统应该满足的功能要求,决定该系统应该具有的部分及所需的各种元器件及其分别的型号,所起到的作用。按信息的流行向分析说明信息的性质,来源或去向,有多少数据信息、多少状态信息,是模拟量还是数字量,是串行还是并行,数据输入/输出端口地址,与外设联络控制的方法以及输入中断源的类别和优先级的安排。每一个输入/输出还应注意是否与其他输入/输出有关。4.1.1模块细分按照所分析的结果将整个系统,按不同的功能划分为几个相对独立的模块,并分析出各个模块之间的关系几由他两端出现的信号的形式。可以将整个系统化分为:前端模块,主机模块,显示模块,输入模块,这样就可以对各个模块同时进行设计,只要保证相连模块间满足相应的数据流通关系就行。在此次设计中显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可以把显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成led显示屏的扫描显示工作。显示驱动器程序由定时器t0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。4.1.2确定算法算法设计是软件设计很重要的阶段,合理和可靠的算法将导致优化程序设计。不同功能块有不同的算法,同一个问题也可以有很多算法,要根据具体的情况选择合适的算法。算法设计的总目标是,在达到要求功能的基础上,保证程序流程结构简单,运行可靠。4.1.3编写程序在手编写各部分的程序之前,还需做两件事:分配系统资源和设计流程图。提高软件设计总体效率的有效方法是先设计流程图,在开始编程。程序流程图4.1的设计过程就是程序逻辑设计的过程。流程图直观明了,有利于查错和修改。明确任务题目定义题目细分明确算法确定算法设计流程设计流程编写程序编写程序程序有错程序调试程序装配综合调试结束图 4.1 显示驱动程序流程图4.2系统主程序系统主程序开始以后,首先是对系统环境初始化,然后向左滚动显示“单片机仿真”这5个汉字,然后以“卷帘入”效果隐去。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。图4.2主程序流程图。详细主程序见附录a开始初始化调出显示程序调整数据指针是否显示完毕yn图4.2系统主程序流程图4.3显示驱动程序 由led点阵显示器的内部结构可知,器件宜采用动态扫描驱动方式工作,由于led管芯大多为高亮度型,因此某行或某列的单体 led驱动电流可选用窄脉冲,但其平均电流应限制在20ma内多数点阵显示器的单体led的正向压降约在2v左右。动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。图4.3驱动程序(显示屏扫描函数)流程图。显示驱动程序在进入中断后首先要对定时器t0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算如公式4.1所示: (4.1)在公式4.1中f为晶振频率,t为定时器t0初值(工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器锁存,然后再输出新的行号,重新打开显示。进入中断定时器赋初值读取行号并增加1送新行显示数据消 隐切换显示数据发送新行号,打开显示退出中断图 4.3显示驱动程序流程图第五章 整体电路的设计用proteus 绘制原理图:运行 proteus 的 isis 程序后,进入该仿真软件的主界面9。通过元件选择按钮 p (从库中选择元件命令) 命令,在弹出的 pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,对元件参数设置及元器件间连线, 完成单片机系统的硬件原理图绘制。本文把行列控制总线接在单片机的i/o口,然后把通过软件编译的扫描代码送入总线,就可以得到显示的汉字了。考虑到p0口必需设置上拉电阻,本文采用1k排电阻作为上拉电阻。在进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去。汉字扫描显示的基本过程是这样的:通电后由于电阻r1,电容c4的作用,使单片机的rst复位脚电平先高后低,从而达到复位;之后,在c2,c3,x1以及单片机内部时钟电路的作用下,单片机89c51按照设定的程序在p0和p2口输出与内部汉字对应的代码电平送至led点阵的行选线(高电平驱动),同时在p1.1,p1.2,p1.3,p1.4口输出列选扫描信号(低电平驱动),从而选中相应的象素led发光,并利用人眼的视觉暂留特性合成整个汉字的显示,再改变取表地址实现汉字的滚动显示10。第六章 字模的提取在ucdos中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用 8位我们以ucdos中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示11。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素范围内的任何图形。我们以显示汉字的89s51单片机为例, 由于单片机的总线为8位一个字需要拆分为2个部分。 一般我们把它拆分为上部和下部,上部由816点阵组成,下部也由816点阵组成。 在本例中单片机首先显示的是左上角的第一列的上半部分,即第一列的p0.0-p0.7口。方向为p0.0到p0.7 ,显示汉字“大”时,p0.5点亮,由上往下排列,为p0.0灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮, p0.6 灭, p0.7 灭。即二进制00000100转换为16进制为 04h.。 上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,可以看出此部分没有灯亮,二进制码为00000000,即16位的00h。从图6.1看出,第二列扫描时仍为p0.5点亮,为00000100,即16进制04h. 这一列完成后继续进行下半部分的扫描,p2.1点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大”。图 6.1 点阵原理它的扫描代码为:04h,00h,04h,02h,04h,02h,04h,04h 04h,08h,04h,30h,05h,0c0h,0feh,00h 05h,80h,04h,60h,04h,10h,04h,08h 04h,04h,0ch,06h,04h,04h,00h,00h 如果通过描点来造字的话,任务量太大。现在有很多现成的汉字字模生成软件, 我们就不必自己去画表格算代码了。软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,但是我们要根据自己硬件的连接方式来在选项中选择取码方式,然后把我们所需要的数据复制到我们的程序中即可。我们把行列总线接在单片机的i/0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。通过软件提取 “单片机仿真”的单片机编程打下基础。字模提取软件是完成本设计的一个重要的辅助软件,它能够很容易的将需要的汉字翻译成6416的汉字字模。 第七章 软件仿真调试7.1 proteus软件介绍proteus isis是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析(spice)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和spice电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、rs232动态仿真、i2c调试器、spi调试器、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如keil c51 uvision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和spice分析于一身的仿真软件,功能极其强大11。7.2 进入proteus isis双击桌面上的isis 7 professional图标或者单击屏幕左下方的“开始”“程序”“proteus 7 professional” “isis 7professional”,出现如图7.1所示屏幕,表明进入proteus isis集成环境。图7.1 proteus isis启动时的屏幕7.3 工作界面proteus isis的工作界面是一种标准的windows界面,如图7.2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。以下为主窗口和四个输出窗口的主要菜单项。对于主窗口,在菜单项旁边同时列出工具条中对应的快捷鼠标按钮。 图7.2 proteus isis的工作界面7.4 创建源代码仿真文件proteus虚拟仿真系统将源代码的编辑与编译整合在统一设计环境中,所以我们可以直接编辑原程序和生成仿真代码,所以使用时先要设置代码生成具,单机“source”下拉菜单中“define code generation tools”选项,会出现如7.3所示点击ok。点击“source”下拉菜单中“add/remove source code files”对话框。在“code generation tool”栏内选择asem51,再点击“new”按钮,查找程序源,点击“打开”,然后单机“source”下拉菜单“build all”选项,生成可执行的十六进制的文件(.asm)如图7.4源程序在软件中的编译结果。7.3 source工作界面图7.4源程序在软件中的编译结果图7.4仿真调试结 论本文设计的6416的点阵led图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏。显示屏各点亮度均匀、充足、显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。利用proteus实现了对点阵式led滚动汉字显示屏的仿真,完成了“单片机仿真”五个字滚动显示,达到了良好的设计效果。该仿真电路接近实际电路,可以直接由该电路利用相关软件设计印制电路板,加上电源电路和时钟电路,就可以制作出实际的点阵式led滚动汉字显示屏。通过前期仿真缩短了开发周期,降低了开发成本,达到事半功倍之成效。此设计是基于电子技术的应用,以调研、搜集资料、方案为基础,拟订了系统规划,编程,调试的流程。本设计开拓了我的思维,使我深刻的体会到理论与实践相结合的重要性,同时也解决了我以前在学习中遇到的许多专业知识问题。通过本设计的实践掌握,使我的专业知识更加系统化、结构化。但由于水平有限,难免有遗漏、错误之处,请大家给予指正。谢 辞感谢我的导师,我的本次毕业设计和论文是在他的悉心指导和关心下完成的,老师给予我很大的关心和支持,正是由于这些细微的关怀,一直激励着我去努力做好本次毕业设计,老师精湛的专业知识、耐心的工作态度和真诚的待人风格给我留下了非常深刻的印象,对我以后的工作和生活将产生很大的影响,老师工作能力实际应用能力也相当强,给予了我相当大的帮助,真挚的向导师说声谢谢。感谢帮助过我的所有同学,特别是在我的设计遇到困难的时候,他们在精神上和行动上,都给予我很大的支持,鼓励我不要泄气,勇敢的面对困难,使我终于突破了设计的难点,顺利完成了此次毕业设计。我也感谢本科这两年里所有知道过我的老师们,他们教授给我的各方面专业知识让我在设计中能更好的运用以及发挥,感谢他们对我无私的教诲和帮助。 总之,在这次课程设计中,我受益匪浅,学到了很多书本上所没有的东西,懂得了理论和实际联系的重要性。在以后的学习中,我不仅要把理论知识掌握牢固,更要提高自己的动手能力和分析能力。参考文献1 michael d ciletti. advanced digital design with the ver-ilog hdl, 2004:64-69.2元增民.单片机原理与应用m.长沙:国防科学大学出版社,2006:15-18,30.3马忠梅.单片机外围电路设计.北京:北京航空航天大学出版社,2005:42-46.4李全利.单片机原理及接口技术m.北京:北京航空航天大学出版社,2004:23-30.5 at89c51 data sheep philips semiconductors 1999:12-19.6黄继昌.电子元器件应用m.北京:人民邮电出版社,2004:65-70.7周雪主.电子技术基础m.北京:电子工业出版社,2003:104-107.8罗亚非.凌阳十六位单片机应用基础m. 北京:北京航天航空出版社,2001:87-89.9清源计算机工作室proteus软件入门北京:机械工业出版社,2004:20-3410侯玉宝. 基于proteus的51系列单片机设计与仿真.北京:电子工业出版社,2008:112-118.11朱清慧,张凤蕊,翟天嵩,王志奎.proteus教程电子线路设计、制版与仿真.北京:清华大学出版社,2008:224-228,235-240.附 录6416的点阵led电子图文显示屏的源程序采用汇编语言编写,以下为用汇编语言编写的字符显示控制程序:org0000hajmpmainorg0030hmain:movdptr,#tab;字码表初址赋值movr1,#00h;列制码movr4,#96;移动“ ”及“单片机仿真”6个字符共96列cm:movr5,#5;每屏反复显示5次movr3,#16;列数c1:movr2,#0;取码指针c16:movp0,#00hmovp2,#00h;关显示clrp3.0mova,r2movca,a+dptr;取当前列显示字码的第一个字节movp0,a;送18行控制口incr2mova,r2movca,a+dptr;取当前列的显示字码的第二个字节movp2,a;送915行控制口incr2movp1,r1;送列控制码incr1 acalld1ms;显示2msacalld1msdjnzr3,c16;一屏16列是否显示完movr3,#16djnzr5,c1;未显示5次,继续incdptr;一屏反复显示5次完,字码表初值加2incdptrdjnzr4,cm;96列未移动完,继续ajmpmain;96列移动完,返回,重新从“ ”开始显示d1ms:movr6,#2movr7,#248djnzr7,$djnzr6,$-4rettab:db 000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ;db 000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ; ,db 000h ,000h ,000h ,008h ,000h ,008h ,0e0h ,008h ,0f4h ,00dh ,054h ,005h ,0f4h ,07fh ,0f8h ,07fh ;db 01eh ,005h ,0feh ,005h ,0fah ,006h ,010h ,002h ,000h ,006h ,000h ,004h ,000h ,000h ,000h ,000h ;单,0db 000h ,000h ,000h ,000h ,000h ,010h ,000h ,01ch ,0fch ,00fh ,0fch ,003h ,040h ,002h ,040h ,002h ;db 07eh ,07fh ,03eh ,07fh ,020h ,000h ,020h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ;片,1db 000h ,008h ,040h ,00ch ,040h ,006h ,0dch ,03fh ,0feh ,03fh ,022h ,011h ,020h ,01dh ,0f0h ,00fh ;db 0f0h ,003h ,0f0h ,00fh ,0f0h ,01fh ,010h ,010h ,000h ,01ch ,000h ,01ch ,000h ,010h ,000h ,000h ;机,2db 000h ,001h ,080h ,001h ,0c0h ,000h ,0f0h ,03fh ,0fch ,03fh ,04ch ,018h ,040h ,00ch ,040h ,027h ;db 0cch ,063h ,0ech ,079h ,028h ,01fh ,020h ,007h ,020h ,000h ,020h ,000h ,000h ,000h ,000h ,000h ;仿,3db 000h ,000h ,000h ,010h ,000h ,098h ,000h ,0c8h ,0e8h ,06fh ,0e8h ,03fh ,07ch ,01bh ,07eh ,00ah ;db 0e6h ,

温馨提示

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

评论

0/150

提交评论