ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:190.56KB ,
资源ID:10796430      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10796430.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计.docx

1、课程设计摘 要本次课设是基于51单片机的5*7的LED字幕显示的控制。阐释了51单片机是结构功能和5*7LED点阵的原理。要实现LED点阵屏显示字幕就得考虑如何进行行列信号控制及信号传输中的驱动问题进行了研究;定时中断的几种方法里合理的选用定时器。绘制原理图并给出了通过软件控制点阵屏显示的几种方式,如静态显示,动态显示,对其软件的算法给出了具体分析。基于各种算法我们就可以灵活的运用软件实现各种显示,并将其用于商业用途。关键字: LED显示屏; 单片机; 中断目录摘 要 I前言 11 概述 21.1设计任务 21.2 LED显示屏的介绍 21.3点阵屏的内部结构及扫描原理 32 软件介绍 42.

2、1 Proteus介绍 52.2 keIL介绍 53 系统硬件设计 63.1 AT89C51单片机介绍 73.1.1单片机的组成 73.1.2 时钟脉冲电路 93.1.3 复位电路 103.2 原理图 104 软件设计 124.1程序设计分析 124.2程序流程图 124.3软件编程 125 仿真结果 17结论 18参考文献 19前言 随着社会文化的不断发展,人们的消费标准不断提高,户外灯箱广告更是扮演着越来越重要的宣传角色,不论是汽车站,火车站,股票交易市场,还是学校都离不开它,然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进。由

3、于单片机技术的不断发展和高亮度LED发光管的出现使得大屏幕高亮度LED电子广告屏成为可能,与传统的霓虹灯广告在显示效果以及可修改性上都有着无法比拟的优势,而且单片机的日益平民化以及LED技术的不断创新,使得高亮度高清晰的LED点阵广告牌与传统霓虹灯广告牌的成本日益接近。另外,SMT技术的飞速发展,开关电源的大规模使用,使其无论在体积上还是在可靠性上都比传统的霓虹灯广告有明显的改进,为其在特殊领域的应用奠定了基础。这种新兴的大屏幕显示技术成为众人目光的焦点。与传统的显示设备相比,首先,LED 显示屏色彩丰富,3基色的发光管可以显示全彩色,显示方式变化多样(文字、图形、动画、视频、电视画面等),是

4、集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品,可用来显示文字、计算机屏幕同步的图形。其次,LED 显示屏的像素采用LED发光二极管,将多个发光二极管以序列的形式构成LED显示阵列,这种显示屏具有耗电低、成本低、亮度和清晰度高、寿命长等优点,而且 LED 显示屏其受空间限制较小,并可以根据用户要求设计屏的大小,具有全彩色效果,视角大,是信息传播设施划时代的产品。再次,LED 显示屏应用广泛,金融证券、银行利率、商业广告、文化娱乐等方面,显示效果清晰稳定,越来越多的地方开始使用LED电子显示屏,有巨大的社会效益和经济效益。它以其超大画面、超宽视觉、灵活多变的显示方式等独居一

5、格的优势,成为目前国际上使用广泛的显示系统。1 概述1.1设计任务 本设计主要任务是设计一个实用的5*7 LED点阵屏的图文显示,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字稳定、清晰无串扰。图形或文字显示有静止和移入移出等显示方式。本文还重点介绍了单片机对LED点阵屏的控制电路,驱动电路的设计方法,并根据LED点阵屏的硬件特点, 对其软件实现的算法给出了具体的分析。从而实现了显示的字体能够进行向左移动。1.2 LED显示屏的介绍LED显示屏分为数码显示屏、图文显示屏和视频显示屏,均由LED矩阵块组成。LED数码显示屏的显示器件为7段码数码管,适于制作时钟屏

6、、利率屏等,显示数字的电子显示屏。 图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于金融、税务、工商、邮电、体育、广告、厂矿企业、交通运输、教育系统、车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。LED显示屏的分类:1、按颜色基色可以分为 单基色显示屏:单一颜色(红色或绿色)。 双基色显示屏:红和绿双基色,256级灰度

7、、可以显示65536种颜色。 全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显 示一千六百多万种色。 2、按显示器件分类 LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。 LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。 LED视频显示屏:显示器件是由许多发光二极管组成,可以显示视频、动画等各种视频文件。3、按使用场合分类 室内显示屏:发光点较小,一般3mm-8mm,显示面积一般几至十几平方米。 室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水

