单片机课程设计——16x16LED滚动显示..
LED16乘16电子显示器课程设计

目录1. 前言................................................... 错误!未定义书签。
2. 方案设计............................................... 错误!未定义书签。
2.1. 系统功能要求...................................... 错误!未定义书签。
2.2. 硬件设计.......................................... 错误!未定义书签。
2.2.1. 8255A芯片................................... 错误!未定义书签。
2.3. 设计框图.......................................... 错误!未定义书签。
2.4. LED点阵介绍 ...................................... 错误!未定义书签。
2.5. LED显示方式 ...................................... 错误!未定义书签。
3. 测试与调试............................................. 错误!未定义书签。
4. 总结与体会............................................. 错误!未定义书签。
5. 程序清单............................................... 错误!未定义书签。
6. 参考文献............................................... 错误!未定义书签。
1.前言LED 电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。
它发布信息灵活多变,易于控制。
在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示屏显示信息。
单片机课程设计报告——16x16LED滚动显示

16x16LED滚动显示课程设计:单片机课程设计专业名称:电气工程及其自动化学号:学生姓名:同组人员:指导教师:2014年12月8日课程设计任务书2014 ~2015 学年第1学期学生姓名:专业班级:电气工程及其自动化2012级(2)班指导教师:工作部门:一、课程设计题目:16x16LED滚动显示二、课程设计内容1. 根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计,完成仿真操作。
要求概念清楚、方案合理、方法正确、步骤完整;2. 熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;3. 熟练使用单片机汇编语言或C51进行软件设计;4. 熟练使用Proteus、Keil软件进行仿真电路测试;5. 熟练使用Protel软件设计印刷电路板;6. 学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;7. 编写设计报告,参考毕业设计论文格式。
(1)根据课题要求确定系统设计方案;(2)绘制系统框图、系统仿真原理图(印刷电路板图),列出元器件明细表;(3)计算电路参数和选择元器件,画出软件框图,列出程序清单;(4)打印仿真结果,根据测试结果进行误差分析与修改调整;(5)对设计进行全面总结。
三、进度安排2.执行要求单片机应用课程设计共9个选题,学生可自选课题。
每组不超过2人,为避免雷同,在设计中每个同学所采用的方案不可一样。
四、课程设计考核办法与成绩评定六、课程设计参考资料[1]贺哲荣.AT89S51单片机硬件设计与编程实例.北京:中国电力出版社.2012[2]李泉溪.单片机原理与应用实例仿真.北京:北京航空航天大学出版社,2012.[3]王平.单片机应用设计与制作.北京:清华大学出版社, 2012.[4]彭为等.单片机典型系统设计实例精讲. 北京:电子工业出版社,2007[5]王庆利等.单片机设计案例实践教程.北京:北京邮电大学出版社,2008[6]韩志军等.单片机应用系统设计——入门向导与设计实例.北京:机械工业出版社,2005[7]皮大能等. 单片机课程设计指导书. 北京:北京理工大学出版社,2010指导教师:2014年12月8日教研室主任:2014年12 月8 日目录摘要 (1)引言 (2)一16×16LED点阵的总体设计 (3)1.1 设计的功能要求 (3)1.2 设计论证 (3)1.3 实验原理 (3)1.4 总体设计框图 (4)二硬件设计 (4)2.1 主要芯片介绍 (4)2.2 16×16LED点阵显示制作 (7)2.3用4个8×8LED点阵构成16×16LED点阵 (8)2.4实验电路及连线 (8)三软件设计 (8)3.1实验要求及程序流程图 (9)3. 2 程序清单 (15)四实验结果 (16)五系统调试 (17)六心得体会 (17)七参考文献 (18)摘要本设计使用AT89C55系列高速单片机作为主控制模块,利用简单的外围电路来驱动16×16的点阵LED显示屏。
单片机课程设计--+16x16点阵LED电子显示屏的设计

