《子电线路课程设计报告(16x16led点阵屏)大学论文》由会员分享,可在线阅读,更多相关《子电线路课程设计报告(16x16led点阵屏)大学论文(18页珍藏版)》请在金锄头文库上搜索。
1、江西理工大学应用科学学院微机控制系统课程设计报告 题 目: LED电子屏设计 姓 名: 学 号: 专业班级: 指导教师: 完成时间: 2016年6月 日设计报告综合测试平时总评格式(10分)内容(10分)图表(5分)功能测试(35分)答辩(20分)考勤(20分)指导教师签名:目录1 设计任务和性能指标11.1 设计任务11.2 性能指标12 设计方案22.1 需求分析22.2 方案论证23 系统硬件设计33.1硬件电路组成33.2 单片机系统及外围电路33.3 LED的显示方式43.4 LED阵列的驱动电路54 系统软件设计64.1 点阵左移显示的流程图及分析64.2系统各单元电路设计94.3
2、 字符的点阵显示原理及字库代码获取方法105调试及性能分析115.1 调试步骤115.2 仿真结果126 总结12参考文献13附录1 系统硬件电路图1314附录2 程序清单151 设计任务和性能指标1.1 设计任务1、显示屏为1616点阵(由四块8点阵模块组成),可显示各种图文。2、掉电时能保存显示的信息。3、上电后在显示屏上顺序显示“江西理工大学应用科学学院”,当按下按键后显示屏停在对应的汉字上,再次按下时,重复循环显示。4、写出详细的设计报告。1.2 性能指标LED是英文light emitting diode(发光二极管)的缩写,发光二极管的核心部分是由p型半导体和 n型半导体组成的晶片
3、,在p型半导体和n型半导体之间有一个过度层p-n结,注入的少数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。LED在我们日常生活的电器中随处可见,极为普通也广为人知。LED具有效率高、光线质量高、能耗小、寿命长等特点,主要可用于平面显示领域、便携设备显示屏、照明以及红外线LED领域等下游应用产品市场。LED点阵显示器,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。点阵显示器有单色和双色两类,可显示红、黄、绿、橙等色。LED点阵有 44、48、57、58、88、161
4、6、2424、4040等多种。根据像素的颜色的数目可分为,单基色、双基色、三基色等,根据像素颜色的不同所显示的文字、图象等内容的颜色也不同,单基色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如57点阵显示器用于显示西文字母58点阵显示器用于显示中西文,88点阵用于显示中文文字,也可用于图形显示。用多块点阵显示器组合则可构成大屏幕显示器
5、,但这类实用装置常通过微机或单片机控制驱动。2 设计方案2.1 需求分析图1 方案总体框图2.2 方案论证本设计采用四块88点阵模块组成一块1616 LED点阵显示屏。方案总体框图如图1所示,大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。控制电路部分包括一个51 CUP和一些外围电路。在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给屏体电路部分发送命令。点阵显示屏体、以及它的行和列的各个驱动电路。由于两部分的电路在制板时可以放到一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的
6、传送。此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列燃亮相应的LED;未接通的列所对应的LED熄灭。3 系统硬件设计3.1硬件电路组成本产品采用以P89C51单片机为核心芯片的电路来实现,主要由P89C51芯片、晶振电路、三极管驱动电路、按键控制电路、88 LED点阵5部分组成,电路框图如图1所示。其中,P89C51是一种带4kB闪烁可编程可擦除只读存储器(Fals
7、h Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到P89C51芯片。时钟电路由P89C51的18,19脚的时钟端(XTAI 1及XTAL2)以及12 MHz晶振X 、电容C2、C
8、3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R ,R2,电容C ,开关K 组成,分别接至P89C51的RST复位输人端。LED点阵显示屏采用8x8共64个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。我们把行列总线接在单片机的I/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的字符了。我们在实际应用中是将LED点阵的8条列线通过驱动电路接在P1口,8条行线通过限流电阻接在P0口。单片机89C51按照设定的程序在P1和P0接口输出与内部字符对应的代码电平送至LED点阵的行列线(高电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉
9、暂留特性合成整个字符的显示。再改变取表地址实现字符的滚动显示。3.2 单片机系统及外围电路单片机(Microcontroller,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。8051是MCS-51系列单片机的一个产品。MCS-51系列单片机是Intel公司推出的通用型单片机, 8051单片机的基本结构3.3 LED的显示方式LED点阵每个点都有一个红色的发光二极管。点阵内的二极管间的连接都是行共阳,列共阴。LED点阵显示器的显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使
10、用的管脚太多,如本设计中1616的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要2568=32个锁存器。这样在锁存器上花的成本将比较高。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描显示方法是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以本设计的1616点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起,先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选
11、通第2行使其燃亮相同的时间,然后熄灭;,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当
12、列数很多时,并列传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重
13、叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。3.4 LED阵列的驱动电路正向点亮一颗LED,至少也得10到20毫安,若电流不够大,则LED不够亮!而不管是8051的输入还是输出端其高态输出电流都不是很高,不过12毫安而已。因此,很难直接高态驱动LED。这时候就需要额外的驱动电路。分别针对共阳极和共阴极LED阵列,有两种不同的驱动方式。针对输
14、出态的不同,分为:高态扫描-高态显示,高态扫描-低态显示,低态扫描-高态显示和低态扫描-低态显示四种方式。本设计实际用到的是:共阴型低态扫描-低态显示信号驱动电路。这种驱动电路采用低态扫描,也就是任何时间只有一个高态信号,其他则为低态信号。一行扫描完成之后,再把高态信号转到临近的其他行。扫描信号经限流电阻接到PNP晶体管的基极,晶体管的集电极接地,射极则连至LED点阵的列引脚,若要同时点亮该列的16个LED,则晶体管的电流必须大于200毫安才行。常用的2N3904之类就可以达到当低态的列扫描信号输入晶体管的基极后,该晶体管即为正向,而产生电流,即可使该列的LED具有点亮的条件所要的显示信号连接
15、到一个PNP晶体管的基极,而该晶体管的射极连接到VCC,同样的,当低态的显示信号输入时,晶体管的集电极电流将流入行LED的阳极,即可点亮该行的LED。若要并接多个LED阵列,如本设计是使用四个88 LED阵列,连接成一个1616 LED阵列,则一个扫描信号同时要驱动两行的LED阵列。这时就需要靠锁存器将这两组显示信号锁住。本设计使用的是74LS373锁存器,74LS373是以低态输出的,其输出的电压可达24毫安,足以驱动一个LED。当74LS373的G脚(即LE引脚)为高态时,数据可以从输入端传输到锁存器中;G脚为低态时,数据被锁住,不会随输入端而变。另外,OC脚为输出控制引脚,当OC脚为高态时,输出呈现高阻抗;OC为低态时,数据会由锁存器输出。在这个电路之中驱动的扫描信号总共有16条,如果直接由8051输出,将占用2个PORT口,浪费资源,不太理想,在