8、功能。1.3点阵屏的内部结构及扫描原理LED点阵屏的内部结构可以分为共阴型和共阳型两种类型,本系统设计采用的是共阳型的LED点阵屏。 我们只选取了一个5*7的LED矩阵,当行上点位为零,列为1时发光二极管便导通点亮。根据这个原理,当我们需要某图形或文字时,只需要将要显示的文字或图形的编码作为列信号跟对应的行信号进行逐次扫描,就可以逐行点亮点阵。当扫描速度大于24Hz,由于扫描时间很快,人眼的视觉有暂留效应,就可以看到显示的是完整的图形或文字,这样就达到了显示的效果,其硬件等效电路如图1.1所示。 图1.1 5*7 LED等效电路图 如图1.1所示的发光二极管,行接低电平,列接高电平,发光二极管

9、导通发光。例如,若要图中所示35个LED显示一个“0”字的方框,则首先在列15上写入列编码的信号,接着应将对应的行上加选通信号,即在行、列的信号端分别加上如图1.2所示数据,这样,假设显示数字为“0”时: 1 2 3 4 5 3E 41 41 41 3E 图 1.2 在点阵上显示0因此,形成的列代码为3EH,41H,41H,41H,3EH;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。表1.1显示的是字符0-B对应的数据码。表1.1字符0-B对应的数据码03EH,41H,41H,41H,3EH100H,21H,7FH,01H,00H227H,45H,45H,45H,39H32

10、2H,49H,49H,49H,36H40CH,14H,24H,7FH,00H572H,51H,51H,51H,4EH63EH,49H,49H,49H,26H740H,40H,40H,4FH,70H836H,49H,49H,49H,36H932H,49H,49H,49H,3EHA7CH,12H,11H,12H,7CHB7FH,49H,49H,49H,36H2 软件介绍2.1 Proteus介绍 Proteus ISIS 是英国Labcenter公司开发的电路设计、分析与仿真软件,功能极其强大。该软件的主要特点是: 集原理图设计、仿真分析( I S I S ) 和印刷电路板设计( A R E S

11、) 于一身。可以完成从绘制原理图、仿真分析到生成印刷电路板图的整个硬件开发过程。 提供几千种电子元件(分立元件和集成电路、模拟和数字电路)的电路符号、仿真模型和外形封装。 支持大多数单片机系统以及各种外围芯片(R S 2 3 2动态仿真、I 2 C调试器、S P I调试器、键盘和 L C D 系统仿真等)的仿真。 提供各种虚拟仪器,如各种测量仪表、示波器、逻辑分析仪、信号发生器等。过去需要昂贵的电子仪器设备、繁多的电子元件才能完成的电子电路、单片机等实验,现在只要一台电脑,都可在该软件环境下快速轻松地实现。 2.2 keIL介绍Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,

12、全Windows界面,界面友好,操作简单。另外重要的一点是只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(1)建立一个新的工程::单击“Ptoject”菜单,在弹出的下拉菜单中选择“New Project”选项。然后选择你要保存的路径,输入工程的名字然后点击保存。这时会弹出一个对话框,要求你选择单片机的型号,根据你所用的单片机来选择,Keil C51几乎支持所有的51内核的单片机,在本设计中选择的是AT89S51。(2)编写程序:单击“File”菜单,在下拉菜单中选择“New

13、”,这时编辑窗口会出现一个Text1窗口,光标在该窗口中闪烁,首先保存该空白文档,单击菜单上的“File”, 在弹出的下拉菜单中选择“Save As”选项,在出现的对话框中键入欲使用的文件名并同时键入正确的后缀名(本设计中为.asm),然后保存。回到编辑界面后,单击“Target 1”前面的“+”,然后在“Source Group 1”上单击右键,在弹出菜单中选择“Add Files to Group Source Group 1”,选中设计所需要的源程序文件,然后单击“Add”,这时注意到“Source Group 1”文件夹中多了若干个子项,子项的多少跟所增加的源程序的多少相同。这时就可以

14、键入应用程序了。Keil C51 会自动识别关键字,并以不同的颜色提醒用户加以注意,这样会使用户少犯错误,有利于提高编程效率。(3) 编译并生成HEX文件:程序编写完成以后,单击“Ptoject”菜单,在下拉菜单中选择“Built Target”选项,或者使用快捷键F7。编译成功后右击“Target 1”在弹出菜单中选择“Options For Target Target 1”,在弹出的对话框中选择“Output”选项中的“Creat HEX File”选项使程序编译后产生HEX代码,供下载器软件使用。3 系统硬件设计3.1 AT89C51单片机介绍ATMEL公司的AT89C51单片机由4K字

15、节可重擦写Flash闪速存储器,128*8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器和6个中断源。同时支持在线下载,并且该单片机经济实用,使用广泛。我们使用的是AT89C51的最小系统电路,包括:电源、时钟脉冲、复位电路和程序存储器设定电路,暂时只是显示很少的几个汉字,不用外扩存储器。3.1.1单片机的组成 下图是单片机典型组成框图,由图可见它通过内部总线把计算机的各主要部件连为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是为进行数据交换时提供地址,CPU通过将地址输出到存储器或I/O接口;数据总线用于在CPU与存储器或I/O接口之间或存储器与外设