单片机课程设计-- 16x16点阵LED电子显示屏的设计第一章系统总体方案设计LED驱动显示采用动态扫描方法, 动态扫描方式是逐行轮流点亮, 这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例, 把所有同一行的发光管的阳极连在一起, 把所有同一列的发光管的阴极连在一起(共阳的接法), 先送出对应第1行发光管亮灭的数据并锁存, 然后选通第1行使其燃亮一定的时间, 然后熄灭;再送出第2行的数据并锁存, 然后选通第2行使其燃亮相同的时间, 然后熄灭;…第16行之后, 又重新燃亮第1行, 反复轮回。
当这样轮回的速度足够快(每秒24次以上), 由于人眼的视觉暂留现象, 就能看到显示屏上稳定的图形。
该方法能驱动较多的LED, 控制方式较灵活, 而且节省单片机的资源。
显示数据传输采用串行传输的方法, 控制电路可以只用一根信号线, 将列数据一位一位传往列驱动器, 在硬件方面无疑是十分经济的。
但串行传输过程较长, 数据按顺序一位一位地输出给列驱动器, 只有当一行的各列数据都已传输到位之后, 这一行的各列才能并行地进行显示。
对于串行传输方式来说, 列数据准备时间可能相当长, 在行扫描周期确定的情况下, 留给行显示的时间就太少了, 以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾, 可以采用重叠处理的方法。
即在显示本行各列数据的同时, 传送下一行的列数据。
为了达到重叠处理的目的, 列数据的显示就需要有锁存功能。
对于列数据准备来说, 它应能实现串入并出的移位功能。
这样, 本行已准备好的数据打入并行锁存器进行显示时, 串行移位寄存器就可以准备下一行的列数据, 而不会影响本行的显示。
系统框图如图一图一点阵显示器硬件系统框图第二章系统硬件电路的设计硬件电路大致上可以分为单片机系统及外围电路、列驱动电路和行驱动电路三部分。
一. 单片机系统及外围电路单片机采用89C51或更高频率的晶振, 以获得较高的刷新频率, 使得显示更稳定。
单片机课程设计-16x16LED滚动显示PPT课件

设计总结
实现功能
01
成功实现了16x16 LED点阵的滚动显示,可以显示数字、字母
和简单的汉字。
遇到的问题和解决方案
02
在编程过程中遇到了数据传输速度慢和驱动能力不足的问题,
通过优化代码和增加驱动芯片的方式解决了问题。
收获与体会
03
通过本次设计,深入了解了单片机的原理和应用,提高了编程
和电路设计能力,对嵌入式系统有了更深刻的认识。
设计单片机与驱动芯片之间的连接电路,确保数 据传输的稳定性和可靠性。
考虑电源的分配和接地问题,确保整个系统的稳 定运行。
电路板制作
01
根据设计的原理图,使 用专业的电路板制作软 件绘制PCB图。
02
03
选择合适的电路板材料 和尺寸,确保能够承载 所有元器件并方便安装。
在制作过程中,注意元 器件的布局和布线规则, 以提高系统的可靠性和 稳定性。
驱动电路可以采用恒流驱动或恒压驱动方式,根据不同的应用场景选择 合适的驱动方式。
驱动电路的性能直接影响LED显示屏的亮度、色彩、稳定性等指标,因 此选择优质的驱动电路是保证LED显示屏质量的关键。
04 滚动显示程序设计
显示模式选择
静态显示
整个LED显示屏显示同一内容, 不进行滚动。
横向滚动
LED显示屏从左向右移动,显示 内容连续更新。
实际应用价值
01
LED滚动显示在广告、宣传、信息发布等领域有广泛的应用,本 设计可以作为这些领域的基础硬件平台。
02
由于本设计采用了模块化的设计思想,可以方便地进行功能扩
展和定制,具有较高的实用价值。
本设计还可以应用于教学和科研领域,作为单片机原理和应用
16×16点阵LED电子显示屏设计报告_单片机课程设计报告

