单片机点阵课设

单片机点阵课设
单片机点阵课设

目录

第一章绪论 (1)

第二章总体设计 (1)

2.1设计思路 (1)

2.2方案设计 (1)

第三章详细设计 (2)

3.1硬件系统电路设计 (2)

3.1.1单片机介绍 (2)

3.1.2 复位电路 (5)

3.1.3 显示电路 (5)

3.1.4 主体电路 (5)

3.1.5 硬件电路连线 (6)

3.2控制系统的软件设计 (7)

3.2.1 主程序 (7)

3.2.2初始化程序 (7)

3.2.3显示程序 (7)

第四章使用说明 (9)

4.1各部分组成及功能 (9)

4.1.1 LED显示屏 (9)

4.1.2以单片机为核心的动态扫描电路 (9)

4.2显示时间的分析 (10)

第五章总结 (11)

第七章参考文献 (12)

第一章绪论

当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。

由于LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活.适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所。

该项目广泛涉及了计算机及电子技术中的电源技术、单片机技术、数据通讯技术、显示技术、存储技术、系统软件技术、接口及驱动等技术。

LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。

第二章总体设计

2.1设计思路

利用单片机对整个系统进行总体控制,进行显示所要显示的字符。显示方式分为三种:逐字显示、上滚显示、左滚显示。

其中显示字模数据由单片机输入显存,点阵的点亮过程有程序控制,由驱动电路完成,点阵采用单色显示,该显示器电路的特点是:点阵的动态显示过程占用时间比较短,亮度比较高,而且亮度可以改变电阻进行调节。

2.2方案设计

单片机控制的时钟电路,根据不同的要求有不同的设计思路,根据我们现在的水平和现有的设计能力,我们选择了比较简单的那种电路,但是,也是有两种可以选择的方案。

方案一:

显示预先想要显示的内容,在本设计中要求显示“电子设计”四个文字,显示方式分三种:①逐字显示,②向上滚动显示,③向左滚动显示。本程序中显示前两中。

方案二:

在8X8LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此

循环下去。

方案三:

点阵LED扫描介绍:点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描(2)行扫描(3)列扫描

若使用第一种方式,其扫描频率必须大于16*64=1024Hz,周期小于1ms即可。若使用第二种和第三种方式,则频率必须大于16*7=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则亮度会不足。根据烧入程序的不同而显示的方式就不同。

第三章详细设计

3.1硬件系统电路设计

3.1.1单片机介绍

所谓单片机,就是将CPU,RAM,ROM,定时/计数器和多种I/O接口电路都集成在一块集成芯片上的微型计算机。

MCS--51系列单片机是美国Intel公司在1980年推出的8位单片微型计算机,包含51和52两个子系列。51子系列的典型产品有8031,8051和8751三种机型52子系列包括8032,8052二种主要机型。51子系列的配置如下:(1)8位CPU;

(2)振荡频率1.2~12MHZ;

(3)128个字节的片内数据存储器(片内RAM);

(4)21个专用寄存器;

(5)4KB的片内程序存储器(8031无);

(6)8位并行I/O口P0,P1,P2,P3;

(7)一个全双工串行I/O口;

(8)2个16位定时器/计数器;

(9)5个中断源,分为2个优先级;

本系统选用ATMEL89S51系列单片机,由于它的模块化设计为适应具体的应用提供了极大的灵活性,便于扩展功能,有效的提高了系统的经济性。AT89S51是一种低工耗、高性能的片内含有4KB快闪可编程/擦除只读存储器的八位CMOS微控制器,使用高密度、非易失存储编程器对程序存储器重复编程。

AT89S51具有以下特点:

(1)与MCS-51微控制器产品系列兼容。

(2)片内有4KB可在线重复编程的快闪擦写存储器。

(3)32条可编程I/O线。

(4)程序存储器具有三级加密保护。

(5)可编程全全双工串行通道。

(6)空闲状态维持低功耗和掉电状态保存存储内容。

(7)而且与87C51系列的引脚也完全兼容。

89S51单片机结构如图3-1所示:

图3-1 89S51单片机结构框图

51系列单片机的引脚功能:

主电源引脚Vss、Vcc

Vss:接地,Vcc:接+5V电源

外接晶振引脚XTAL1、XTAL2

XTAL1:片内反向放大器输入端,XTAL2:片内反向放大器输

出端

输入/输出引脚P0、P1、P2、P3

P0.0~P0.7:P0口的8个引脚,P0口是8位漏极开路型双向I/0端口,在接

有片外存储器或I/0扩展接口时,P0.0~P0.7分时复用,作低8位地址总线与双向8位数据总线

P1.0~P1.7:P1口的8个引脚,P1口是一个带内部上拉电阻的8位双向I/O 口,对于52子系列,P1.0还可用于定时器/计数器2的计数脉冲输入端T2,P1.1还可作定时器/计数器2的外部控制端T2EX。

