《led点阵显示屏驱动器的设计与实现--大学毕业论文.doc》由会员分享,可在线阅读,更多相关《led点阵显示屏驱动器的设计与实现--大学毕业论文.doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 学科分类号 0806 本科生毕业论文(设计)题目(中文): LED点阵显示屏驱动器的设计与实现 (英文):The Design and Implementation of LED Dot Matrix Display Driver 本科毕业论文(设计)诚信声明作者郑重声明:所呈交的本科生论文(设计),是在指导老师的指导下,独立进行研究所取得的成果,成果不存在知识产权争议。除文中已近注明引用的内容外,论文不含任何其他个人或集体已经发表或撰写过的成果。对论文的研究做出重要贡献的个人和集体均已在文中以明确的方式标明。本声明的法律结果由作者承担。本科生论文(设计)作者签名:年 月 日目 录摘 要II
2、I关键词IIIAbstractIIIKeywordsIV1 引言12 总体设计方案32.1 设计任务与要求32.2.1 基本要求42.2.2 发挥部分43 系统硬件设计43.1 整体电路43.2 AT89S52单片机最小系统63.3 标准08接口73.4 键盘模块93.5 LED显示模块93.6 列驱动模块103.7 行驱动模块114 系统软件设计124.1 显示驱动程序124.2 汉字字模的提取方法134.3 程序流程图144.4 显示子程序165 系统调试与分析185.1 硬件调试185.2 软件调试196 总结20参考文献21致 谢23附录24附录A 实物显示效果图24附录B 主程序24
3、LED点阵显示屏驱动器的设计与实现摘 要本文设计了一个以整机为美国ATMEL公司生产的40脚单片机AT89S521为控制核心,以一个64*32点阵模块控制器,根据标准的08控制接口要求,可以驱动市面上常见的16扫单色显示屏,显示汉字、英文、阿拉伯数字及其他信息等。同时通过调用HZK16*16标准汉字库文件读取字模的方法,把汉字从上位机发送到LED显示屏控制卡上。整个系统提供外部扩展,包括常规点阵控制器模块。该系统实现了1/16扫描驱动电路等功能,并能通过PC机串口修改程序对显示信息进行控制更新,具有刷新速度快、亮度高、功耗低等特点。 关键词 LED点阵控制器;AT89S52;1/16扫;08接
4、口The Design and Implementation of LED Dot Matrix Display Driver Abstract This paper has designed a machine based on the model which is produced by ATMEL company in the United States with a 40 feet MCU AT89S52 as the control core, 1 and a 64 * 32 dot matrix module controller, so according to the requ
5、irements of the standard 08 control interface, it also can drive the common on the market of 16 monochrome display, display Chinese character, English, Arabic Numbers, and other information, etc. At the same time, by adopting the method of reading Chinese characters from the HZK16 * 16 standard docu
6、ments, and the Chinese characters from the upper machine sent to LED display control card, the entire system also provides the external expansion, including regular lattice controller module. This system has realized the function of updating the controlling of 1/16 scan driver circuit, and it also o
7、btains other functions, such as ,and with a faster shuabing, a higher brighter and a lower energy-need and waste, etc. Key words LED dot matrix controller; 89S52; 1/16 sweep; 08 Interface281 引言 LED(lightemittingdiode,发光二极管)是六十年代末发展起来的一种半导体显示器件。七十年代,随着半导体材料合成技术、单晶制造技术和P一结形成技术的研究进展,发光二极管在发光颜色、亮度等性能方面得
8、以提高,并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平面显示产品即LED显示屏。由于LED具有发光率高、使用寿命长、组态灵活、工作性能稳定以及在室内室外适应力强等优点,且LED显示屏的最大特点是不受面积的限制,可以达到几十甚至几百平方米以上,应用于室内外各种公共场所显示文字、图形、动画、视频图像等各种信息。LED显示屏的应用涉及到社会经济的许多领域,主要包括:机场、港口、车站旅客引导信息显示;证券交易、金融信息显示;邮政、电信、商场购物中心等服务领域的业务宣传及信息显示;道路交通信息显示;高校教学管理信息发布显示;文艺演出和体育比赛;室外产品广告
9、及信息发布。除单一大型户内、户外显示屏作为广告媒体外,国内一些城市还出现了集群LED显示屏广告系统。另外,自2000年后随着高亮度LED产品亮度与效率增进,可携式产品(如手机、PDA、数字相机等)大量使用作为产品屏幕或按键光源,配合可携式产品市场成长,使得可携式产品成为LED最大应用市场。随着电子技术的发展,LED点阵书写显示屏是信息传播一种重要手段,成为现代化社会的一个闪亮标志,它的广泛应用将是一种趋势。因此,在科技以日新月异的速度向前发展,经济全球一体化的社会中,LED点阵显示技术发展前景乐观。 作为一种新型的发光体,LED自诞生以来就倍受关注。特别是进入21世纪后,世界面临严重的能源、环
10、境危机,在发达国家,照明用电占总用电量的20%;我国的照明用电约占总用电量的12%,至2010年,我国照明用电将高达3000亿度,相当于三峡水电站完工后的年发电量的3倍以上。而目前我国的发电主要还是依靠火力,对于环境的污染非常严重,这就需要改进现有的照明设备,提高其效率。而半导体照明作为新兴的发光体,具有电光效率高、体积小、寿命长、电压低、节能和环保等优点,是下一代照明的不二之选。根据各种照明器件的效率,可以得出,LED与传统的白炽灯、日光灯相比,在电光效率、寿命上占有绝对的优势,一旦在成本、光效上取得突破,将很快占领照明市场。因而,现今不管是国内还是国外我们都是围绕先进的LED技术做进一步研
11、究。 目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。因此本设计课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。 在设计本课题时本人查阅了大量的书籍和相关知识使我能够掌握LED点阵显示驱动的基本显示原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我对所学过的理论知识有了新的认识。并且通过本设计课题学习掌握AT89S52单片机的控制功能和用它作为主控单元完成许多设
12、计目标的方法。熟悉AT89S52单片机软件编程。且能掌握使用AD进行电路设计和制图的方法步骤。为以后从事相关行业的工作积累了实际工作经验。 因此,学习LED点阵显示驱动与工程技术很有必要。本文通过设计一个可显示文字与图形的64*32点阵控制器来学习和熟悉LED的使用。 本文采用89S52单片机为核心,在软件编程中采用C语言,显示时采用点阵显示。讲述了LED点阵显示驱动的基本原理、硬件组成与设计、程序编译与下载等基本环节和相关技术。2 总体设计方案2.1 设计任务与要求本系统由AT89S52、16个74HC5952、16个74HC1383及LED显示屏为核心组成的点阵式LED汉字显示屏,主要由2
13、4MHZ晶振电路、复位电路、89S52单片机、点阵阳极驱动电路、点阵阴极驱动电路、64*32显示屏6部分组成。采用的AT89S52单片机最小化应用设计,P1口作为I/O口,输出行数据和控制信号,P2口作为I/O口,与“写”控制信号配合,输出列控制信号。LED显示采用动态扫描方式实现,控制电路部分由4片74HC138和2片74HC595传输信号,传输出来的信号通过74HC595输出,再通过编译最终达到依次显示汉字的目的。而接口部分,一般采用08接口,如果需要不同的接口类型,可以根据08接口为基础进行转接,这也是本系统采用08接口的原因之一。 2.2 设计要求2.2.1 基本要求(1)显示区域:6
14、4点*32点,单色;(2)通过上位机修改显示内容;(3)能存储16*16点阵汉字数不少于64个;(4)按键可改变显示内容;(5)可兼容T12和T08显示屏单元板。2.2.2 发挥部分(1)LED显示屏亮度连续可调;(2)实现信息的左右滚屏显示,预存信息的的定时循环。3 系统硬件设计3.1 整体电路 本系统由AT89S52、16个74HC595及LED显示屏为核心组成的点阵式LED汉字显示屏,主要由24MHZ晶振电路、复位电路、单片机、点阵阳极驱动电路、点阵阴极驱动电路、64*32显示屏6部分组成。采用的AT89S52单片机最小系统设计,P1口作为I/O口,输出行数据和控制信号,P2口作为I/O
15、口,与“写”控制信号配合,输出列控制信号。LED显示采用动态扫描方式实现,控制电路部分由4片74HC138和2片74HC595传输信号,传输出来的信号通过74HC595输出,再通过编译最终达到依次显示汉字的目的。系统整体电路如图3.1所示:图3.1 整体电路 本设计一般使用的是开关电源,220V输入,5V直流输出。需要指出,由于LED显示屏幕属于精密电子设备,所以要采用开关电源4,不能采用变压器。对于1个单红色户内64*32的单元板,全亮的时候,电流为2A。选用的是条屏控制卡,可以控制1/16扫的64*32个点的单色屏幕,可以组装出最有成本优势的LED屏幕。该控制卡属于异步卡,就是说,该卡可以
16、断电保存信息,不需要连接PC都可以显示储存在里面的信息。 其中注意的问题是16PIN、08接口的接口顺序为:ABCD为行选信号,STB(LT)为锁存信号,CLK(CK)为时钟信号,R1,R2,G1,G2为显示数据,EN为显示使能,N为地(GND)。只有当单元板和控制卡的接口一致时,才可以直接连接起来。如果不一致,就需要利用转换线转换一下线的顺序。3.2 AT89S52单片机最小系统 单片机5也被称作“单片机微型计算机”、“微控制器”,国际上采用“MCU”(Micro Controller Unit)称呼单片机。单片机的发展的历史大致可以分为4个阶段。第一阶段是单片机探索阶段,主要探索如何把计算
17、机的主要部件集成在单芯上;第二阶段是单片机完善阶段,完善了8位单片机的并行总线结构、外围功能单元由CPU集中管理模式、体现控制特性的位地址空间和位操作方式、指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令;第三阶段是向微控制器发展的阶段,说的是在51系列的基本结构的基础上,加强了外围电路的功能,突出了单片机的控制功能,将一些用测控对象的模数转换器、数模转换器、程序运行监视器、脉宽调制器等纳入芯片中,体现单片机的微控制器特征;第四阶段是单片机的全面发展阶段,很多大半导体和电气厂商都开始加入单片机的研制和生产,单片机世界出现了百花齐放,欣欣向荣的景象。随着单片机在各个领域全面深入地发展和应
18、用,出现了高速、大寻址范围、强运算能力的8位、16位、32位通用型单片机,以及小型谦价的专用型单片机。目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装等方面发展。最小系统包括AT89S52、晶体振荡电路、复位开关。其中晶体振荡电路6采用24MHZ,图3.2为AT89S52单片机最小系统。图3.2 最小系统电路图3.3 标准08接口单元板输入08接口7的接口定义如图3.3所示:图3.3 08接口ABCD是4个行选信号,实际上是用4个二进制位计数来实现的。A为最低位,D为最高位,从0记录到15,板子上的2个
19、138组成一个4-16译码器,会自动选通第0行和第15行。 R0、R1、G0、G1分别是红色和不亮的595的数据,SCK和LT分别是595的时钟和锁存,OE是整个单元板的显示时能,OE为0时单元板暗亮,为1时高亮。OE是为了适应不同厂家的单元板信号的。 一个单元板的宽和高的点数是64*32点,分上下两个半屏,两个半屏共用时钟、锁存和OE、R0、G0是上半屏数据,R1、G1是下半屏数据。从单元板的显示面看,数据是从右侧向左输入,一行是64个点,也就是通过8个595控制,因为是单色,每个半屏是两行595,整个屏是4行595。 单元板控制卡工作顺序:把显示缓冲里的第一行红色数据送往R0,显缓的第8行
20、红色数据送往R1,每行是8个数据关闭OE使能行选选中第0行、LT锁存开启OE使能,9数据显示。间隔一定时间3-5ms,重复以上循环,行选第1行,送第1行和第9行数据.间隔一定时间3-5ms,重复以上循环,行选第2行,送第2行和第10行数据.以此类推。3.4 键盘模块 键盘、状态显示模块:为了使软件编程简单,本设计利用可编程芯片8255。接法如图一所示,PA口接按键,PC口则用用于控制状态显示所用LED点阵。每个按键都通过一个10K的上拉电阻接+VCC,按键的另一端接地。当有键按下时,与该键相连的PA口的相应位变为低电平,单片机检测到该变化后即转到相应是键处理程序,同时在程序中点亮LED点阵模块
21、电路如图3.4。 图3.4 键盘电路3.5 LED显示模块 点阵系统串行输入,器件为移位寄存器TPIC6B5955958,门控和扫描信号常以16点阵为一行进行并行处理。在点阵显示中以4*8个LED点阵构成一个LED显示单元,采用行共阳阴共列的编排方式。其驱动分为行列两部分,分别来自于行、列移位寄存器,行数据是扫描数据,16行中每次只有一行被驱动,采用逐行扫描方式,列数据则为汉子的点阵码。对于字符和图形显示也可以用点阵处理。其显示原理和方法相同,如图3.5。 图3.5 LED显示电路3.6 列驱动模块 本设计采用了74HC595是LED列驱动芯片,8位移位锁存器用于驱动显示列,每片74HC595
22、可以驱动8列,多片74HC595串接在一起,串行列数据信号RI(DATA)、锁存信号STB、串行时钟信号CLK都在这个芯片上。第8脚:GND,电源地。第16脚:VCC,电源正极。第14脚:DATA,串行数据输入口,显示数据由此进入,必须有时钟信号的配合才能移入。第13脚:EN,始能口,当该引脚上为“1”时QAQH口全部为“1”,为“0”时QAQH的输出由输入的数据控制。第12脚:STB,锁存口,当输入的数据在传入寄存器后,只有供给一个锁存信号才能将移入的数据送QAQH口输出。第11脚:CLK,时钟口,每一个时钟信号将移入一位数据到寄存器。 由于要显示64*32个单元,必须采用74HC595级联
23、的方式来实现,本设计两片74HC595列驱动模块级联如下图3.6所示:图3.6 两片74HC595级联3.7 行驱动模块 32*64点阵屏共用16片138级联,通过总线驱动芯片74LS254驱动行/列信号,从总线上的低4位输出的行号经两片138级联后形成4/16线译码器后生成16条行选信号,再经过驱动管驱动对应的行线。一条线上要带动32列的LED灯同时发光时,按每一LED器件15MA电流计算,32个LED同时发光时,需要480MA的电流,选用三极管8550作为驱动管可以满足要求。74LS138为3线8线译码器,其工作原理为:当一个选通端(E1)为高电平,另外两个选通端E2和E3为低电平时,可将
24、地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出,当数据超过8位之后,电平拉高后可对16数据操作。四片级联后的138电路如下图3.7所示: 图3.7 四片74HC138级联4 系统软件设计4.1 显示驱动程序显示驱动程序在进入中断后,首先要对定时器重新赋值,以保证显示刷屏新率的稳定,1/32扫描显示屏的刷新率(帧频)计算公式如下: 刷新率(帧频)= (式4.1) 溢出率 (式4.2) 其中为fosc晶振频率9,t0为定时器T0初值(工作在32位定时器模式)。由公式可知,显示屏刷频新率由定时器T0的溢出率和单片机的晶振频率决定,因此,我们调试时首先选定晶振频率,然后给定
25、不同的初值T0,只要能获得24MHz以上的刷新频率,就能连续稳定的显示,而且刷新率越高,显示越稳定,但会过多的占用CPU时间,实验证明,24MHz晶振时刷新率达到50MHz以上,目测画面基本无闪烁发生。4.2 汉字字模的提取方法l6*16点阵汉字字库可以在中文操作软件(UCDOS)中找到现成的文件。一般汉字字库均符合国家标准GB2312-80的规定。在汉字系统中使用机内码形式存储汉字,国标码的最高位置l作为汉字的机内码。而国标码由两个字节组成,其中高字节表示区,低字节表示位。国标码和区位码都有94个区,每个区又都有94个位。1-9区为图形区,10-15区未规定,16-87区存放一、二级汉字库。
26、 国标码和区位码的关系是:国标码高字节 = 区码 + 20H; 国标码低字节 = 位码 + 20H。所以,机内码与国标码和区位码的关系是:机内码高字节 = 国标码高字节 + 80H = 区码 + A0H;机内码低字节 = 国标码低字节 + 80H = 位码 + A0H。字模代码按照区位码的顺序在字库中以二进制格式存储,每个汉字占用32个字节。因此只要找到汉字代码的起始位置,就可正确提取汉字点阵信息。对于不同的字库,汉字代码起始位置的计算方法可能存在差异,例如HZK16若以ADDRESS表示首地址,Q表示区码,W表示位码,经分析和实践得出HZK16中汉字首地址计算公式为: ADDRESS = 3
27、2 ( Q-1 ) 94 +( w-1 ) (式4.3)在VB.NET中,获取汉字区位码可以用ASC( )函数和HEX( )函数,函数ASC( )返回一个Integer数据10,代表字符串中首字母的字符代码。HEX( )函数返回代表十六进制数值的字符串。当汉字作为ASC( )函数的参数时,返回的是汉字机内码,经HEX( )函数转换即可得到汉字机内码的十六进制数,再通过公式就可以得到汉字的首地址,有了汉字的首地址再从字库中提取汉字代码,而经过扩展取两次字模得到32*64的点阵字模。4.3 程序流程图显示屏的程序流程图如下所示:程序初始化中断程序初始化 传入参数 为移动速度左移或者闪烁显示 是否显
28、示完N串口发送显示命令Y将显示缓存送显示屏 显示,扫描32行 图5.2 程序流程图 首先程序输入进来的时候进行初始化,然后接着中断程序初始化,将中断配置成需要的模式,用户就可以实现初始配置的功能,然后用if语句进行判断,如果判断为正确就传入参数为移动速度,设定显示所需要的参数,如果参数不正确显示就会有错误,如果不是就执行左移或闪烁命令,再进行串口发送显示命令,用于配置相应显示的功能,RAM将显示缓存输入到显示屏进行扫描显示,显示用户配置的信息,扫描完成后程序返回中断程序初始化进行下一次的扫描显示。 具体的程序代码如下所示:void Send_one_line(void)char s;uchar
29、 TEMP0;uchar TEMP1;uchar i;uchar inc;bit e1,e2;if(col8) inc=0; /判断是否闪烁显示if(8=col&col16) inc=1;if(16=col&col24) inc=2;if(24=col&col32) inc=3;for(s=0+inc;s=8+inc;s+) TEMP0=Combine_2byte(BUFFDOWNs,BUFFDOWNs+1);TEMP1=Combine_2byte(BUFF_UPs,BUFF_UPs+1);for(i=0;ii)&0x01; /取出最高位e2=(TEMP0i)&0x01; /取出最高位R1=e
30、1;R2=e2;CLK=0;CLK=1; /移位时钟 4.4 显示子程序开始查找显示汉字数据放入RAM中将数据串行传入TPIC6B595行扫描32行是否扫完返回图5.3 显示子程序流程 首先初始化,将查找显示汉字数据导入RAM中,然后将RAM中的汉字编码数据传入TPIC6B595中,先进行上半屏的16行扫描,再接着把数据装载入下半屏的16行进行扫描,用while语句判断是否扫描完成,当32行全部扫完时返回子程序进行下一次扫描。具体程序代码如下所示:void Load_one_line(void)BUFF_UP0=Tableworddisrow*4+0; /装载上半数据串行放在TPIC6B59中
31、BUFF_UP1=Tableworddisrow*4+1;BUFF_UP2=Tableworddisrow*4+2;BUFF_UP3=Tableworddisrow*4+3;BUFF_UP4=Tableword+1disrow*4+0;BUFF_UP5=Tableword+1disrow*4+1;BUFF_UP6=Tableword+1disrow*4+2;BUFF_UP7=Tableword+1disrow*4+3;BUFF_UP8=Tableword+2disrow*4+0;BUFF_UP9=Tableword+2disrow*4+1;BUFF_UP10=Tableword+2disrow
32、*4+2;BUFF_UP11=Tableword+2disrow*4+3;BUFF_UP12=Tableword+3disrow*4+0;BUFF_UP13=Tableword+3disrow*4+1;BUFF_UP14=Tableword+3disrow*4+2;BUFF_UP15=Tableword+3disrow*4+3;BUFF_UP16=Tableword+4disrow*4+3;BUFFDOWN0=Tableword64+disrow*4+0;/装载下半屏数据 BUFFDOWN1=Tableword64+disrow*4+1;BUFFDOWN2=Tableword64+disrow
33、*4+2;BUFFDOWN3=Tableword64+disrow*4+3;BUFFDOWN4=Tableword+164+disrow*4+0;BUFFDOWN5=Tableword+164+disrow*4+1;BUFFDOWN6=Tableword+164+disrow*4+2;BUFFDOWN7=Tableword+164+disrow*4+3;BUFFDOWN8=Tableword+264+disrow*4+0;BUFFDOWN9=Tableword+264+disrow*4+1;BUFFDOWN10=Tableword+264+disrow*4+2;BUFFDOWN11=Table
34、word+264+disrow*4+3;BUFFDOWN12=Tableword+364+disrow*4+0;BUFFDOWN13=Tableword+364+disrow*4+1;BUFFDOWN14=Tableword+364+disrow*4+2;BUFFDOWN15=Tableword+364+disrow*4+3;BUFFDOWN16=Tableword+464+disrow*4+3;while(1) for(col=0;col32;col+) /循环32次,点亮并移动一个汉字,步进是一位5 系统调试与分析5.1 硬件调试测试方法:在最低帧率11和最高帧率设置下,用秒表统计出各个移
35、动速度设置值下的,每秒移动的水平点阵数。单位为点/秒。测试仪器:秒表、肉眼测试结果:如表1.1所示。表1.1 秒表、肉眼测试结果下位机刷新率设置为1下位机刷新率设置为6下位机左移速度 设置实际移动速度 (点/秒)下位机左移速度 设置实际移动速度(点/秒)1315252838311410414512517614621通过上面指标的分析,基本上达到本设计对速度的要求。选用高频晶振刷新速率越高,汉字闪烁越小,在同等条件下选用24M晶振和选用12M晶振的,前者比后者要更稳定一些,存储大量汉字编码时必须采用外部的存储器来实现汉字的存储。5.2 软件调试 软件部分需要调试的主要有显示屏刷新频率及显示效果两
36、部分。显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,表1.2给出了实验调试时采用的频率及其对应的定时器T0初值表1.2 显示平刷新率与T0初值关系表(24MHz晶振)刷新率255062.57585100120T0初值0xec780xf63c0xf8300xf97e0xfa420xfb1e0xfbee从理论上来说,选用高频晶振刷新速率越高,汉字闪烁越小,在同等条件下选用24M晶振和选用12M晶振的,前者比后者要更稳定一些,24M以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的CPU时间越多。试验证明,在目测条件下刷新频率40Hz一下的
37、画面看起来闪烁较严重,刷新频率50Hz以上的已基本察觉不出画面的闪烁,刷新频率达到85Hz以上时再增加画面闪烁没有明显的改善。 这个方案设计的64*32的点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。6 总结通过本次LED电子点阵驱动的设计与制作,从总体方案的确立到各个模块的完成及最后系统的联调,无论是我的理论水平、实际动手能力还是软件编程能力都有了很大程度的提升。对于一个设计的完成,首先要有一个明确的可行性实施方案;其次,对该方案的具体实现要以理论计算为支撑,联合
38、实际问题逐步完成;第三,对于电子显示屏硬件的实现,要充分考虑显示屏的电路布局和选择适当元器件才能实现最佳方案,如连线应尽可能短。第四,遇到问题,要逐步排查分析。当所有的接线盒软件等都就位以后,打开电源,将写好的成熟下载到单片机以后,没有看到显示屏有任何反应。于是便断电先检查供电电源与信号线是否连接。检查到连接正常以后,再检查测试卡是否以识别接口,测试卡红灯闪动则没有识别,检查灯板是否与测试卡同电源地灯板接口有信号与地短路导致无法识别接口。问题果然就出现在这里,按正常的标准接好以后,显示屏能够正常显示“欢迎光临”四个大字。 从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计一款小屏幕的L
39、ED点阵显示屏。在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。整个设计采用STC12C5A60S2做核心控制器,采用四片74LS138级联控制行选,和75LS595级联控制列选,74LS245作为总线驱动器来控制行/列的控制端口实现点阵屏显示汉字。在实现这一设计的过程中所遇到的问题和困难给我留下了宝贵的经验和深刻教训。虽然毕业设计结束了,但学习还会继续。我相信通过此次设计所得到的知识、心得、经验乃至感受都会让我在以后的日子里受益匪浅。参考文献1 高吉祥.模拟电路设计M.北京:电子工业出版社,2007:2583.2 高吉祥.高频电路设计M.北京:电子工业出版社,2007:156182.3
40、 高吉祥.全国大学生电子设计竞赛培训系列教程M.北京:电子工业出版社,2011:4569.4 高吉祥.基本技能训练与单元电路设计M.北京:电子工业出版社,2007:1344.5 高吉祥.全国大学生电子设计竞赛培训系列教程-数字系统与自动控制控制系统的设计M.北京:电子工业出版社,2007:2850.6 谭浩强.C程序设计M.北京:清华大学出版社,2007:4872.7 求是科技主编.单片机典型外围器件及应用实例M.北京:人民邮电出版社,2006:6894.8 付家才.单片机实验与实践M.北京:高等教育出版社,2006:7685.9 郭天祥.新概念51单片机C语言教程:入门提高.开发.拓展.全攻
41、略M.北京:电子工业出版社,2009.1:92175.10潘永雄.沙河.电子线路CAD使用教程-西安:西安电子科技大学出版社M.2007.7:3097.11 江思敏.PCB和电磁兼容设计M.北京:机械工业出版社,2006:67124. 附录附录A 实物显示效果图:图A 实物效果显示图附录B 主程序#include #include #define uchar unsigned char #define uint unsigned int #define _Nop() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_() sbit HC1
42、38_A=P10; sbit HC138_B=P11; sbit HC138_C=P12; sbit HC138_D=P13; /138, 4, 5sbit HC138_OE=P01; /138 6 sbit HC595_LAT=P16; /595 12 sbit HC595_CLK=P17; /595 11 sbit HC595_RD2=P35; /595 14 sbit HC595_RD=P15; /595 14 unsigned char r_data8, g_data8;unsigned char k, t, m, n, p, state;unsigned char code hanz
43、i1732= /二维数据/*- 文字: 欢 -*/*- 宋体24; 此字体下对应的点阵为:宽x高=16x32 -*/0x09,0x00,0x09,0x00,0x09,0x00,0x11,0xFE,0x12,0x80,0x32,0x80,0x34,0x80,0x50,0xF8,0x90,0x80,0x10,0x80,0x10,0x80,0x10,0xFC,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,/*- 文字: 迎 -*/*- 宋体24; 此字体下对应的点阵为:宽x高=16x32 -*/0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0x00,0x00,0x7C,0x7C,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7C,0x7C,0x44,0x44,/*- 文字: 光