单片机课程设计报告项目16×16点阵LED电子显示屏地设计摘要:本文介绍了基于STC89C51单片机地16×16点阵LED电子显示屏地设计.分别介绍了显示屏显示地基本原理,硬件设计、控制方法及其程序地实现.经过调试和分析,本设计基本满足了题目设计地要求.关键字:STC89C51 16×16点阵 LED 74LS154 74LS595前言:LED电子显示屏是利用发光二极管点阵模块或像素单元组成地平面式显示屏幕.他具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点.并广泛用于公交汽车、码头、商店、学校和银行等公共场合用于信息地发布和广告宣传.自20世纪八十年代开始,LED电子显示屏地应用领域已经遍布了交通、电信、教育、广告宣传等各方面.LED电子显示屏发展较快,其无论在成本和产生地社会效益等方面都有其独特地优势.一、功能要求设计一个2位16×16点阵LED电子显示屏显示汉字,显示地内容地切换方式可以有左移、右移、上移、下移等,程序中应要包含上位机程序,即可通过上位机(PC机)更新显示内容.二、方案论证2.1 LED驱动显示方案大屏幕显示广泛应用于各个领域,动态大屏幕显示系统显示地文字,数字,图形等生动逼真,立体感强.用单片机驱动LED点阵有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分.静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示地数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少地CPU时间.动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用地CPU时间多.这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少地CPU时间,但每个显示单元都需要单独地显示驱动电路,使用地硬件较多;动态显示虽然有闪烁感,占用地CPU时间多,但使用地硬件少,能节省线路板空间.如果用静态显示地方法,16×16地点阵共有256个发光二极管,单片机没有那么多地端口,如果用锁存器来扩展端口,按8位锁存器来计算,也需要32个锁存器.两位显示就需要64个锁存器.因此在实际应用中地显示屏几乎都不采用静态显示,而是采用动态扫描地显示方法.本次设计地要求是2位地16×16点阵显示,采用动态显示,扫描电路就可以实现多行地同名列共用一套列驱动器.具体就16×16地点阵来说,把所有同一行地发光二极管地阳极连在一起,把同一列地发光二极管地阴极连在一起(共阳接法),先送出对应地第一行发光二极管亮灭地数据并锁存,然后选通第1行使其亮灭地时间,然后熄灭;再送对应地第二行地数据,依次下去,直到第16行.整个来回地时间只要能够达到每秒24次以上,由于人眼地视觉暂留现象,就可以看到显示在屏幕上地稳定地图像了.2.2数据传输和显示方案采用扫描方式进行显示时,每行一个行驱动器,各行地同名列共用一个列驱动器.显示数据通常存储在单片机地存储器中,按8位一个字节地形式顺序排放.显示时要把一行中各列地数据都传送到相应地列驱动器上,这就存在着一个显示数据传输地问题.从控制电路到列驱动器地数据传输可以采用并行方式或串行方式.显然,采用并行方式时,从控制电路到列驱动器地线路数量大,相应地硬件数目多.当列数很多时,并行传输地方案不可取.采用串行传输地方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面比较经济.但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行地各列数据都已传输到位后,这一行地各列才能并行地进行显示.这样,对于一行地显示过程就可以分解为列数据传输和列数据显示两个部分.解决串行传输中列数据传输和列数据显示地时间矛盾问题,可以采用重叠处理地方法.即在显示本行各列数据地同时,传送下一行地列数据.为了达到重叠处理地目地,列数据地显示就需要具有锁存地功能.经过上述分析,归纳出列驱动器电路应具备地主要功能,对于列数据段传输来说,应能实现串入并出地移位功能;对于列数据显示来说,应具有并行锁存地功能.综上所述,本次设计采用动态扫描方式驱动LED显示,采用串入并出地方法实现数据传输和采用并行锁存地方法实现数据显示.2.3系统整体方案框图经过分析,给出系统电路原理框图如图1-1.三、系统硬件电路设计硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分. 3.1单片机系统及其外围电路本次设计采用单片机STC89C51,使用11.0592MHZ地晶振.单片机地串口与列驱动器相连,用来送显示数据.P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来送控制信号.P0和P2空着,在有必要时可以扩展系统地ROM和RAM.设计地显示界面可显示2个汉字,需要8个8×8 LED点阵模块,组成16×32地矩形点阵.3.2行驱动电路单片机P1口低4位输出地行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应地行线当选通端(G1、G2)均为低电平时,可将地址端(ABCD)地二进制编码在一个对应地输出端,以低电平译出. 若将G1 和G2 中地一个作为数据输入端,由 ABCD 对输出寻址,54/74154 还可作1 线-16 线数据分配器.一条行线上要带动16列地LED进行显示,按每一LED器件20mA电流计算,32个LED同时发光时,需要640mA电流,选用三极管8550作为驱动管可满足要求.3.3列驱动电路列驱动器由集成电路74HC595构成.它具有一个8位串入并出地移位寄存器和一个8位输出锁存器地结构,而且移位寄存器和输出锁存器地控制是各自独立地,可以实现在显示本行各列数据地同时,传送下一行地列数据,即达到重叠处理地目地.引脚SI为串行数据输入端,与单片机串口RXD(P3.0)相连,用来传送数据;引脚SCK为移位寄存器地移位时钟脉冲,与单片机串口TXD(P3.1)相连;引脚SCLR信号是移位寄存器地清0输入端,低电平有效,接与单片机P1.5口;RCLK是输出寄存器地打入信号,与单片机P1.6口相接;四、主要元器件功能介绍4.1 8×8点阵LED结构LED点阵电子显示屏是利用发光二极管点阵模块组成地平面显示屏幕.8×8点阵是最基本地单元模块,由4块8×8点阵可构成一块16×16点阵模块,由8块8×8点阵可构成一块18×32点阵模块.单色8×8点阵外形及结构如图1-3:图1-2 硬件电路原路图图1-3从图1-3中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线地交叉点上,当对应地某一列置1电平,某一行置0电平,则相应地二极管就亮;如要将第一个点点亮,则9脚接低电平13脚接高电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接低电平,而(13、3、4、10、6、11、15、16)这些引脚接高电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接高电平,而(9、14、8、12、1、7、2、5)接低电平,那么第一列就会点亮.4.2 74LS154芯片介绍74LS154为4线-16线译码器,其管脚图如图1-4所示.引脚A,B,C,D为译码地址输入端,低电平有效;G1,G2为选通端,低电平有效;0-15为输出端,低电平有效.其功能表如图1-5所示.图1-53.3 74LS595芯片介绍74LS595是一个8位串行输入并行输出地移位寄存器和一个8位输出锁存器地结构.74HC595地内部结构如图1-6它地输入端有8个串行移位寄存器,每个移位寄存器地输出都连接一个输出锁存器.引脚SER是串行数据地输入端.引脚SRCLK是移位寄存器是移位时钟脉冲,在其上升沿发生移位,并将SER地下一个数据打入最低位.移位后地各路信号出现在各移位寄存器地输出端.RCLK是输出锁存器地打入信号,其上升沿将移位寄存器地输出打入输出锁存器.引脚E是输出三态门地开放信号,只要当其为低时锁存器地输出才开放,否则为高阻态.SRCLK*是寄存器地清零输入端,当其为低电平时输出全部为零.由于SRCLK和RCLK两个信号是互相独立地,所以能够作到输入串行移位与输出锁存互不干扰.芯片地输出端为Q0——Q7,最高位Q7可以做为多片74LS595级联应用向下级地芯片输入.但因Q7受输出锁存器打控制,所以还从输出锁存器前引出了QT作为级联输出.图1-6五、系统软件设计显示屏软件地主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计地要求显示.根据软件分层次设计地原理,可把显示屏地软件系统分成两大层:第一层是底层地显示驱动程序,第二层是上层地系统应用程序.显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏地扫描显示工作.显示驱动程序由定时器T0中断程序实现.系统应用程序完成系统环境地设置、显示效果处理等工作,由主程序来实现.5.1 显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率地稳定,然后显示驱动程序查询当前燃亮地行号,从显示缓寸区内读取下一行地显示数据,并通过串口发送给移位寄存器.为消除在切换行显示数据地时候产生地拖尾现象,驱动程序先要关闭显示屏,等显示数据打入输出锁存器并锁存,然后再输出新地行号,重新打开显示.图1-7是显示驱动程序地流程图.5.2系统主程序系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口以及显示效果.如、左移、右移等.系统主程序地流程图如图1-8所示.六、调试及性能分析6.1硬件调试首先检查各个焊接点地焊接是否焊接正确,看是否有短路和断路,看各条线连接是否确,对照原理图逐条线逐个点地检查;然后检查芯片地没个引脚地功能,看其是否有实现,一部分一部分地检查.直至检查出错误或保证电路完全正确.在本次设计中由于连线过多加至板面有限,布线时线布地过于密,因此要防止相邻地两条线之间短路,所以要一条线一条线地检查,把短路地给分离开,把断路地给补上.硬件调试时首先要检查晶振是否会正常起振,既看A T89S52地18脚是否有约12MHZ地频率,看30是否有1/6地晶振频率;然后再检查74LS154地使能端是否正常工作;再看74LS595地SER端是否有脉冲并检查其它引脚地脉冲和时序是否都正常工作.最后再检查LED灯地各行和各列是否都连接正确.各部分都调试正常之后就可以进行软件调试了.6.2软件调试软件部分需要调试地分需要调试地主要有显示屏地刷新率及显示效果部分.显示屏地刷新率由定时器T0地溢出率和单片机地晶振频率决定.显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏地刷新率地稳定.定时器T0设定为工作方式1,即16位定时器模式,晶振频率f为11.0592MHZ,通过计算得定时器T0地初值TH0=0XFCH,TL0=0X18H.显示效果处理程序地内容及方法非常广泛,本次采用地是左移、两边对移、和上移. 调试时要编一些检查LED灯是否完好、是否连接正确地小程序,看控制地端口地控制命令是否正确,显示地字是否亮度均匀、充足、显示地文字是否稳定、清晰无串绕.我在做本次设计中,主要是硬件调试,在程序调试时观察字左移显示是否完全显示完.,还在字段间加空格使得显示更加美观,另外显示地延时也要取得恰当.七、设计总结两周地课程设计终于圆满落下帷幕了.经过这次地课程设计,让我更深刻体会到了把理论学习联系到实践应用当中地重要性.应该说我们所选择地课题16×16点阵LED电子显示屏地设计是一项硬件相对复杂、软件相对简单地设计,一开始由于对设计原理没有做到很深入地理解,导致一开始画原理图出现了点小错误,后来在老师地指导下画出了正确地原理图,后来地画PCB和做板地过程中又出现了问题,画PCB中由于理解错误把8*8点阵LED地位置放错了,以致在做板过程中经过一番修改才做出了正确地PCB板.在软件设计时,参考了很多网上搜索地资料,经过无数次地修改和调试,最后确定了这次设计地源程序.总之,经过这次课程设计,让我们地实践动手能力得到了很大地提高,在接下来地学习中,我们应该更多地把学习地理论知识应用到实践当中.参考文献【1】孙育才. 单片微型计算机及其应用. 东南大学出版社 2004【2】李华. MCS-51系列单片机实用接口技术. 北京航空航天大学出版社.1993附录一:完整源程序#include<reg51.h>#define BLKN 4sbit G=0x97。
单片机课程设计---16×16 LED广告屏

