基于单片机AT89C52的LED点阵设计.doc_第1页
基于单片机AT89C52的LED点阵设计.doc_第2页
基于单片机AT89C52的LED点阵设计.doc_第3页
基于单片机AT89C52的LED点阵设计.doc_第4页
基于单片机AT89C52的LED点阵设计.doc_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

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

文档简介

IVT-REJX-50苏州工业园区职业技术学院毕业项目 2011 届2011年5月10日项目类别: 毕业设计 项目名称:基于单片机AT89C52的LED点阵设计 专业名称: 学 号 : 班 级: 指导教师: IVT-REJX-51苏州工业园区职业技术学院毕业项目任务书(个人表)系部: 毕业项目类别:毕业设计毕业项目题目:基于单片机AT89C52的LED点阵设计校内指导教师: 职称:类别:校外指导教师: 职称:类别: 学 生: 专业:电子班级:电1、毕业项目的主要任务及目标任务:利用AT89C52单片机作为微控制器,采用串行传输和动态扫描技术, 通过四个8*8的点阵LED进行文字显示,在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无干扰。 目标:完成一篇7000字左右的毕业论文。2、毕业项目的主要内容 一、单片机概述与AT89C52单片机概述二、功能要求及方案论证三、系统硬件电路的设计四、系统程序的设计五、调试及性能分析续表:3、主要参考文献(若不需要参考文献,可注明,但不要空白)单片机原理及接口技术 (第二版) 胡汉才 编著 清华大学出版社C51技术控制 张筱云 编著 苏州工业园区职业技术学院C程序设计 谭浩强 编著 北京清华大学出版社4、进度安排毕业论文各阶段任务起止日期1毕业论文的主题选择2011/4/12011/4/102毕业论文资料的搜集2011/4/122011/4/203毕业论文初稿的完成2011/4/202011/4/304对毕业论文的修改2011/5/12011/5/75依据导师建议再次修改2011/5/82011/5/206. 最终完成2011/5/21注: 此表在指导老师指导下填写。诚 信 声 明本人郑重声明:所呈交的毕业项目报告/论文基于单片机AT89C52的LED点阵设计是本人在指导老师的指导下,独立研究、写作的成果。论文中所引用是他人的无论以何种方式发布的文字、研究成果,均在论文中以明确方式标明。本声明的法律结果由本人独自承担。 作者签名: 年 月 日 苏州工业园区职业技术学院 2011届毕业项目摘 要本设计是基于AT89C52的4个88点阵LED电子显示屏的设计。整机以AT89C52为核心,介绍了以其为控制系统的LED点阵显示屏的动态设计和开发过程。通过该芯片控制驱动器74LS138来驱动显示屏显示。采用动态显示,使得图形或文字能够在显示屏上滚动。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计等。关键词:AT89C52单片机, LED点阵 ,动态显示 设计者:陶玉洁 指导老师:李淑萍目 录绪 论1第一章:AT89C52单片机概述11.1单片机简介11.2 AT89C52单片机11.3 电子显示屏简介5第二章 功能要求及方案论证62.1 功能要求62.2 显示模块方案论证62.3 数据传输方案论证8第三章 系统硬件电路的设计93.1 单片机系统外围电路93.2 驱动电路10第四章 系统程序的设计12第五章 调试及性能分析135.1软件调试135.2性能分析15参考文献16致谢17附录:源程序181、显示驱动程序182、系统主程序18绪论LED显示屏在广告传媒领域逐渐崭露头角,其控制系统也如雨后春笋,层出不穷。由于它的控制系统均是基于嵌入式微处理器开发,所以单片机在其中也占有一席之地。但是,由于LED显示屏控制较复杂,特别是对于显示特殊效果,如循环移动、覆盖霓虹灯效果,要求处理器运算速度快、执行效率高,所以很多控制卡生产厂家采用高端嵌入式系统进行设计。这样做虽然能在一定程度上提高数据处理速度,但是并不能完全满足所有显示效果要求,而且开发和产品成本也会随之成倍增加,甚至由于其设计不当可能在显示时出现抖动、闪烁、重影等现象。归根结底,LED显示屏控制卡的设计中硬件是一方面因素,同时还要考虑到显示数据组织方式,通过软硬件结合的方法才能设计出一款性价比较高的控制卡。本论文提出基于普通51系列单片机实现LED显示屏控制的原理及方法。第一章:AT89C52单片机概述1.1单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。1.2 AT89C52单片机 AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。图1 AT89C52AT89C52 芯片内部资源有:P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),如表1所示。Flash 编程和程序校验期间,P1 接收低8 位地址。表1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2)P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。特殊功能寄存器:在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE)。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON(参见表3)T2MOD(参见表4),寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。数据存储器:AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2 口)地址单元。MOV 0A0H,#data间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0 的内容为0A0H,则访问数据字节地址为0A0H,而不是P2 口(0A0H)。MOV R0,#data堆栈操作也是间接寻址方式,所以,高128 位数据RAM 亦可作为堆栈区使用。定时器0和定时器1:AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。定时器2:定时器2 是一个16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位选择。定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。中断:AT89C52 共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。时钟振荡器:AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10F。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。1.3电子显示屏简介 随着现代光电技术、微电子技术及计算机技术的飞速发展和普及,LED显示屏已遍及社会的各个领域。简单的讲,显示屏就是由若干个可组合拼接的显示单元构成屏体,再加上一套适当的控制器。所以多种规格的显示板配合不同技术的控制器就可以组成许多种LED显示屏,以满足不同环境,不同显示要求的需要。LED显示屏是由几万到几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED显示屏的分类:按颜色可以分为单基色显示屏、双基色显示屏、全基色显示屏;按显示器分类LED数码显示屏、LED点阵图文显示屏;按实用场合分类有室内显示屏和室外显示屏。仔细分解一个LED显示屏,它有以下一些要素构成:金属结构框架、显示单元、扫描控制板、开关电源、双绞线传输电缆、主控制仪、专用显示卡及多媒体卡、电脑及其外设、其它信息源。第二章 功能要求及方案论证2.1 功能要求 用移动显示屏来显示汉字,通过单片机AT89C52的行扫描和74LS138芯片的列扫描使点阵显示屏移动显示“欢迎您光临!”的字幕。当中还要实现的功能:时钟电路的设置,复位电路的设置,单片机给74LS138芯片的E1高电平同时给E2和E3低电平,74LS138才能正常的工作。2.2 显示模块方案论证点阵模块:显示阵模块由四个8*8点阵组成,构成16*16点阵。图2-1所示为88点阵LED外观及引脚图,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。图2 4个8*8构成16*16点阵LED显示屏电路8X8点阵LED工作原理说明:8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 一根横柱:对应的行置0,而列则采用扫描的方法来实现,需要实现的功能如下图流程图3所示。本电路使用AT89C52实现行驱动从上至下的扫描,用74LS138和三极管实现列驱动,对显示模块从左至右的扫描,然后显示字符。在中规模集成电路中译码器有几种型号,使用最广的通常是74LS138译码器,74LS138译码器的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门(因为每次仅一个为低电平,其余皆为高电平);74LS138译码器有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。在片选使用状态下输入中8线始终只有1线为0,此74LS138芯片在单片机系统中极大限度的起到了扩展IO资源的作用,只要用单片机的2个IO引脚资源就能控制8个输出,而且程序的编制也容易实现。 图 3 LED点阵功能流程图2.2.1静态显示方式静态显示方式,即8段LED数码管在显示某一个数码时,加在数码管上的段码保持不变,直至换显其他数码为止。这样数码管的每一段均应由一条输出线来控制,每显示一位数码需要8根输出线,当N位显示则需N8根输出控制线。占用较多I/O资源。2.2.2动态显示方式为解决静态显示占用较多I/O资源的问题,在多位显示时通常采用动态显示方式,动态显示是将所有数码管的段码线对应并联在一起,由一个8位的输出口控制,每位数码管的公共端分别出一位I/O线控制。显示不同数码时,由位线控制各位轮流显示。位线控制某位选通时,该位应显示数码的段码同时加在段码线上,即每一时刻仅仅有一位数码管是被点亮的,当轮流显示的速度较快(每秒24次以上),由于人眼的视觉暂留现象,看起来就像所有位同时显示一样,这时,我们就能看到稳定的图像了由于单片机的特性,我们将采用方案2:动态显示方式,采用动态显示方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。2.3 数据传输方案论证显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图4为显示屏电路实现的结构框图。图4 显示屏电路框图第三章 系统硬件电路的设计3.1 单片机系统外围电路单片机外围电路一般有两块:时钟电路(如图5)和复位电路(如图6)。时钟电路由一个晶振和两个小电容组成,用来产生时钟频率。复位电路由一个电阻、按键和一个电容组成,用来产生复位信号,使单片机上电的时候复位。图5 时钟电路 AT89C52单片机芯片内部有一个反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡器电路的输入端和输出端,时钟可由内部和外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率选择12MHz,C1、C2的电容值取22PF,电容的大小对频率起微调的作用。图6 复位电路单片机有多种复位电路,本系统采用电平式开关复位与上电复位方式,当上电时,电容相当于短路,使单片机复位,在正常工作时,按下复位时单片机复位。在有时碰到干扰时会造成错误复位,但是大多数条件下,不会出现单片机错误复位,而可能会引起内部某些寄存器错误复位,在复位端加一个去藕电容, 则会得到很好的效果。 3.2 驱动电路 3.2.1 74LS138芯片简介74LS138 为3 线8 线译码器 54/74S138和 54/74LS138 两种线路结构型式,其工作原理如下当一个选通端(E1)为高电平,另两个选通端(E2)和/(E3))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。图7 74LS138引脚图3.3.2 驱动电路的构成 本设计的驱动电路由电阻和PNP的三极管构成,由三极管将电流放大,再通过三极管的集电极输出给点阵显示屏,使其足够亮,驱动电路的电阻值是采用4.7K欧姆的电阻,其驱动电压为5V。行驱动电路如图8所示,列驱动电路如图9所示。图8 点阵LED行驱动电路图9 点阵LED列驱动电路3.3.3驱动电路的作用LED是通过将电压加在LED的PN结两端,使PN结本身形成一个能级(实际上,是一系列的能级),然后电子在这个能级上跃变并产生光子来发光的。所以,LED需要加在PN结两端的电压来驱使其发光,即LED驱动。LED驱动电路的主要功能是将交流电压转换为恒流电源,并同时完成与LED的电压和电流的匹配。LED驱动电路的另一个任务是使LED的负载电流能够在各种因素的影响下都能控制在预先设计的水平上。第 22 页 共23页第四章 系统程序的设计软件程序是整个控制系统的核心部分。显示部分采用动态扫描的方式,实现对显示屏要显示的汉字、图像、字符等数据信息进行传输控制以及显示等功能。程序中将数据存储器分为三个区:显示缓冲区、数据存储区和接收缓冲区。单片机通过串口中断接收PC机传来的数据,暂时存放在接收缓冲区,经分析处理后按一定的规律放入数据存储区保存起来,然后再根据显示方式依次从数据存储器中取出数据放入显示缓冲区中用于显示。显示采用逐行扫描的方式,图10是显示一屏字符的程序流程图。与PC机的实时通信部分主要是利用单片机串口中断接收数据信息,实现与计算机的数据信息传输。其程序流程图如图11所示。 图10 显示屏控制器驱动电路框图图11 显示屏程序流程图第五章 调试及性能分析5.1软件调试Proteus仿真时,单片机需要加载程序,加载程序为.HEX文件。本设计利用Keil Vision2, 在新建Keil项目时选择AT89C52单片机作为CPU,将源程序导入,在“Options For Target”对话窗口中,选中“Output”选项中的“Create HEX File”,编译链接后就可以生成.HEX文件。在Proteus ISIS中,选中AT89C51并单击鼠标左键,对AT89C51进行设置,设置单片机时钟频率为12MHz,按照正确的文件路径加载.HEX文件。对单片机设置完毕后就可以开始仿真了。仿真过程中如有硬件问题可在Proteus ISIS中直接修改,如有软件问题可在Keil Vision2中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。利用Proteus实现了对点阵式LED滚动汉字显示屏的仿真,说明程序和电路图都没有问题。将上述程序进行编译后,打开AT89C52单片机的元件属性编辑对话框,如图12所示。在PROGRAM FILE中,单击文件夹图标,选择“程序1.hex”文件后,即可对系统进行仿真,整个系统的仿真如图13所示。图12 AT89C52单片机的元件属性编辑对话框图13 整体电路原理图及仿真5.2 性能分析本文设计的点阵LED显示屏控制系统以AT89C52单片机为基础,采用静态RAM作为数据存储器,利用串行接口实现与PC机的数据传输兼顾了单片机的抗干扰能力,有效地提高了系统运行的可靠性。可直接运用于实际场合。可实现汉字、字符及数字等内容的显示时更新显示的内容。使用起来非常方便。参考文献单片机原理及接口技术 (第二版) 胡汉才 编著 清华大学出版社C51技术控制 张筱云 编著 苏州工业园区职业技术学院C程序设计 谭浩强 编著 北京清华大学出版社致谢毕业设计是对我们在知识运用能力方面的一次全面的考核,也是考察基本功的训练,培养我们综合运用所学知识独立地分析问题和解决问题的能力,为以后撰写专业学术论文和工作打下良好的基础。本次设计能够顺利完成,首先我要感谢我的母校IVT,是她为我们提供了学习知识的土壤,使我们在这里茁壮成长。其次我要感谢电子专业的老师们,他们不仅教会我们专业方面的知识,而且教会我们做人做事的道理;尤其要感谢本次设计中给我大力支持和帮助的李淑萍老师,也就是我的指导老师,每有问题老师总是耐心的解答,使我能够充满热情的投入到毕业设计中去,使本次设计圆满完成。谢谢!附录:源程序1、显示驱动程序p=&table00; while (1) for (i=0;i8;i+) /显示左半边屏幕 P0=*(p+offset+2*i); P2=i|0x08; /P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 delay(); P0=*(p+offset+2*i+1); P2=i|0x10; /P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); for (i=8;i16;i+) /显示右半边屏幕 P0=*(p+offset+2*i); P2=(i-8)|0x20; /P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay(); P0=*(p+offset+2*i+1); P2=(i-8)|0x40; /P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U92、系统主程序此设计要实现的是:“欢迎您光临”用取模软件对这十一个汉字分别取模。取得的汉字字模如下所示: 0x00,0x80,0x00,0x80,0xFC,0x80,0x04,0xFC,0x05,0x04,0x49,0x08,0x2A,0x40,0x14,0x40,0x10,0x40,0x28,0xA0,0x24,0xA0,0x45,0x10,0x81,0x10,0x02,0x08,0x04,0x04,0x08,0x02,欢;0x00,0x00,0x20,0x80,0x13,0x3C,0x12,0x24,0x02,0x24,0x02,0x24,0xF2,0x24,0x12,0x24,0x12,0x24,0x12,0xB4,0x13,0x28,0x12,0x20,0x10,0x20,0x28,0x20,0x47,0xFE,0x00,0x00,迎;0x09,0x00,0x09,0x00,0x13,0xFC,0x12,0x04,0x34,0x48,0x59,0x40,0x91,0x50,0x12,0x4C,0x14,0x44,0x11,0x40,0x10,0x80,0x02,0x00,0x51,0x84,0x50,0x92,0x90,0x12,0x0F,0xF0,您; 0x01,0x00,0x21,0x08,0x11,0x08,0x09,0x10,0x09,0x20,0x01,0x00,0xFF,0xFE,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x08,0x42,0x08,0x42,0x10,0x42,0x20,0x3E,0xC0,0x00, 光;0x08,0x80,0x08,0x80,0x08,0x80,0x49,0xFE,0x49,0x40,0x4A,0x20,0x4C,0x20,0x48,0x00,0x49,0xFC,0x49,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x09,0xFC,0x09,0x04,0x08,0x00,临; #include #include #define DATAOUT P2 / sbit DATA=DATAOUT0; sbit SCLH=DATAOUT1; sbit SCLT=DATAOUT2; sbit AB=DATAOUT3; sbit SCK=DATAOUT4; unsigned char lhj32;void display();void displayS(unsigned int timer);void displaymove(unsigned char *lp,unsigned char c,unsigned char timer);void displaymovetb(unsigned char din,unsigned char *lp,unsigned char timer);void delay(unsigned int a);code unsigned char huan32=/欢0x00,0x80,0x00,0x80,0xFC,0x80,0x04,0xFC,0x05,0x04,0x49,0x08,0x2A,0x40,0x14,0x40,0x10,0x40,0x28,0xA0,0x24,0xA0,0x45,0x10,0x81,0x10,0x02,0x08,0x04,0x04,0x08,0x02,;code unsigned char ying32=/迎0x00,0x00,0x20,0x80,0x13,0x3C,0x12,0x24,0x02,0x24,0x02,0x24,0xF2,0x24,0x12,0x24,0x12,0x24,0x12,0xB4,0x13,0x28,0x12,0x20,0x10,0x20,0x28,0x20,0x47,0xFE,0x00,0x00,;code unsigned char ying32=/您 0x09,0x00,0x09,0x00,0

温馨提示

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

评论

0/150

提交评论