16、之间交换数据;控制总路线包括CPU发出的控制信号线和外部送入CPU的应答线等,如图3.1所示。图3.1 单片机结构框图 51系列有3种封装形式,一种是DIP(Dual Inline Package)封装形式,一种是LCC(Quad Flat Package)封装形式。这种形式是具有44个“J”形脚的方型芯片。另一种是QFP(Quad Flat Package)封装形式, 这种形式是具有44个“J”形脚的方型芯片,但它的体积更小、更薄,是一种表面贴焊的封装形式。下面介绍下89S52单片机的引脚的功能和其内部结构图。AT89S52单片机实际有郊的引脚为40个,以下是89S52单片机的DIP封装形式

17、的引脚的名称,如图3.2所示。 图3.2 单片机封装图形51系列单片机的引脚功能:主电源引脚 Vss、Vcc Vss:接地,Vcc:接+5V电源外接晶振引脚 XTAL1、XTAL2 XTAL1:片内反向放大器输入端,XTAL2:片内反向放大器输出端输入/输出引脚 P0、P1、P2、P3P0.0P0.7:P0口的8个引脚,P0口是8位漏极开路型双向I/0端口,在接有片外存储器或I/0扩展接口时,P0.0P0.7分时复用,作低8位地址总线与双向8位数据总线P1.0P1.7:P1口的8个引脚,P1口是一个带内部上拉电阻的8位双向I/O口,对于52子系列,P1.0还可用于定时器/计数器2的计数脉冲输入