单片机课程设计实验说明书题目:16×16 LED广告屏班级:组别:目录课题名称 (3)单片机组成部分 (3)硬件电路设计 (3)16×16点阵LED显示屏上滚屏显示原理 (3)16×16点阵LED显示屏上滚屏显示原理图 (4)附录 (5)一、课题名称:16×16 LED广告屏实验目的:1、学习单片机的使用方法和简单的编程原理2、通过单片机实现16×16LED广告屏显示简单的汉字和图形二、单片机组成部分三、硬件电路设计本电路是由AT89C51单片机为控制核心,低功耗;时钟源电路有很多种,比如阻容低速时钟源、普通晶体时钟源、带缓冲放大的晶体时钟源等等,考虑到电路稳定及材料选购等方面,决定采用普通晶体时钟源,其中晶体用12MHZ的石英晶振;复位电路结合实际应用功能的实现,采用上电复位;显示部分由16×16点阵LED显示屏显示;行驱动电路采用74LS154,列驱动电路采用74LS595。
四、 16×16点阵LED显示屏上滚屏显示原理在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。
如果要在16×16点阵屏以上滚屏的方式显示以字体,则需以以下方式进行显示。
在16×16点阵屏中,我们可以把点阵屏看成16行LED组成,且每行有16个LED灯。
在本例中单片机首先将第二行的显示信息给第一行,使第一行显示图像变成第二行所要显示的。
以“我”字为例,原第一行由左到右排列,为A灭,B灭,C灭,D灭,E灭,F亮,G亮,H灭,I灭,J亮,K灭,M灭,N灭,O灭,P灭。
即二进制1111100110111111转换为16进制为F9h,BFh。
原第二行由左到右排列,为A灭,B灭,C亮,D亮,E亮,F灭,G灭,H灭,I灭,J亮,K灭,L亮,M灭,N灭,O灭,P灭。
即二进制1100011110101111转换为16进制为C7h,Afh。
基于AT89C51单片机16×16 LED汉字滚动显示屏的设计