P2.0~P2.7:P2口的8个引脚,P2口也是一个带内部上拉电阻的双向I/O口,在访问片外存储器或扩展I/O接口时,还用于提供高8位地址。

P3.0~P3.7:P3口的8个引脚,P3口也是一个带上拉电阻的I/O口,除可以作双向的输入输出口外,还具有第2功能。见表3-1

控制线(4条):

ALE/PROG:双功能引脚。由于P0口的8个引脚是低8位地址总线与数据总线分时复用,因此必须将P0口输出的低8位地址进行锁存。在访问片外存储器时,每机器周期该信号出现2次。其下降沿用于控制锁存P0口输出的低8 位地址。即使不访问片外存储器,该引脚上仍出现上述频率的周期性信号,因此也可作为对外输出的时钟脉冲,频率为振荡器频率的1/6,必须注意的是:在访问片内外存储器时,ALE脉冲会跳空1个。对片内含有EPROM的机型,此引脚在编程时可作为编程脉冲PROG的输入端。

PSEN:片外程序存储器读选通信号输出端,在CPU从片外程序存储器取指期间,此信号每个机器周期两次有效,以通过P0口读入指令,在访问片外数据存储器时,该信号不出现。

EA/Vpp:双功能引脚,为片外程序存储器选用端。当该引脚信号有效时,选择片外程序存储器,即EA/Vpp=1时,访问片内程序存储器。对片内含有

EPROM的机型,此引脚在编程期间用于施加+21v的编程电压。

RST/VPO:双功能引脚,在单片机工作期间,当此引脚上出现连接2个机器周期的高电平时可实现复位操作。在Vcc掉电期间,若该引脚接备用电源(+5v),可向片内RAM供电,以保存片内RAM中的信息。

3.1.2 复位电路

单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,复位电路如图2所示:

图1 复位电路

3.1.3 显示电路

由单片机的P0口接74LS245,再与8x8的点阵相连,电路图如下

图2 显示电路

3.1.4 主体电路

通过单片机AT89C51的P0口和P3口去驱动点阵LED芯片块。电路如图3

所示:

图3 主体电路

3.1.5 硬件电路连线

1. 把“单片机系统”区域中的P0.0~P0.7端口通过一个200欧排电阻接到电源,并且P0.0~P0.7端口连接到74LS245芯片,74LS245芯片上的输出连接到“点阵模块”区域中的“R0-R7”端口上;

2.把“单片机系统”区域中的P

3.0~P3.7端口直接的连接到“点阵模块”区域中的“C0-C7”端口上。

3.2控制系统的软件设计

3.2.1 主程序

在刚上电时对系统进行初始化,然后读一次键开关状态,由键标志位值(00H、01H、02H)决定显示的方式。主程序流程图如下:

图4主程序流程图

3.2.2初始化程序

在系统初始化时,对四个端口进行复位,将显示用的字符数据从ROM表中装入内存单元50H—6FH中。“电子设计”中的每个字占用8个地址单元。

3.2.3显示程序

显示主程序负责每次显示时的显示地址首址(在B寄存器中)、每个字的显示时间(由30H中的数据决定)和下一个显示地址的间隔(31H中的数据决定)的处理。显示子程序则负责对指定8个地址单元的数据进行输出显示,显示一个

完整文字的时间约为8ms。下图为逐字显示及向上滚动显示方式时的显示控制程序流程图:

图5 控制程序流程图

利用键扫描程序代替显示程序中的1ms延时程序,既为了按键的快速响应,又可以提高动态显示的扫描频率,减少文字显示时的闪烁现象。对于多个文字的大屏幕显示,应该使用输出数据缓冲寄存器,才可以得到稳定的显示文字。

第四章使用说明

4.1各部分组成及功能

4.1.1 LED显示屏

LED显示屏以发光二极管为像素,由LED点阵显示单一元拼接而成.最常见的LED点阵显示单元有5X7, 7X9, 8X8结构,前两种主要用于显示各种西文字符,后一种常用于显示各种汉字字符 , 8 X 8LED点阵的外观及引脚图如下图所示。

应该说明的是,屏中LED最好使用市售8×8LED阵列,这样会使焊接工作量大大减少。

4.1.2以单片机为核心的动态扫描电路

以单片机为核心的动态扫描电路是由单片机,显示控制电路,显示驱动电路组成。单片机及相应软件,主要负责存储显示数据,安排控制信号的定时与顺序,和PC机进行通信等。

根据驱动方式的不同,LED大屏幕显示方式可分为静态显示和动态扫描显示两。静态显示是指将一幅画面输入以后要保持到下一幅画面的输入:动态显示是指将画分为若干部分分别进行刷新。静态显示每一个像素需要一套驱动电路,如果显示屏为nXm个像素屏,则需要nXm套驱动电路;动态扫描显示则采用多路复用技术,如果是P路复用的话,则每P个像素需一套驱动电路,nXm个像素仅需nXm/p套驱动电路。另外,对于静态显示方式,需要较多的译码驱动装置,需要的引线也比较多;对于动态扫描显示方式,可以避免以上不足,但是容易造成显示亮度低,屏幕闪烁等问题.在实际的LED大屏幕显示中,很少有采用静态驱动的。