18、端2,1.1还可作定时器/计数器2的外部控制端T2EX。P2.0P2.7:P2口的8个引脚,P2口也是一个带内部上拉电阻的双向I/O口,在访问片外存储器或扩展I/O接口时,还用于提供高8位地址。P3.0P3.7:P3口的8个引脚,P3口也是一个带上拉电阻的I/O口,除可以作双向的输入输出口外,还具有第2功能。如表3.1所示。 表3.1 P3口第二功能表引脚第二功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD(串行口输入)TXD(串行口输出)INT0(外部中断0输入)INT1(外部中断1输入)T0(定时器0的外部中断)T1(定时器1的外部中断)WR(片外数据存储器写控制

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

20、周期两次有效,以通过P0口读入指令,在访问片外数据存储器时,该信号不出现。EA/Vpp: 双功能引脚,为片外程序存储器选用端。当该引脚信号有效时,选择片外程序存储器,即EA/Vpp=1时,访问片内程序存储器。 对片内含有EPROM的机型,此引脚在编程期间用于施加+21v的编程电压。RST/VPO: 双功能引脚,在单片机工作期间,当此引脚上出现连接2个机器周期的高电平时可实现复位操作。 在Vcc掉电期间,若该引脚接备用电源(+5v),可向片内RAM供电,以保存片内RAM中的信息。3.1.2 时钟脉冲电路 AT89C51单片机芯片内部设有一个反向放大器所构成的振荡器,其最高时钟脉冲频率已经达到了2

21、4MHz , AT89C51的两个引脚XTAL1和XTAL2(即19、18脚)分别为振荡电路的输入端和输出端,只要连接到简单的石英振荡晶体的2个管脚即可,同时晶体的2个管脚也要用30pF的电容耦合到地,具体电路如图3.1所示。 图3.3时钟电路3.1.3 复位电路 89C51的复位引脚(RESET)是第9脚,当此引脚连接高电平超过2个机器周期,即可产生复位的动作。以24MHz的时钟脉冲为例,每个时钟脉冲为0.5S,两个机器周期为1S,因此,在第9脚上连接一个2S的高电平脉冲,即可产生复位动作。最简单的硬件电路接法就是用一个电阻,一个电容和一个开关就构成可靠的复位电路,电阻一般选择10K,电容一

22、般选择10F,具体电路如图3.2所示: 图3.4 复位电路3.2 原理图本次课设使用5*7LED点阵显示字幕,采用了一块51单片机,一块5*7LED 加上单片机的最小电路,构成了简单的原理图,如图3.5所示。图3.5 原理图4 软件设计4.1程序设计分析 程序利用了一个外部中断,一个按键接一个外部中断,开始运行,实现功能1即B、C、A循环显示,按下按键产生外部中断0,实现功能2,数字1、2、3右移的动态显示,按下按键返回主程序实现功能1.通过按按键实现功能1和2的转换。 4.2程序流程图程序流程图包括主程序和中断程序分别由图4.1和图4.2所示。 图4.1 主程序 图4.2中断程序4.3软件编

23、程采用汇编语言进行编程实现B、C、A的静态显示和1、2、3向右移动的动态显示。ORG 0000H LJMP START ORG 0003H LJMP INTERUPT ORG 0100HSTART: /*初始化寄存器*/ SETB EA CLR IT0 SETB EX0 MOV A,#00H MOV R0,#20H MOV R1,#6EH ;调入数据到内存的数据长度 (TAB数据量决定) MOV R2,#00H MOV R3,#20H ;A显示时长 MOV R4,#20H ;B显示时长 MOV R5,#20H ;C显示时长 MOV DPTR,#TAB ACALL INIT LJMP MAINI

24、NIT: MOV A,R2 ;将数据调入内存(使用R0数据储存器储存数据) MOVC A,A+DPTR MOV R0,A INC R0 INC R2 DJNZ R1,INIT RET ORG 0200HINTERUPT:/*中断函数:移位操作*/ ;由于寄存器使用数量较大,用循环地 址加5需加寄存器数据储存读取 CLR EA ;已无法达到简化效果,故使用固定地址 MOV R5,#02H WORK_1: MOV R0,#2FH ;移位循环 1 LCALL BOOT_IN MOV R0,#34H LCALL BOOT_IN MOV R0,#39H LCALL BOOT_IN MOV R0,#3EH

25、 LCALL BOOT_IN MOV R0,#43H LCALL BOOT_IN DJNZ R5,WORK_1 MOV R5,#02H WORK_2: MOV R0,#48H ;移位循环 2 右移 ; LCALL BOOT_IN MOV R0,#4DH LCALL BOOT_IN MOV R0,#52H LCALL BOOT_IN MOV R0,#57H LCALL BOOT_IN MOV R0,#5CH LCALL BOOT_IN DJNZ R5,WORK_2 MOV R5,#02H WORK_3: MOV R0,#61H ;移位循环 3 右移 LCALL BOOT_IN MOV R0,#6

26、6H LCALL BOOT_IN MOV R0,#6BH LCALL BOOT_IN MOV R0,#70H LCALL BOOT_IN MOV R0,#75H LCALL BOOT_IN DJNZ R5,WORK_3WORK_2: MOV R0,#48H ;移位循环 2 上移 LCALL BOOT_IN MOV R0,#4DH LCALL BOOT_IN MOV R0,#52H LCALL BOOT_IN MOV R0,#57H LCALL BOOT_IN MOV R0,#5CH LCALL BOOT_IN MOV R0,#61H LCALL BOOT_IN MOV R0,#66H LCAL

27、L BOOT_IN DJNZ R5,WORK_2 MOV R5,#02HWORK_3: MOV R0,#6BH ;移位循环 3 下移 LCALL BOOT_IN MOV R0,#70H LCALL BOOT_IN MOV R0,#75H LCALL BOOT_IN MOV R0,#7AH LCALL BOOT_IN MOV R0,#7FH LCALL BOOT_IN MOV R0,#84H LCALL BOOT_IN MOV R0,#89H LCALL BOOT_IN DJNZ R5,WORK_3 MOV R3,#20H ;中断返回重新初始化 MOV R4,#20H MOV R5,#20H S

28、ETB EA RETIBOOT_IN:MOV A,R0 ;显示输出初始化 MOV R3,A MOV R4,#10H LOOP_IN:MOV A,R3 ;输出循环使字符“稳定” MOV R0,A MOV R1,#01H MOV R2,#05HPIO_IN: MOV A,R0 ;输出一个完整字符 MOV P0,A MOV A,R1 MOV P2,A LCALL DELAY MOV P0,#0FFH ;P0口清零消除显示误差 RL A MOV R1,A CLR A INC R0 DJNZ R2,PIO_IN DJNZ R4,LOOP_IN RET ORG 0300HMAIN: /*A,B,C循环显示

29、*/ LED_A: MOV R0,#20H ;R0地址为20H24H时R0内储存的数据为A的显示数据 AJMP BOOTLED_B: MOV R0,#25H ;R0地址为25H29H时R0内储存的数据为B的显示数据 AJMP BOOTLED_C: MOV R0,#2AH ;R0地址为2AH2EH时R0内储存的数据为C的显示数据BOOT: MOV R1,#01H ;显示输出初始化 MOV R2,#05H ;输出循环使字符“稳定”PIO: MOV A,R0 ;输出一个完整字符 MOV P0,A MOV A,R1 MOV P2,A LCALL DELAY MOV P0,#0FFH ;P0口清零消除显示误差 RL A MOV R1,A CLR A INC R0 DJNZ R2,PIO AJMP WORKWORK: DJNZ R3,LED_A ;显示数据切换函数 MOV R3,#01H DJNZ R4,LED_B MOV R4,#01H DJNZ R5,LED_C MOV R3,#20H MOV R4,#20H MOV R5,#20H LJMP LED_ADELAY: MOV R7,#01FHDEL: MOV R6,#05AH DJNZ R

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1