基于AT89C51 单片机16×16 LED 汉字滚动显示屏的设计O 引言LED 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。
LED 显示屏发展较快,本文讲述了基于AT89C51 单片机16 乘以16LED 汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus 软件仿真等基本环节和相关技术。
1 硬件电路组成及工作原理本产品采用以AT89C51 单片机为核心芯片的电路来实现,主要由AT89C51 芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16 乘以16LED 点阵5 部分组成,如我们把行列总线接在单片机的I/0 口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。
但是若将LED 点阵的行列端口全部直接接入89S5 1 单片机,则需要使用32 条I/0 口,这样会造成I/0 口资源的耗尽,系统也再无扩充的余地。
因此,我们在实际应用中只是将LED 点阵的16 条行线直接接在P0 口和P2 口,至于列选扫描信号则是由416 线译码器74HCl54 来选择控制,这样一来列选控制只使用了单片机的4 个I/O 口,节约了很多I/O口资源,为单片机系统扩充使用功能提供了条件。
考虑到P0 口必需设置上拉电阻,我们采用4.7 kΩ排电阻作为上拉电阻。
汉字扫描显示的基本过程是这样的:通电后由于电阻R,电容c1 的作用,使单片机的RST 复位脚电平先高后低,从而达到复位;之后,在C、C3、X 以及单片机内部时钟电路的作用。
基于51单片机的16×16点阵屏流动显示单片机课程设计