显示数据通常以字节的形式顺序存放在单片机的存储器中。在行扫描列控制显示时,把显示数据从存储器中取出传送到每一行对应的列驱动器上,这就存在一个列数据传输方式的问题。

从控制电路到列驱动器的数据传输可以采用串行方式或串行方式,它们各有优缺:数据并行传输的速度比较快,但是随着屏幕的增大,点阵模块数量的增多,线路会越来越复杂;数据串行传输的速度比较慢,但它可以大大简化传输线路,对于大屏幕来说,采用串行传输方式比较合扩。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,与此同时,列驱动器中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到一行的各列数据全部传输到位后,才能并行地进行LED显示系统的组成显示。对于串行传输来说,数据要经过并行到串行和串行到并行两次变换,因此列数据的准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就少一些,以至影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,准备下一行的列数据,这就需要列数据的显示具有锁存功能。本行己准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。

4.2显示时间的分析

对于以动态扫描方式工作的显示系统,扫描时间的确定较为重要,根据人眼的视觉暂留时间,若每秒显示二十四帧以上,便可得到稳定的显示,取每秒二十五帧,即完成对全屏的一次扫描时间为40ms,那么,只要每次完成对全屏的扫描时间不超过该值,将会得到较为稳定的显示。

从理论上讲,显示屏的大小是任意的,但从上面的分析可知,显示屏做得越大,即屏幕的点阵规模越大,往显示屏上所送的数据就越多,数据传输与控制的时间也会增加即完成一屏扫描的时间也将越长,然而,40ms的时间却是固定的,多于40ms会有闪烁感。

在设计显示屏的大小时,该因素是必需考虑的。为了满足这一要求,关键在于提高微机的程序执行速度,可以选择更快的CPU,或数字信号处理芯片(DSP)。

事实上,LED显示屏控制器,要求的数字信号处理能力并不高,主要要求的是显示数据的访问和控制信号的产生。对于这两项功能,采用基于ARM核的32位嵌入式R工SC微处理器是完全可以胜任的。基于ARM核的32位微处理器的速度不仅比8位/16位单片机执行程序的速度要高得多,而且存储容量要大得多,因此,本课题采用基于ARM核的32位嵌入式R工SC微处理器组成大屏幕LED显示系统,与传统的基于8位/16位单片机的LED显示系统相比,在不显著增加系统成本的情况下,可支持更大可视区域的稳定显示,同时可存储更多的显示内容。

第五章总结

在这次课程设计的整个过程中,我做了一次全面、较规范的设计练习,全面地温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。尤其重要的是让我们养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定计划完成阶段性的目标,在底图设计阶段,注意设计计算与结构设计画图交替进行,采用正确的设计方法。在整个设计过程中注意对设计资料和计算数据的保存和积累,保持记录的完整性。在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。

通过对通用89C51单片机机处理器铁电存储器芯片、常用元器件的设计,掌握了一般单片机设计的程序和方法,让我们对整个单片机程序的设计,C51语言有了一个比较深的理解。

在这次课程设计中,首先根据老师给的资料和自己从互联网上对单片机控制LED点阵显示进行了详细的资料收集,并对其芯片的参数和设计原理进行了完整的分析和整理。然后根据给定的要求对说明书进行整体的布局,并通过Proteus 绘制电路图。

从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计一款小屏幕的LED点阵显示屏。在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。

设计结束了,但学习还在继续。在这次课程设计中,使我对51单片机有了更好的理解,并且对单片机控制LED显示有了更加深刻的理解,上课的时候,老师对这部分没有重点的讲解,通过这次课程设计,让我更加了解了单片机控制的原理,并对其进行了简单的编程。这次课设我做的是8X8的LED点阵的显示,在对16X16的设计中,遇到了难题,就是如何将4个8x8的点阵组合成一个16x16的点阵,所以将在以后要16X16的LED点阵进行设计和研究。

第七章参考文献

[1] 宋戈黄鹤松员玉良蒋海峰编著,51单片机应用开发范例大全,人民邮电出版社2012.2

[2] 陈明荧,8051单片机课程设计实训教材,清华大学出版社2004年3月

[3]

https://www.360docs.net/doc/1617690079.html,/search.php?q=At89s5&sType=part&ExactDS=Starts

[4] https://www.360docs.net/doc/1617690079.html,/MCU/example/05101910464585819_32343.html

[5]维普数据库:http://211.81.31.53:808/index.asp

[6]超星电子图书数据库:http://211.81.31.52:8080/

[7]CNKI数字图书馆镜像分站数据库http://202.113.91.130:8080/

[8] 张毅刚彭宇赵光权编著,单片机原理及接口技术(C51编程),人民邮电

出版社2011.8

相关主题
相关文档
最新文档