毕业设计-基于at89s52单片机的led点阵显示屏设计_第1页
毕业设计-基于at89s52单片机的led点阵显示屏设计_第2页
毕业设计-基于at89s52单片机的led点阵显示屏设计_第3页
毕业设计-基于at89s52单片机的led点阵显示屏设计_第4页
毕业设计-基于at89s52单片机的led点阵显示屏设计_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

基于AT89S52单片机的LED点阵显示屏设计系别信息工程系专业自动化/测控技术与仪器班级B941XXX学号B941XXXXX姓名指导教师负责教师沈阳航空航天大学北方科技学院2013年5月摘要本设计采用AT89S52单片机作为主控制器,采用LED专用驱动芯片4953和译码器来驱动大小为12832的LED点阵显示屏。扩展AT29C系列并行FLASH存储器用于存储字符数据和控制信息。扩展外部并行静态RAM,以弥补51单片机内部RAM的不足,协助单片机实现各种滚动显示效果。主控单片机与通信单片机相互配合,完成显示信息和控制参数的更新以及时间和温度信息的实时采集。系统中的LED显示屏可以同时显示上下两行共16个1616点阵汉字或一行共4个3232点阵汉字,并可以实时显示当前的时间和温度,通过上位机软件还可以修改显示内容和显示效果。扩展的并行FLASH存储器,使本LED显示系统能够掉电存储2000个字符。因为每个LED显示单元是相互独立的,并且显示的字符数据是采用串行的传输方式,因此,系统的可扩展性得到了大大的提升,多个显示单元的级联也十分方便。LED点阵显示屏产品不仅可以用于室内环境,还可用于复杂、恶劣的室外环境,具有很强的现实应用性。关键词LED点阵;单片机;并行存储;动态扫描ABSTRACTTHISDESIGNUSESAT89S52MCUASTHEMAINCONTROLLER,USESTHESPECIALDRIVINGCHIP4953ANDTHEDECODERCHIPTODRIVETHE12832LEDDOTMATRIXDISPLAYMONITORSERIESOFAT29CPARALLELFLASHMEMORYEXPANSIONUSEDTOSTORECHARACTERDATAANDCONTROLINFORMATIONEXPANDEDEXTERNALPARALLELSTATICRAMINORDERTOCOMPENSATETHESHORTAGEOFRAMINSIDETHE51SERIESMCU,THEEXTERNALRAMASSISTEDTHEMAINCONTROLMCUTOACCOMPLISHEACHKINDOFTRUNDLEDEMONSTRATIONEFFECTTHECOORDINATIONBETWEENTHEMAINCONTROLMCUANDTHECOMMUNICATIONMCU,UPDATETHECHARACTERDATAANDTHECONTROLINFORMATIONASWELLASTHETIMEDATAANDTHETEMPERATUREINFORMATIONREALTIMEGATHERINGTHISLEDDISPLAYSYSTEMCANDISPLAYTWOLINESOF161616LATTICECHINESECHARACTERSORONELINEOF43232LATTICECHINESECHARACTERS,THECURRENTTIMEANDTEMPERATURECANBEDISPLAYEDBYTHISSYSTEM,TOOTHEDISPLAYCONTENTSANDTHEEFFECTSCANBECHANGEDTHROUGHTHEUPPERCOMPUTERSOFTWAREEXTENDEDPARALLELFLASHMEMORY,SOTHATTHELEDDISPLAYSYSTEMCANSAVE2000CHARACTERSWHENTHEPOWERISOFFEACHLEDDISPLAYUNITISINDEPENDENTOFEACHOTHER,ANDUSESTHESERIALTRANSMISSIONMODETODISPLAYTHECHARACTERDATA,THEREFORETHEEXTENSIBILITYOFTHISSYSTEMHADGREATLYASCEND,MULTIPLELEDDISPLAYUNITSOFCASCADEISVERYCONVENIENTLEDDOTMATRIXDISPLAYPRODUCTSNOTONLYCANBEUSEDFORINDOORENVIRONMENT,BUTALSOFORCOMPLEX,HARSHOUTDOORENVIRONMENTS,ITHASASTRONGPRACTICALAPPLICABILITYKEYWORDSLEDDOTMATRIXMICROPROCESSORPARALLELSTOREDYNAMICSCANNING目录1绪论111课题背景和研究的意义112LED点阵显示屏的发展过程113LED点阵显示屏的分类114LED显示屏的应用实例215课题任务及要求22LED显示屏的总体方案设计与分析321显示单元的设计322传输方式和可扩展性的设计323扫描方式的设计324滚屏的实现325字模数据的存储方式426上位机与主控单片机的通信、实时时间和温度采集的设计427信号的衰减和抗干扰设计428系统总体结构框图429系统的工作过程53LED显示屏的硬件设计631主控单片机电路6311AT89S52单片机介绍6312AT89S52单片机的标准功能6313单片机的复位电路7314单片机的时钟振荡电路832LED显示单元电路833行、列驱动电路9331行驱动电路9332列驱动电路94LED显示屏的软件设计1041开发工具介绍1042程序流程图10421主程序流程图10422静态模式程序流程图114231616上滚模式程序流程图124243232左滚模式程序流程图13425时间模式程序流程图14426主程序初始化程序流程图165系统的仿真1751PROTEUS仿真软件的介绍1752显示屏系统仿真的效果17521静态模式下的仿真效果175221616上滚模式下的仿真效果195233232左滚模式下的仿真效果20524时间模式下的仿真效果216PCB印刷电路板的设计2461PCB设计软件PROTEL99SE介绍2462元件布局及PCB整体结构工艺2463布线工艺与准则2464PCB实物照片267LED显示屏的整体调试3071LED显示单元板和主控板的焊接组装3072整体调试32721LED显示屏的调试32722通信单片机的通信调试32723主控板的整体调试3273实际显示效果图3374系统升级方案探讨348结论36结束语37致谢38参考文献39附录LED点阵显示单元电路图40附录LED点阵显示屏系统主控板电路图41附录LED显示屏系统元件清单42附录LED点阵显示屏系统设计作品实物43附录主控单片机程序清单451绪论11课题背景和研究的意义随着社会的飞速发展以及人们生活水平的不断提高,作为人机信息视觉传播媒体的LED点阵显示屏以其高亮度、低工作电压、小功耗、长寿命等优点迅速成长为平板显示的主流产品。LED点阵显示屏可以显示变化的数字、文字、图形图像以及视频流媒体,它不仅可以用于室内环境,如金融证券、体育场馆、邮政电信、商场购物中心等服务领域的业务宣传及信息显示;。12LED点阵显示屏的发展过程第一阶段,1990年以前是LED显示屏的成长时期。一方面,受LED材料器件的限制,LED显示屏的应用领域没有广泛开展;另一方面,显示屏控制技术基本上是通讯控制方式,客观上影响了显示效果。这一时期的LED显示屏在国外应用较广,国内很少,产品以红、绿双基色为主,灰度等级为单点4级调灰,成本较高。13LED点阵显示屏的分类按颜色分类单基色显示屏单一颜色(红色或绿色)。双基色显示屏红和绿双基色,256级灰度、可以显示65536种颜色。全彩色显示屏红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。按显示器件分类。14LED显示屏的应用实例LED条形屏应用实例如图11所示。图11LED条形屏应用实例。15课题任务及要求本设计主要利用AT89S52单片机控制大小为12832的LED点阵显示屏显示文字信息,通过与VB编写的上位机软件进行串行通信,可以随时改变LED显示屏的显示内容和显示方式。设计一个LED显示屏,应具有以下功能同时显示两行共16个1616点阵汉字或一行共4个3232点阵汉字。可以有多种文字的运动方式和显示样式,如文字的上移、下移、左移、右移等,以及阴文和阳文样式。在显示汉字信息的同时,可以实时显示时间、日期、温度等信息。2LED显示屏的总体方案设计与分析21显示单元的设计用LED点阵模块显示一个汉字字符,通常需要4块88的点阵模块组合成大小为1616的LED点阵显示矩阵来实现。考虑到驱动电路的能力和安装更换的方便,本设计将8块88的点阵模块组合成大小为3216的LED点阵显示矩阵作为一个LED显示单元来使用。根据设计要求,整个屏幕应能同时显示两行共16个1616点阵汉字或一行共4个3232点阵汉字。因此本设计需要用8个LED显示单元模块拼接成大小为12832的LED点阵显示屏。22传输方式和可扩展性的设计本设计要求的LED显示屏大小为12832。23扫描方式的设计LED点阵显示系统中的显示方式可分为静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线繁多复杂。动态显示采用动态扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。这种动态扫描的显示方式巧妙地利用了人眼的视觉暂留特性,将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。24滚屏的实现文字字符的显示位置在屏幕上实现方向性的移动,即称为“滚屏”。滚屏可以由硬件电路来实现,但完全依靠硬件电路来实现滚屏无疑增加了设计难度和额外的硬件成本,而且对日后系统的维修和升级也带来很大的困难,因此本设计采用软件算法实现静态、左滚屏、上滚屏和静态加左滚动混合等常见滚屏方式。25字模数据的存储方式对于字模数据存储方式的问题,目前使用最广泛的技术是通过上位机软件将待显示的字符转换为点阵字模数据,再通过烧写的方式将这些字模数据按一定的顺序编址后存储在非易失性的存储器中。在扫描显示的过程中按规定的方式取出保存在非易失性存储器中的字模数据,再进行处理。26上位机与主控单片机的通信、实时时间和温度采集的设计在实际使用中,更改显示内容和显示方式需要主控单片机与上位机通信,主控单片机将上位机发送过来的控制信息和字符的字模信息保存在FLASH存储器中,以保证在断电时信息不会丢失。设计要求中还需要显示实时时钟和实时温度信息,这就需要对时钟芯片和温度传感器进行实时的数据采集,如果这些任务全部交给主控单片机来完成,肯定会导致整个动态扫描程序周期变长,从而导致显示屏整体的闪烁,甚至无法完整的显示一屏文字信息。27信号的衰减和抗干扰设计由于控制信号和字模数据信号是经过LED显示单元一级一级向后传递的,如果显示屏有很多个显示单元,那么控制信号和字模数据将会有不同程度的衰减,衰减的信号将容易受到干扰,造成显示信息的破坏。因此系统在每一级的显示单元都加入了总线驱动芯片,以保证控制信号和字模数据有足够的功率传递到下一级显示单元。28系统总体结构框图通过上述对各种方案的比较与分析,构建系统总体结构框图如图21所示。图21系统总体结构框图因为本设计中的上、下显示屏同时进行1/16动态扫描,所以上、下两屏共用相同的行扫描信号。系统中扩展的FLASH存储器和外部RAM共用相同的8位并行数据总线和16位地址总线。在新数据下载、实时时间和实时温度采集时,通信单片机与主控单片机之间通过两条联络信号线DOWN和BUSY互相配合协助完成数据的传递。29系统的工作过程主控单片机在上电初始化完毕后会等待通信单片机发出启动信号,主控单片机检测到启动信号后,从FLASH存储器中读取控制信息,再根据控制信息执行对应模式的显示任务。当有新的控制信息和字模数据下载时,通信单片机向主控单片机发出新数据下载信号并等待主控单片机完成新数据下载前的准备工作,主控单片机准备完毕后,向通信单片机回应准备完成信号,并等待通信单片机完成接收。当通信单片机接收完成后,再次向主控单片机发出启动信号,主控单片机重新开始执行对应模式的显示任务。3LED显示屏的硬件设计31主控单片机电路311AT89S52单片机介绍本设计采用AT89S52单片机,AT89S52是美国ATMEL公司生产的51系列单片机,它是一种低功耗、高性能8位CMOS微控制器,具有8K系统可编程FLASH存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上的FLASH不仅允许程序存储器在常规编程器上编程,还适用于在线编程下载,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。312AT89S52单片机的标准功能AT89S52具有以下标准功能。采用DIP40封装的AT89S52单片机实物图如图31所示,引脚定义如图32所示。图31采用DIP40封装的AT89S52单片机实物图图32采用DIP40封装的AT89S52单片机引脚定义313单片机的复位电路单片机的复位电路如图33所示。图33单片机复位电路。314单片机的时钟振荡电路单片机的时钟振荡电路如图34所示。图34单片机的时钟振荡电路。32LED显示单元电路由于本设计的LED显示屏是在室内使用的,所以对LED点阵模块的亮度要求不是很高,本设计采用单色3MM点阵模块LG12088BH,这种点阵模块的的亮度不仅可以满足室内使用的要求,而且它最大的优点是单位面积内发光像素点较多,因此这种点阵模块的分辨率较高,即使在较近的距离也可以很清晰地显示文字信息,此外,多个点阵模块拼接组合后的显示屏体积也很小,摆放或悬挂更方便自由。单色3MM点阵LG12088BH实物图如图35所示。图35单色3MM点阵LG12088BH实物图。33行、列驱动电路331行驱动电路行驱动电路主要由行选通电路和行功率驱动电路两部分组成。图39LED显示单元的行驱动电路332列驱动电路列驱动电路采用锁存器74HC595来实现,74HC595具有串入并出的锁存功能,它可以串行输入要显示的字符数据,并把数据以并行的方式锁存到对应的列线地址上。74HC595具有两级数据锁存功能,在锁存上一次数据的同时,只要锁存控制信号RCK无跳变,输出引脚Q0Q7则不会发生变化,仍然锁存上一次的数据内容。这样显示单元可以在锁存上一次数据的同时,串行输入下一次待显示的字符数据,节省了串行输入的时间。此外74HC595还具有一个级联引脚,当最高位Q7的数据进行串行位移后,Q7位移前的的数据将出现在Q7上,以方便多个芯片级联使用。74HC595的引脚定义如图310所示。4LED显示屏的软件设计41开发工具介绍单片机开发中除必要的硬件外,同样离不开开发软件来完成系统程序的编写、编译、调试。本设计所使用的开发软件是KEILVISION3。KEIL软件是目前最流行开发MCS51系列单片机的软件之一,软件开发界面如图41所示。图41KEILVISION3软件开发界面。42程序流程图421主程序流程图主程序流程图如图42所示。图42主程序流程图422静态模式程序流程图在静态模式下,显示的文字信息停留在显示屏上而不做任何滚屏操作,显示屏可以作为电子条幅屏使用。静态模式程序流程图如图43所示。图43静态模式程序流程图4231616上滚模式程序流程图在1616上滚模式下,文字信息由下至上滚动显示,此模式可用于大量信息的快速显示。1616上滚模式程序流程图如图44所示。图441616上滚模式程序流程图4243232左滚模式程序流程图在3232左滚模式下,文字信息由右向左滚动显示。3232左滚模式程序流程图如图45所示。图453232左滚模式程序流程图425时间模式程序流程图在时间模式下,时间和文字信息可以分上、下屏同时显示。时间显示过程可分为日期滚动显示阶段和时间停留显示阶段。在日期滚动显示阶段,日期信息由右向左滚动显示;在时间停留显示阶段,时间和温度信息以静态模式显示。日期滚动显示和时间停留显示循环进行,文字信息则一直在下屏由右向左滚动显示。时间模式程序流程图如图46所示。图46时间模式程序流程图426主程序初始化程序流程图主程序初始化程序流程图如图47所示。图47主程序初始化程序流程图主控单片机的完整程序清单详见附录。5系统的仿真51PROTEUS仿真软件的介绍PROTEUS软件是英国LABCENTERELECTRONICS公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。52显示屏系统仿真的效果521静态模式下的仿真效果静态模式下的1616字符阳文仿真效果图如图51所示。静态模式下的1616字符阴文仿真效果图如图52所示。图51静态模式下的1616字符阳文仿真效果图图52静态模式下的1616字符阴文仿真效果图静态模式下的3232字符阳文仿真效果图如图53所示。静态模式下的3232字符阴文仿真效果图如图54所示。图53静态模式下的3232字符阳文仿真效果图图54静态模式下的3232字符阴文仿真效果图5221616上滚模式下的仿真效果1616上滚模式下的阳文仿真效果如图55所示。1616上滚模式下的阴文仿真效果如图56所示。图551616上滚模式下的阳文仿真效果图图561616上滚模式下的阴文仿真效果图5233232左滚模式下的仿真效果3232左滚模式下的阳文仿真效果如图57所示。3232左滚模式下的阴文仿真效果如图58所示。图573232左滚模式下的阳文仿真效果图图583232左滚模式下的阴文仿真效果图524时间模式下的仿真效果时间模式下的阳文仿真效果如图59、图510所示。时间模式下的阴文仿真效果如图511、图512所示。图59时间模式下的日期滚动阶段阳文仿真效果图图510时间模式下的时间停留阶段阳文仿真效果图图511时间模式下的日期滚动阶段阴文仿真效果图图512时间模式下的时间停留阶段阴文仿真效果图6PCB印刷电路板的设计61PCB设计软件PROTEL99SE介绍本设计采用PROTEL99SEPCB设计软件作为原理图和PCB的绘制工具。PROTEL是目前国内最流行的通用EDA软件,它是将电路原理图设计、PCB板图设计、电路仿真和PLD设计等多个实用工具软件组合后构成的EDA工作平台,是第一个将EDA软件设计成基于WINDOWS的普及型产品。PROTEL98率先集成了软件界面,PROTEL99增加了仿真功能和PLD设计和信号完整性分析。62元件布局及PCB整体结构工艺本设计为产品化设计,因此首要考虑元件布局的紧凑性。对元件布局进行优化,能有效的降低布线难度和生产的工艺要求。布局要能使各LED点阵模块紧密契合,还要注意各PCB之间的衔接,以便于用户扩展显示单元。63布线工艺与准则布线的时候首先考虑的是正确性,其次逐步修改布局及走线使其美观大方。在自动布线的基础上,根据100MIL/A的经验载流容量修改大电流路径走线宽度及过孔尺寸。遵守在安全间距的前提下尽量增加线宽的原则。本设计的LED显示单元PCB结构图如图61、图62所示。主控板PCB结构图如图63、图64所示。图61LED显示单元PCB顶层预览图62LED显示单元PCB底层预览图63LED显示屏系统主控板PCB顶层预览图64LED显示屏系统主控板PCB底层预览64PCB实物照片本设计的LED显示单元板PCB实物如图65、图66所示。主控板PCB实物如图67、图68所示。通信接口板实物如图69所示。图65LED显示单元板PCB实物正面图66LED显示单元板PCB实物背面图67LED显示屏系统主控板PCB实物正面图68LED显示屏系统主控板PCB实物背面图69通信接口板实物及与主控板的连接7LED显示屏的整体调试71LED显示单元板和主控板的焊接组装对照硬件原理图,焊接硬件。硬件实物图如图71、图72、图73、图74所示。焊接完成后,仔细检查主控板和每块显示单元板上的芯片焊接方向是否正确,在通电之前用万用表的二极管档测量电源端口,检查电源输入端是否有短路。确认无误后通电测试各测试点的电压电流值,检查是否在正常值范围内。将显示单元板进行级连,并连接主控板和通信接口板。图71LED显示单元板硬件实物正面图72LED显示单元板硬件实物背面图73LED显示屏系统主控板硬件实物正面图74LED显示屏系统主控板硬件实物背面72整体调试721LED显示屏的调试将测试程序烧写到主控单片机内,上电后观察发现LED显示屏显示的全部都是乱码,确认测试程序无误后,通过排除法逐一对每个芯片进行检查测试,最后发现连接到主控单片机P2口上的总线驱动器74HC245有些发热,怀疑是74HC245损坏,将其取下后更换,故障排除,显示屏可以显示预先存在测试程序里的文字信息。722通信单片机的通信调试考虑到通信过程中容易出现难以预料错误,在主控板的通信调试时没有将主控板直接与上位机软件进行测试,而是用串口调试助手与主控板进行通信测试。723主控板的整体调试将主控单片机与通信单片机中的测试程序擦除,分别烧写各自的程序。打开上位机软件进行数据的下载更新,通信成功后,LED显示屏可以按设定的模式显示文字。经过多次测试发现,在文字滚动的过程中,有些字符无法完整显示,而且这些无法完整显示的字符是无规律出现的,这就说明下载更新的字模数据没有问题。经多次检查发现,字符无法完整显示是由于系统实际使用的FLASH存储器比设计时的容量大所致的,这样多余的高位的地址线就悬空了,悬空的地址线受到干扰,进而导致读写数据时的地址发生错误。单片机无法正确地读取相应地址下的字模数据,因此不能完整的显示文字字符。将FLASH的高位地址引脚接地后,故障排除。73实际显示效果图各种模式下实际显示效果如图75、图76、图77、图78、图79、图710所示。图75静态模式下的1616字符阳文实际显示效果图图76静态模式下的1616字符阴文实际显示效果图图77静态模式下的3232字符阳文实际显示效果图74系统升级方案探讨任何一个完整的系统设计都会存在这样或那样的缺点和不足,都需要进行改进和升级,本系统也不例外,下面就实际的使用情况阐述本系统的不足之处和解决办法。实际使用中发现,LED显示屏整体有轻微的闪烁,这是由于主控单片机的处理速度不够导致的。可以考虑更换高频率的晶振来提高主控单片机的处理速度或者使用更高速的单片机芯片。由于复位电容受到滤波电容钳位作用的影响,导致单片机复位的失败。虽然本系统更换了大容量的复位电容,但是如果复位电容一旦出现失效、击穿等问题,复位电路的稳定性还是无法得到真正的保证。可以考虑使用专用的复位芯片来提供稳定的复位信号。主控单片机和通信单片机的时钟振荡电路均使用的是片内振荡器,当单片机受到干扰时,时钟信号可能也随之受到干扰,从而导致单片机程序运行的不稳定。可以考虑使用外部有源晶体振荡器为单片机提供稳定的时钟信号。以上是本系统在实际使用过程中发现的缺点和不足,相信在以后的长期使用中,可能还会发现一些现在没有发现问题,通过不断的改进和升级,系统将会更稳定的工作。8结论通过三个月的思考和钻研,终于完成了科研管理信息系统。这个程序完成的情况比较好,实现了预期的所有功能,达到了目的。此系统运行起来比较稳定,。在这个系统中,还有需要改进的地方,。本程序还可以在许多地方进行扩展,。(本部分最好不超过2页,但是一定要大于半页)结束语踉踉跄跄地忙碌了三个月,我的毕业设计课题也终将告一段落。(毕业设计感想、感悟,有哪些收获,半页到1页)致谢。首先,我要特别感谢我的本科毕业设计指导老师。其次我还要感谢我的负责老师。各位任课老师的认真负责。朋友之间的相互帮助、。最后,我要感谢的是我最亲爱的父母。(半页到1页)参考文献1周兴华基于51系列单片机的LED显示屏开发技术M北京北京航空航天大学出版社,20062周兴华单片机智能化产品C语言设计实例详解M北京北京航空航天大学出版社,20063靳桅等基于51系列单片机的LED显示屏开发技术M北京北京航空航天大学出版社,20094蒋辉平基于PROTEUS的单片机系统设计与仿真实例M北京机械工业出版社,20095周润景PROTEUS入门实用教程M北京机械工业出版社,20076胡汉才单片机原理及其接口技术M2版北京清华大学出版社,20047徐爱钧8051单片机实践教程M北京电子工业出版社,20058张义和例说51单片机C语言版M北京人民邮电出版社,20089赵建领51系列单片机开发宝典M北京电子工业出版社,200710赵建领PROTEL电路设计与制版宝典M北京电子工业出版社,200711赵建领PROTEL99SE设计宝典M北京电子工业出版社,200712江志红51单片机技术与应用系统开发案例精选M北京电子工业出版社,200713戴佳,戴卫恒,刘博文51单片机C语言应用程序设计实例精讲第2版M北京电子工业出版社,200714任涛等闪速存储器数据及应用简明速查手册M北京电子工业出版社,199715姜承昊最新LED驱动电路设计、应用与制造新技术新工艺实用手册M北京中国科学技术文献出版社,2008316张凯LED介绍完全手册M北京北京航空航天大学出版社,2000附录LED点阵显示单元电路图附录LED点阵显示屏系统主控板电路图附录LED显示屏系统元件清单元器件名称型号个数51单片机AT89S522温度传感器DS18B201静态RAM62641FLASH存储器AT29C02018D锁存器74HC3732总线驱动器74HC2454232电平转换MAX232138译码器74HC138(SOP)16总线驱动器74HC245(SOP)8串行数据锁器74HC595(SOP)32LED驱动芯片4953(SOP)64LED点阵LG12088H64时钟芯片DS13021晶振221184MHZ1晶振24MHZ1晶振32768KHZ1电阻4701电阻1K4电阻10K1电阻22K1贴片电阻10K32贴片电容10440陶瓷电容30P4独石电容1049铝电解电容470U2铝电解电容220U16铝电解电容10U1超级电容5V/022F1发光二极管红、绿3三极管2SC8050/2SA85504按钮开关5电源端子98脚单排插座12814脚双排插座IDC141810脚双排插座IDC104串口母头DB9F1附录LED点阵显示屏系统设计作品实物附录主控单片机程序清单SCKBITP30RCKBITP31BUSYBITP32DOWNBITP33OEBITP34SELBITP35SEL_0BITP15DATA1BITP16DATA2BITP17T_STOPDATA60HT_LOADTFDATA61H变量的定义ORG0000HLJMPSTARTORG0033H初始化程序STARTSETBBUSYSETBDOWN初始化联络控制线SETBSEL_0SETBSELMOVSP,80HMOVR0,0FFHCLRASTA1MOVR0,ADJNZR0,STA1内部RAM清零WAITMOVC,DOWNJCWAITCLRSEL_0CLRSELMOVDPTR,0001H判断FLASH中是否有数据,如果FLASH中MOVXA,DPTR没有数据,则转到新数据下载处理JNZREAD_CROLMOVDPTR,0002HMOVXA,DPTRSETBSELSETBSEL_0JNZREAD_CROLNOTHINGMOVC,DOWN等待启动信号JNCNOTHINGLJMPNEW_DATA读控制字READ_CROLCLRSEL从FLASH中读取控制字CLRSEL_0MOVR0,30H控制字内部RAM存放首址MOVR7,32共32字节控制字MOVDPTR,0000HREAD_CROL_0MOVXA,DPTRMOVR0,AINCR0INCDPTRDJNZR7,READ_CROL_0SETBSELSETBSEL_0MODE_SELMOVR0,30H模式选择跳转CJNER0,0,MODE_SEL1LJMPMODE_0MODE_SEL1CJNER0,1,MODE_SEL2LJMPMODE_1MODE_SEL2CJNER0,2,MODE_SEL3LJMPMODE_2MODE_SEL3CJNER0,6,MODE_SEL4LJMPMODE_6MODE_SEL4LJMPNOTHING新数据处理NEW_DATASETBBUSY新数据处理MOVR7,20DJNZR7,MOVC,DOWNJNCDATA_DONE再次确认新数据下载信号LCALLCLR_RAM清除RAM缓冲区的内容CLRBUSY回应准备完成信号WAIT_DONEMOVC,DOWN等待启动信号JCWAIT_DONESETBBUSY返回准备完毕信号DATA_DONELJMPSTARTCLR_RAMSETBSEL清除RAM缓冲区CLRSEL_0MOVDPTR,0000HMOVR7,05MOVR6,00MOVA,0FFHCLR_RAM1MOVXDPTR,AINCDPTRDJNZR6,CLR_RAM1MOVR6,00DJNZR7,CLR_RAM1SETBSEL_0RETCLR_RAMTSETBSEL清除时间缓冲区CLRSEL_0MOVDPTR,0000HMOVR7,16MOVR6,17MOVA,0FFHCLR_RAMT1MOVXDPTR,AINCDPTRDJNZR6,CLR_RAMT1MOVR6,17DJNZR7,CLR_RAMT1SETBSEL_0RETADD_RAMMOVA,21HRAM地址加减程序CLRCADDA,1MOV21H,AJNCADD_RAM_OUTINC20HADD_RAM_OUTRETDEC_RAMMOVA,21HCLRCSUBBA,1MOV21H,AJNCDEC_RAM_OUTDEC20HDEC_RAM_OUTRETADD_ROMMOVA,23HROM地址加减程序CLRCADDA,1MOV23H,AJNCADD_ROM_OUTINC22HADD_ROM_OUTRETDEC_ROMMOVA,23HCLRCSUBBA,1MOV23H,AJNCDEC_ROM_OUTDEC22HDEC_ROM_OUTRETMODE_0LCALLCLR_RAM静态模式MODE_00MOV28H,00HMOV29H,20H字模数据在ROM中存入首址0020HLCALLM0_LOADM0_SCANM0_SCAN0MOV20H,00HMOV21H,0FH扫描缓冲区数据首址HEXL21MOVR1,00H行扫描数据初值LCALLUP_SEND向显示单元发送字模数据M0_SCAN2CLRRCKSETBRCKMOVP1,R1扫描ABCD为P1低四位CLROECLRCMOVA,21HADDA,32转到下一行缓冲区地址L2L2MOV21H,AJNCM0_SCAN3INC20HM0_SCAN3LCALLUP_SEND向显示单元发送字模数据INCR1SETBOECJNER1,10H,M0_SCAN2MOVC,DOWNJNCM0_SCAN4LJMPNEW_DATA判断是否有新数据下载M0_SCAN4LJMPM0_SCAN0MODE_1LCALLCLR_RAMMODE_10MOV28H,00HMOV29H,20H字模数据在ROM中存入首址0020HLCALLM1_LOADMOVR2,00HMOVR3,00H字数计数器初值MOVR4,8每移8行字,加载新字MOVR5,33H移动速度设置M1_SCANM1_SCAN0MOV20H,00HMOV21H,0FH扫描缓冲区数据首址HEXL21MOVR1,00H行扫描数据初值M1_SCAN1LCALLUP_SEND向显示单元发送字模数据M1_SCAN2CLRRCKSETBRCKMOVP1,R1扫描ABCD为P1低四位CLROECLRCMOVA,21HADDA,32转到下一行缓冲区地址L2L2MOV21H,AJNCM1_SCAN3INC20HM1_SCAN3LCALLUP_SEND向显示单元发送字模数据INCR1SETBOECJNER1,10H,M1_SCAN2MOVC,DOWN判断是否有新数据下载JNCM1_SCAN4LJMPNEW_DATAM1_SCAN4DJNZR5,M1_SCAN0滚动速度控制MOVR5,33HLCALLM1_SHIFT调用移动子程序DJNZR4,M1_SCAN0MOVR4,8移动次数判断LCALLM1_LOADMOVA,R3CLRCADDA,8字数计算LMOVR3,AJNCM1_SCAN5INCR2M1_SCAN5CJNEA,32H,M1_SCAN0MOVA,R2CJNEA,31H,M1_SCAN0LJMPMODE_10MODE_2LCALLCLR_RAM16X16上滚模式MODE_20MOV28H,00HMOV29H,20H字模数据在ROM中存入首址0020HLCALLM2_LOADMOVA,31HCLRCRRCAMOV2AH,AMOVA,32HRRCAMOV2BH,A字符数除以2MOVR2,00HMOVR3,00H字数设定MOVR4,8每移一个字,加载新字MOVR5,33H移动速度设置M2_SCANM2_SCAN0MOV20H,00H32X32左滚模式MOV21H,0FH扫描缓冲区数据首址HEXL21MOVR1,00H行扫描数据初值M2_SCAN1LCALLLF_SEND向显示单元发送字模数据M2_SCAN2CLRRCKSETBRCKMOVP1,R1扫描ABCD为P1低四位CLROECLRCMOVA,21HADDA,33转到下一行缓冲区地址L2L21MOV21H,AJNCM2_SCAN3INC20HM2_SCAN3LCALLLF_SEND向显示单元发送字模数据INCR1SETBOECJNER1,10H,M2_SCAN2MOVC,DOWNJNCM2_SCAN4LJMPNEW_DATA检测是否有新数据下载M2_SCAN4DJNZR5,M2_SCAN0滚动速度控制MOVR5,33HLCALLM2_SHIFTDJNZR4,M2_SCAN0MOVR4,8移动次数判断LCALLM2_LOADMOVA,R3CLRCADDA,1MOVR3,AJNCM2_SCAN5INCR2字符数计数M2_SCAN5CJNEA,2BH,M2_SCAN0MOVA,R2CJNEA,2AH,M2_SCAN0LJMPMODE_20MODE_6LCALLCLR_RAM时间模式MOV28H,01DHMOV29H,000H时间字模数据在RAM中存入首址0020HLCALLGET_DLCALLM6_LOADTMOV62H,37H时间移动速度设置MOV64H,9每移一个字符加载新字符MODE_60MOV2AH,00HMOV2BH,20H文字字模数据在ROM中存入首址HEX2L2816LCALLM6_LOADDMOVR2,00HMOVR3,00H字数设定MOV63H,33H文字移动速度设置MOV65H,9每移一个字符加载新字符M6_SCANM6_SCAN0MOV20H,00HMOV21H,0FH扫描缓冲区数据首址HEXL21MOVR4,00H行扫描数据初值M6_SCAN1LCALLLF_SEND向显示单元发送字模数据M6_SCAN2CLRRCKSETBRCKMOVP1,R4扫描ABCD为P1低四位CLROECLRCMOVA,21HADDA,33转到下一行缓冲区地址L2L21MOV21H,AJNCM6_SCAN3INC20HM6_SCAN3LCALLLF_SEND向显示单元发送字模数据INCR4SETBOECJNER4,10H,M6_SCAN2MOVC,DOWN判断是否有新数据下载JNCM6_SCAN7LJMPNEW_DATAM6_SCAN7DJNZ62H,M6_SCAN8MOV62H,37H时间移动速度设置DJNZ64H,M6_SCAN9MOV64H,9每移一个字,加载新字LCALLM6_LOADTLJMPM6_SCAN8M6_SCAN9MOVA,T_STOPJNZM6_SCAN8LCALLM6_SHIFTM6_SCAN8DJNZ63H,M6_SCAN0MOV63H,33H文字移动速度设置DJNZ65H,M6_SCAN10MOV65H,9LCALLM6_LOADDMOVA,R3CLRCADDA,1MOVR3,AJNCM6_SCAN11INCR2字数计数器计数M6_SCAN11LJMPM6_SCAN6M6_SCAN10LCALLM6_SHIFDM6_SCAN6MOVA,R3CJNEA,32H,M6_SCAN0MOVA,R2CJNEA,31H,M6_SCAN0LJMPMODE_60M0_LOADM0_LOADMOV20H,00H静态模式加载子程序MOV21H,00H缓冲区首址HEXL232MOVR6,32MOVR7,16每行字加载L28字节数据CLRSEL_0M0_LOAD1CLRSELMOVDPH,28HMOVDPL,29HMOVXA,DPTR将字模数据存入预缓冲区INCDPTRMOV28H,DPHMOV29H,DPLSETBSELMOVDPH,20HMOVDPL,21HMOVXDPTR,AINCDPTRMOV20H,DPHMOV21H,DPLDJNZR7,M0_LOAD1MOVR7,16DJNZR6,M0_LOAD1SETBSEL_0RETM1_LOADM1_LOADMOV20H,002H16X16上滚模式加载子程序MOV21H,000H预缓冲区首址HEXL232MOVR7,128每行字加载128字节数据CLRSEL_0M1_LOAD1CLRSELMOVDPH,28HMOVDPL,29HMOVXA,DPTR将字模数据存入预缓冲区INCDPTRMOV28H,DPHMOV29H,DPLSETBSELMOVDPH,20HMOVDPL,21HMOVXDPTR,AINCDPTRMOV20H,DPHMOV21H,DPLDJNZR7,M1_LOAD1SETBSEL_0RETM0_LOADM2_LOADMOV20H,00H32X32左滚模式加载子程序MOV21H,10H上半屏预缓冲区首址HEXL2MOVR7,32每个字加载32字节数据CLRSEL_0M2_LOAD1CLRSELMOVDPH,28HMOVDPL,29HMOVXA,DPTR将字模数据存入预缓冲区INCDPTRMOV28H,DPHMOV29H,DPLSETBSELMOVDPH,20HMOVDPL,21HMOVXDPTR,ACLRCMOVA,21HADDA,17下一行字模预缓冲地址,相邻两行地址相差L21MOV21H,AJNCM2_LOAD2INC20HM2_LOAD2DJNZR7,M2_LOAD1SETBSEL_0RETM6_LOADT1MOV20H,00H时间模式加载子程序MOV21H,10H上半屏预缓冲区首址HEXL2MOVR7,16每个字加载16字节数据CLRSEL_0M6_LOAD0SETBSELMOVDPH,28HMOVDPL,29HMOVXA,DPTR将字模数据存入预缓冲区INCDPTRMOV28H,DPHMOV29H,DPLMOVDPH,20HMOVDPL,21HMOVXDPTR,ACLRCMOVA,21HADDA,17下一行字模预缓冲地址,相邻两行地址相差L21MOV21H,AJNCM6_LOAD1INC20HM6_LOAD1DJNZR7,M6_LOAD0SETBSEL_0INCR1RETM6_LOADM6_LOADTCJNER1,44,M6_LOADT1时间字显示完毕停止值282LLCALLGET_TMOVA,T_LOADTFJNZM6_LOADT2LCALLM6_LOADTFM6_LOADT2MOV50H,42H更新时间停留时的时间,温度数据到时间缓冲区中MOV2EH,00HMOV2FH,00HLCALLSAVE_NEWTMOV50H,41HMOV2EH,00HMOV2FH,03HLCALLSAVE_NEWTMOV50H,40HMOV2EH,00HMOV2FH,06HLCALLSAVE_NEWTMOVA,48HMOVDPTR,POS_SEGJZPOSTMOVDPTR,NEV_SEGPOSTMOV55H,DPHMOV56H,DPLMOV20H,00HMOV21H,09HLCALLUPDATA_NUMMOV50H,49HMOV2EH,00HMOV2FH,0AHLCALLSAVE_NEWTMOV50H,4AHMOV2EH,00HMOV2FH,0CHLCALLSAVE_NEWTMOVDPTR,DOT_SEGMOV55H,DPHMOV56H,DPLMOV20H,00HMOV21H,0CHLCALLUPDATA_NUMINC67HMOVA,67HCJNEA,36H,M6_LOADT3时间停留控制MOV67H,00MOVT_STOP,00MOVT_LOADTF,00MOVR1,00LCALLCLR_RAMTMOV28H,01DHMOV29H,000H时间字模数据在RAM中存入首址LCALLGET_DM6_LOADT3RETM6_LOADTFMOVT_STOP,1初次加载时间停留固定字符MOVT_LOADTF,1MOVDPTR,NOD_SEGMOV55H,DPHMOV56H,DPLMOV20H,00HMOV21H,02HLCALLUPDATA_NUMMOVDPTR,NOD_SEGMOV55H,DPHMOV56H,DPLMOV20H,00HMOV21H,05HLCALLUPDATA_NUMMOVDPTR,TMP_SEG1MOV55H,DPHMOV56H,DPLMOV20H,00HMOV21H,0EHLCALLUPDATA_NUMMOVDPTR,TMP_SEG2MOV55H,DPHMOV56H,DPLMOV20H,00HMOV21H,0FHLCALLUPDATA_NUMRETM6_LOADDMOV20H,01HMOV21H,20H下半屏预缓冲区首址HEXL21171MOVR7,16每个字加载16字节数据CLRSEL_0M6_LOAD2CLRSELMOVDPH,2AHMOVDPL,2BHMOVXA,DPTR将字模数据存入预缓冲区INCDPTRMOV2AH,DPHMOV2BH,DPLSETBSELMOVDPH,20HMOVDPL,21HMOVXDPTR,ACLRCMOVA,21HADDA,17下一行字模预缓冲地址,相邻两行地址相差L21MOV21H,AJNCM6_LOAD3INC20HM6_LOAD3DJNZR7,M6_L

温馨提示

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

评论

0/150

提交评论