对单片机以及其他外部器件有了更深的理解, 对市场上的元器件价格有了了解,也对各式各 样的点阵广告牌等电子显示屏的工作原理有了 更深的认识
sbit T_CLK = P2^5; sbit OE = P2^1;
unsigned char MoveBitNum,MoveBitNumtemp,IncNum;//移动位数,临时移动位数,大于 一个字节增加字节数
unsigned char MoveBitNum,MoveBitNumtemp,IncNum;//移动位数,临时移动位数,大于 一个字节增加字节数 unsigned int HzNum;//汉字个数 unsigned char buff[20];
74HC595芯片
3. 电路电阵原理图讲解
1.通过P0口控制a,b,c,d;
2.
通过2个74HC138控制行的选取;
3.通过74HC595自动选取列;
原理图
返回
四,具体的程序实现
#include<reg52.h> sbit T_STR = P2^6; sbit R1 sbit G1 = P0^4; = P2^4; //锁存引脚,屏上标识位STR //数据引脚,屏上标识R1 //数据引脚,屏上标识G1 //时钟引脚,屏上标识位CLK //使能引脚,屏上标识EN/OE
{
//汉字个数+1
buff[j+j]=hztest[HzNum+j][count+count]; //每次移动完一个汉字后,选择下一个汉字
主程序
buff[j+j+1]=hztest[HzNum+j][count+count+1];
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
74LS595介绍
74595的数据端: Q1--Q7:八位并行输出端,可以直接控制数 码管的8个段。 Q7':级联输出端。我将它接下一个595的SI 端。 DS:串行数据输入端。 STcp:存储寄存器的时钟脉冲输入口 SHcp:移位寄存器的时钟脉冲输入口 OE:的非输出使能端 MR:的非芯片复位端
结束语
本文设计的16x16的点阵LED图文显示屏,能够在目测条件 下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示的 图形和文字较稳定、清晰。图形或文字向上滚动显示。本系统 具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等 特点。 在此次设计中,我得到以下体会: 1.在这次点阵设计的过程让我进一步熟悉KEIL及 Proteus的使用。 2.本次设计结果仍有缺陷,有一行总是全亮,干扰显示。 3.通过这次点阵设计,重新复习并进一步学习了MCS55单片机的优点,明确了学习和研究目标。 4.本文设计的LED显示屏能够实现在目测条件下LED显示 屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字 应稳定、清晰无串扰。图形或文字以移入移出方式显示。 5.本次设计在老师的指导下完成的,在设计过程中培养 了我们的科学研究的严谨态度和创新精神,对我们以后的学习 和工作有很大的帮助,对此向老师表示衷心的感谢!
图为字模提取软件提取16x16LED汉字显示代码
系统主程序流程图
开始
系统初始化
行驱动器
列驱动器
左滚屏显示效果 上滚屏显示效果 右滚屏显示效果 下滚ቤተ መጻሕፍቲ ባይዱ显示效果
总电路连线图
用4个8×8LED点阵构成16×16LED点阵
Proteus中只有5×7和8×8等LED点阵,并没 有16×16LED点阵,而在实际应用中,要良好地 显示一个汉字,则至少需要16×16点阵。下面我 们就首先介绍使用8×8点阵构建16×16点阵的方 法,并构建一块16×16LED点阵,用于本例的显 示任务。 从Proteus的元件库中找到“MATRIX-8X8RED”元器件,并将四块该元器件放入Proteus文 档区编辑窗口中。此时需要注意,如果该元器件保 持初始的位置(没有转动方向),我们要首先将其 左转90°,使其水平放置,那么此时它的左面8个 引脚是其行线,右边8个引脚是其列线(当然,如 果你是将右转,则右边8个引脚是行线)。然后我 们将四个元器件对应的行线和列线分别进行连接, 使每一条行线引脚接一行16个LED,列线也相同。 并注意要将行线和列线引出一定长度的引脚,以便 下面我们使用。连接好的16×16点阵如右图。
16×16LED点阵显示制作
以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。 即国家标准汉字库中的每一个字均由256点阵来表示。我们可以把每一个点 理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏 不仅可以显示汉字,也可以显示在256像素范围内的任何图形。这里我们以 “魏”字说明,如下图所示:
74LS164介绍
当清除端(CLEAR)为低电平时,输出端(QA- QH)均为低电平。 串行数据输入端(A,B)可控制 数据。当 A、B任意一个为 低电平,则禁止新数据输入, 在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。 当A、B 有一个为高电平,则另一个就允许输入数据, 并在CLOCK 上升沿作用下决定Q0 的状态。 引脚功 能: CLOCK :时钟输入端 CLEAR: 同步清除输入端(低电平有效) 1,2 :串行数据输入端 Q8-Q15: 输出端
实验结果
实验电路及连线
电路主要由单片机和一些外部设备连接而成, 利用4个8*8LED显示组装成16*16LED显示,2个R*8 排电阻,一个74HC154组成。该显示器采用 AT89C55单片机作为控制器, 12MHz晶振,其中 P0 口作为字符数据输出口, P2 口作为显示器扫描输 出口,第 31 管脚( EA )接电源。电路包括单片机、 电源电路、时钟电路、复位电路、驱动电路和LED 点阵电路等。本设计的核心是利用单片机读取显 示字型码,通过驱动电路对16×16LED点阵进行动 态扫描,以实现汉字的滚动显示。
系统调试
软件调试:软件为网络所提供,其原理在上一模块已 作说明,在这里再作说明,软件经调试无误,直接将其下 再到单片机中,看是否达到所要的效果软件部分是先参考 书上的例子,然后自己根据硬件电路写程序,由于以前所 学是单片机汇编语言,所以这个系统在编写程序过程中都 采用汇编语言编写。刚刚开始,编写不会一次性通过,经 过仔细分析修改最后编译成功。但是,在实际写如 C55 中, LED 显示屏出现各种各样的乱码,通过再次认真仔细分析 多次修改程序后,程序能够正常运行。 硬件调试:在对各个硬件模块进行调试时,要保证软 件正确情况下去测试软 件,要不然会发生错误,硬件仿 真前要认真检验点阵及线路的好坏,检查无误后才下载主 程序。
软件设计
本软件要求实现如下要求:汉字要稳定、明亮并且文字要以一定速度上升滚动显 示。 显示屏软件模块:初始化程序、主程序、多字滚动、显示程序、扫描程序。显示 程序的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求 显示。软件设计中,显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第 二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫 描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定 时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等 工作,由主程序来实现。 显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率 的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下: 刷频率(帧频)=1/16×T0溢=1/16×f/12(65536-t) 其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。 然后显示驱 动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发 送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭 显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打 开显示。
16x16LED滚动显示
小组成员:
设计时间:2014年12月 指导老师:
设计概要
本设计使用AT89C55系列高速单片机作为主控制模块,利用简单 的外围电路来驱动16×16的点阵LED显示屏。利用AT89C55系列高速 单片机本身强大的功能,可以很方便的实现单片机与PC机间的数据 传输及存储,并能利用软件方便的进行显示内容的多样变化,另一 方面点阵显示屏广泛的应用于医院、机场、银行等公共场所,所以 本设计具有很强的现实应用性。 本LED显示屏能够以动态扫描的方式同时显示4个8×8点阵汉字, 并能通过上位机软件修改显示内容和显示效果等等。把字符内码存 储在空闲的单片机程序存储器空间,使本LED显示系统能掉电存储 1024个字符。设计中采用了SPI接口的GB2312标准字库,支持所有的 国标字符和ASCII标准字符的显示。因为采用串行传输方式,使本系 统的可扩展性得到提升,便于多个显示单元的级联。 本文从LED的显示原理入手,详细阐述了LED动态显示的过程, 以及硬件电路的设计、计算和软件的算法
关键词:LED动态显示 AT89C55 点阵汉字显 示 仿真
论证设计
图文显示一般有静态和动态显示两种方案,静态方案虽然设计简 单,但其使用的管脚太多,如本设计中16x16的点阵共有256个发光二 极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口, 按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。这个数 字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往 往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此 在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为 动态扫描的显示方法。 动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路 就可以实现多行(比如16行)的同名列共用一套驱动器。具体就16x 16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列 的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光 管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭; 再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然 后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这 样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象, 就能够看到显示屏上稳定的图形了。
系统框图
74LS595 列驱动器
AT89C55 单片机
7 4行 L驱 S动 1器 6 4
16x16LED点阵
硬件设计
一.主要芯片资料
AT89C55介绍
AT89C55为8 位通用微处理器,采用工业标准的C51 内核,在内部功能及管脚排布上与通用的 8xc52 相同, 其主要用于会聚调整时的功能控制。功能包括对会聚主 IC 内部寄存器、数据RAM及外部接口等功能部件的初始 化,会聚调整控制,会聚测试图控制,红外遥控信号 IR 的接收解码及与主板CPU通信等。主要管脚有:XTAL1 (19 脚)和XTAL2(18 脚)为振荡器输入输出端口, 外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口, 外接电阻电容组成的复位电路。VCC(40 脚)和VSS (20 脚)为供电端口,分别接+5V电源的正负端。 P0~P3 为可编程通用I/O 脚,其功能用途由软件定义, 在本设计中,P0 端口(32~39 脚)被定义为N1 功能控 制端口,分别与N1的相应功能管脚相连接,13 脚定义 为IR输入端,10 脚和11脚定义为I2C总线控制端口,分 别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、 27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进 入的控制功能。
实验原理
16×16扫描LED点阵的工作原理同8位扫描数码管类似。 它有 16 个共阴极输出端口,每个共阴极对应有 16 个 LED 显 示灯。所以其扫描译码地址需 4 位信号线。要使 16 点阵上 某个点亮,如第10行第4列的LED点亮,只要让列选信号为 “ 0100 ”,从而选中第 4 列,再给第 10 行一个高电平,即 可点亮该 LED 。本实验通过 74LS164和74LS595 芯片写入字 形,产生扫描信号。为了显示整个汉字,首先分布好汉字 的排列,以行给汉字信息;然后以大于24HZ的频率扫描列, 即每行逐一加高电平,根据人眼的视觉残留特性,使之形 成整个汉字的显示。