




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学号 苏州市职业大学 毕业设计 题目题目 多功能点阵显示屏的设计多功能点阵显示屏的设计 学生姓名: 张 专业班级: 11 应用电子 2 班 学院 (部): 电子信息工程学院 校内指导教师: (高级技工) 校外指导教师: *(职务) 完成日期: 2014 年 5 月 摘 要: LED 电子显示屏是利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏 幕,在信息显示领域得到了广泛的应用,实现显示屏的技术也有很多种。本文介绍了基于 单片机 AT80C52 为控制器的 1664LED 点阵显示屏系统的设计。以美国 ATMEL 公司生产的 40 脚单片机 AT89C52 为核心,介绍了以它为控制系
2、统的 LED 点阵电子显示屏的动态设计和 开发过程。通过该芯片控制一个行驱动器 74LS154 和八个列驱动器 74HC595 来驱动显示屏 显示。该电子显示屏可以显示各种文字或单色图像,全屏能显示 4 个汉字,采用 16 块 88 点阵 LED 显示模块来组成一个 1664 点阵显示模式。本文介绍了利用 Proteus 软件 进行原理图的绘制,利用汉字转换软件将汉字转换为将要发送给单片机的点阵数据,在 Keil 软件当中采用 C 语言编程,与 Proteus 进行联调,并通过仿真软件 Proteus 最终实 现自己设想的效果,总体上系统的设计简单、显示清晰、成本较低。 关键词:单片机 LED
3、 点阵显示屏 C 语言 Proteus 仿真 Abstract: LED electronic display module using the dot or pixel unit is constituted with a light emitting diode display of variable area , the information display has been widely applied to achieve the display , there are many techniques . This paper describes the design of the
4、 controller based on MCU AT80C52 16 64LED dot matrix display system. In the United States produced 40 feet ATMEL AT89C52 microcontroller as the core , introduced to it as the electronic control system of LED dot matrix display dynamic design and development process . 74LS154 74HC595 and eight column
5、 drivers to drive through the display driver chip controls a row . The electronic display can display a variety of text or monochrome images, full screen can display four characters , using 16 8 8 LED dot matrix display module consisting of a 16 64 dot matrix display mode. This paper describes the u
6、se of Proteus schematic drawing software , the use of Chinese characters kanji conversion software will convert SCM lattice data to be sent to , the Keil software which uses the C programming language , and Proteus the FBI , and finally by Proteus simulation software realize their vision effect, the
7、 overall design of the system is simple , clear display and low cost. Keywords: microcontroller LED dot matrix display C language Proteus simulation 目录 1 引言.1 2 系统的概述和方案.2 2.1 设计方案 .2 2.1.1 单片机的选择.2 2.1.2 数据传输方案.2 2.1.3 时间矛盾问题的解决.2 2.2 字模点阵工具使用说明 .3 2.2.1 功能介绍.3 2.2.2 使用方法解析.4 3 系统硬件电路的设计.6 3.1 芯片功能
8、说明 .6 3.1.1 74HC154 功能简介 .6 3.1.2 74HC595 功能简介 .8 3.1.3 74HC04 功能简介 .9 3.2 单片机系统及外围电路 .10 3.3 1664 点阵显示屏设计.11 3.4 LED 点阵显示器的扫描驱动电路.12 3.4.1 行驱动电路.12 3.4.2 列驱动电路.13 4 系统软件的设计.15 4.1 单片机语言的选择 .15 4.2 点阵屏显示原理 .15 4.3 显示功能简述 .16 4.4 显示模式 .16 5 软件调试及仿真.19 结论.21 致谢.22 参考文献:.23 附录 1:总源程序 .24 1 引言 LED 显示屏是八
9、十年代后期在全球迅速发展起来的新兴信息显示媒体,显示屏 由几万甚至几十万个半导体发光二极管排列组成,利用不同的材料可以制成不同色 彩的 LED 像素点。目前应用最广泛的是红色、绿色、黄色,而蓝色和纯绿色的开发 已经达到了实用阶段。LED 显示屏可以显示数字、文字、2D/3D 图形图像。不仅可 以用于室内还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优 点。 短短十年中,LED 点阵显示屏以亮度高、工作电压低、功耗小、小型化、寿命 长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得 到了广泛的应用。LED 的发展极为广阔,目前正朝着更高亮度、更高耐气候性、更
10、高发光密度、更高发光均匀性、可靠性、全色化方向发展。LED 显示屏的应用涉及 社会多领域。例如机场、车站等乘车引导动态信息的显示,商场、证券交易、邮政 等实时信息显示。 现代信息社会中,作为人机信息视觉传播媒体的显示产品和技术得到了迅速的 发展。LED 显示屏也得到了很好的发展,随着 LED 显示屏产品功能的不断完善,基 础材料的产业化,其成本也逐年降低,已基本具备成熟的商业化条件。进入二十一 世纪的显示技术将是平板显示时代,LED 显示屏作为平板显示的主导产品之一无疑 会有更大的发展,未来 LED 显示屏会向着标准化、规范化、产品结构多样化方向发 展,相信在未来 LED 显示屏将会成为二十一
11、世纪的平板显示主流产品。 2 系统的概述和方案 2.1 设计方案 2.1.1 单片机的选择 设计采用常用的单片机 AT89C52 控制,技术比较熟练,应用广泛,现在 51 系 列技术硬件的发展也非常快,出现了许多功能非常强大的单片机,因此使用单片机 可以实现要求的基本功能。 图 2-1 单片机处理框图 2.1.2 数据传输方案 显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数 目多。当列数很多时,并列传输的方案是不可取的。 采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往 列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序 一位一位
12、地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的 各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备 (传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当 长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到 LED 的亮 度。 2.1.3 时间矛盾问题的解决 解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理 的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目 的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱动器电 路应具有的功能。对于列数据准备来说,它应能实现串入并
13、处的移位功能;对于列 数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入 并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响 本行的显示。图 1-2 为显示屏电路实现的结构框图。 图 2-2 点阵显示屏系统框图 2.2 字模点阵工具使用说明 2.2.1 功能介绍 1.生成中英文数字混合的字符串的字模数据. 2.可选择字体,大小,并且可独立调整文字的长和宽,生成任意形状的字符。 3.各种旋转,翻转文字功能 4.任意调整输出点阵大小,并任意调整字符在点阵中的位置。 5.字模数据输出可自定义各种格式,系统预设了 C 语言和汇编语言两种格式, 并且可自己定义出新的数
14、据输出格式,每行输出数据个数可调。 6.支持四种取模方式:逐行(就是横向逐行取点);逐列(纵向逐列取点); 行列(先横向取第一行的 8 个点作为第一个字节,然后纵向取第二行的 8 个点作为 第二个字节);列行(先纵向取第一列的前 8 个点作为第一个字节,然后横向 取第二列的前 8 个点作为第二个字节) 7.支持阴码(亮点为 1),阳码(亮点为 0)取模 8.支持纵向(第一位为低位)(,倒向第一位为高位)取模 9.输出数制可选 16 进制或 10 进制 10.可生成索引文件,用于在生成的大量字库中可快速检索到需要的汉字 11.动态液晶面板彷真,可调节彷真面板象素点大小和颜色 12.图形模式下可任
15、意用鼠标作画,左键画图,右键擦图。 13.旋转,翻转,平移等字符模式下的功能也可用与对 BMP 图象的处理 14.用户选择 10 进制输出时,会自动去掉生成字模数据前的“0 x,或后面的 “H”,选择 16 进制时则会自动加上。 15.具备生成英文点阵字库功能,可自动生成 ASCII 码从 0-127 的任意点阵字 库,使用方法同生成国标点阵字库功能。 2.2.2 使用方法解析 在正式版中,用户可生成自己需要的各种小字库,也可以生成自定义的国标一 二级汉字库。 生成自定义的小字库: 1.使用 PCTOLCD 的各种调整功能调整出您需要的文字样式,如字体,字样(下划、 倾斜、加粗),大小(各种点
16、阵大小的字体,可锁定点阵本身大小(如 16*16),然后在 这个固定的点阵大小内调节文字的大小(例如在 16*16 的点阵中居中显示 12*12 大 小的汉字),如图 1-4 2.将您需要的汉字和符号集中形成一个文本文件 3.使用“导入文本”的按钮 4.确认“生成二进制字库”被选中(建议选中生成索引文件原因后析) 5.点“开始生成”按钮,选择生成的字库文件名 6.然后耐心等待一段时间(与处理文本大小有关),在此期间建议不要动键盘 和鼠标 7.字库生成完毕 生成国标一二级汉字库: 1.使用 PCTOLCD 的各种调整功能调整出您需要的文字样式,如字体,字样(下划, 倾斜,加粗),大小(各种点阵大
17、小的字体,可锁定点阵本身大小(如 16*16),然后在 这个固定的点阵大小内调节文字的大小(例如在 16*16 的点阵中居中显示 12*12 大 小的汉字) 2.使用“导入文本”的按钮 3.点右下角生成国标汉字库按钮 4.选择字库文件名后单击确定 5.耐心等待一段时间后既得到生成的汉字库 当然,如果不选中“生成二进制字库”的复选框,生成的字库将是文本格式的 字模数据,生成英文点阵字库功能,使用方法同上。 图 2-3 字库字模选项 图 2-4 字库点阵模型 3 系统硬件电路的设计 本系统采用 AT89C52 单片机作控制器。整个电路主要由单片机控制及驱动显示 电路、电源电路等部分组成,硬件电路大
18、致上可以分成单片机系统及外围电路、列 驱动电路和行驱动电路三部分。 3.1 芯片功能说明 3.1.1 74HC154 功能简介 1、概述: 74HC154 是一款高速 CMOS 器件,其引脚兼容低功耗肖特基 TTL(LSTTL)系列。 74HC154 译码器可接受 4 位高有效二进制地址输入,并提供 16 个互斥的低有 效输出。74HC154 的两个输入使能门电路可用于译码器选通,以消除输出端上的通 常译码“假信号”,也可用于译码器扩展。该使能门电路包含两个“逻辑与”输入, 必须置为低以便使能输出端。任选一个使能输入端作为数据输入,74HC154 可充当 一个 1-16 的多路分配器。当其余的
19、使能输入端置低时,地址输出将会跟随应用的 状态。 74154 这种单片 416 线译码器非常适合用于高性能存储器的译码器。当两个 选通输入 G1 和 G2 为低时, 它可将 4 个二进制编码的输入译成 16 个互相独立的 输出之一。实现解调功能的办法是:用 4 个输入线写出输出线的地址,使得在一 个选通输入为低时数据通过另一个选通输入,当任何一个选通输入是高时,所有输 出都为高。以下是 74HC154 的特点: 将 4 个二进制编码输入译成 16 个彼独立的输出之一 将数据从一个输入线分配到 16 个输出的任意一个而实现解调功能 输入箝位二极管简化了系统设计 与大部分 TTL 和 DTL 电路
20、完全兼容 2、引脚功能: 引脚端符号名称及功能 1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17Y0Y15 输出低电平 18,19G1,G2 使能输入(低电平) 23,22,21,20AD 地址输入 12GND 接地(0V) 24VCC 电源电压 3、真值表(H 表示高电平 L 表示低电平): 输入 G1G2DCBA 选定输出(L) LLLLLLY0 LLLLLHY1 LLLLHLY2 LLLLHHY3 LLLHLLY4 LLLHLHY5 LLLHHLY6 LLLHHHY7 LLHLLLY8 LLHLLHY9 LLHLHLY10 LLHLHHY11 LLHHLLY1
21、2 LLHHLHY13 LLHHHLY14 LLHHHHY15 XHXXXXNONE HXXXXXNONE 3.1.2 74HC595 功能简介 1、74HC595 的工作原理: 74HC595 具有8 位移位寄存器和一个存储器,三态输出功能。移位寄存器和存 储器是分别的时钟。 数据在SHcp 的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两 个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个 串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储 寄存器有一个并行8位的,具备三态的总线输出,当使能 OE 时(为低电平),存 储寄存器的数据
22、输出到总线。 2、74HC595各个引脚的功能: Q07: 是并行数据输出口,即储寄存器的数据输出口 Q7: 级联输出端。我将它接下一个595的SI端 SER(DS): 串行数据输入端。 /SCLR(MR)(10脚): 芯片复位端,低点平时将移位寄存器的数据清零。通常我 将它接Vcc。 SCK(SHCP)(11脚):移位寄存器的时钟脉冲输入口,上升沿时数据寄存器的数 据移位Q0-Q1-.-Q7,下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于 几十纳秒就行了,通常都选微秒级)。 RCK(STCP)(12脚):存储寄存器的时钟脉冲输入口,上升沿时移位寄存器的数 据进入数据存储寄存器,下降沿时存
23、储寄存器数据不变。通常将RCK 置为低电平, 当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了,通常都选 微秒级),更新显示数据。 /G(OE)(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用 一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时 省力。 注:74HC164和74HC595功能相仿,都是8位串行输入转并行输出移位寄存器。 74HC164的驱动电流(25mA)比74HC595(35mA)的要小,14脚封装,体积也小一些。 74HC595 的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以 保持不变。这在串行速
24、度慢的场合很有用处,数码管没有闪烁感。与164只有数据 清零端相比,595还多有输出端使能/禁止控制端,可以使输出为高阻态。 3.1.3 74HC04 功能简介 1、概述与特性: 74HC04 是一种高速CMOS器件,兼容低功耗肖特基TTL(LSTTL)非门(逆变器), 采用 CMOS 工艺,内部含有 6 组相同通道的反相器。其宽电压工作范围:3.0V 5.0V,适用于数字电路的信号反相应用。 2、管脚功能说明: 名称功能说明管脚号 1A-6A 数据输入1、3、5、9、11、13 1Y-6Y 数据输出2、4、6、8、10、12 VDD 逻辑电源 14 GND 逻辑地 7 图 3-1 74HC0
25、4 管脚图和内部逻辑图 3、真值表: 最大额定值 电源电压 -0.5 to +7.0V DC 输入电压 -1.5 to Vcc+1.5V 直流输出电压 -0.5 to Vcc+0.5V 钳位二极管电流 20mA 直流输出电流,每个引脚(输出) 25mA 功耗 600mW 3.2 单片机系统及外围电路 单片机采用 MSC-51 或其兼容系列芯片,采用 12MHZ 或更高频率晶振,以获得 较高的刷新频率,显示更稳定。单片机的串口与列驱动器相连,用来显示数据。P3 口低 4 位与行驱动器相连,送出行选信号;P1.7 口则用来发送控制信号。单片机 MSC-51 的引脚基本功能: P0 口:P0 口为一
26、个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器, 它可以被定义为数据/地址的低八位。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收 输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外 部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验 时,P1 口作为低八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输 出 4 个 TTL
27、门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输 入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上 拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八 位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入
28、。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平 时间。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 图 3-2 AT89C52 单片机最小系统原理图 3.3 1664 点阵显示屏设计 图 3-3 是一种 88 的 LED 点阵单色行共阴模块的内部结构图,其单点工作电 压为 1.8 V,正向电流露为 810 mA。当某一行线为低电平而某一列线为高电平时, 其行列交叉的点就被点亮;而当其某一列线为低电平时,其行列交叉的点为暗;当 某
29、一行线为高电平时,无论列线如何,对应这一行的点全部为暗。用 4 个 88 点 阵显示可构成 1616 点阵显示器,其连接方法如图 3-4 所示。图中,将(A)和(B) 的 8 列、(C)和(D)的 8 列分别对应相连,同时将(A)和(C)的 8 行、(B)和(D)的 8 行 分别对应相连。即可形成一个 16 行(每一行有 16 个 LED)、16 列(每一列也有 16 个 LED)的 1616 点阵显示器。可将这 256 个点称为一页,这样,显示字符时,只 要对一页中对应的亮灭进行控制即可。把 4 个 1616 点阵显示器相连从而构成 1664 的点阵显示器如图 3-5。 图 3-3 88 的
30、 LED 点阵行共阴模块的内部结构图 图 3-4 1616 点阵连接图 图 3-5 1664 点阵连接图 3.4 LED 点阵显示器的扫描驱动电路 LED 显示屏驱动电路的设计应与所用控制系统相配合。驱动通常分为动态扫描 型驱动和静态锁存型驱动两大类。本文以动态扫描型驱动电路的设计为例来进行分 析。动态扫描型驱动方式是指显示屏上的 16 行发光二极管共用一组列驱动寄存器, 然后通过行驱动管的分时工作,来使每行 LED 的点亮时间占总时间的 116。只要 每行的刷新速率大于 50 Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整 的文字或画面。 AT89S52 单片机有四个 IO 口(P0、
31、P1、P2、P3)。每个 IO 口有 8 位,如果 都采用并行输出,显然不能满足要求。因此,本设计中的行扫描驱动采用并口输出, 而场扫描驱动采用串口输出。 3.4.1 行驱动电路 由于 16x64 点阵显示器有 16 行,为充分利用单片机的接口。本电路中加入了 一个 416 线译码器 74LSl54,其输入是一个 16 进制码,解码输出为低态扫描信 号,它们的管脚示意图如图 2-6 所示。把 74LSl54 的 E2 引脚接地,E1 引脚作为控 制端,然后以 A、B、C、D 四脚为输入端,就会形成 16 种不同的输入状态,分别为 00001111,然后使每种状态只控制一路输出,即会有 16 路
32、输出。如果一行 64 点 全部点亮,则通过 74LSl54 的电流将达 640 mA,而实际上,74LSl54 译码器提供不 了足够的吸收电流来同时驱动 64 个 LED 同时点亮,因此,应在 74LSl54 每一路输 出端与 16x64 点阵显示器对应的每一行之间用一个反相器来将电流信号放大,本文 选用的是 74HC04。这样,74LSl54 某一输出脚为低电平时,对应的反相器可以提高 电流幅值,从而使点阵显示器的对应行能较清晰的显示。 图 3-6 74HC154 引脚图 3.4.2 列驱动电路 本系统列扫描驱动电路的设计可用串人并出的通用集成电路 74HC595 来作为数 据锁存。74HC
33、595 是一个八位串行输入三态并行输出的移位寄存,其管脚见图 2-8 所示,其中 DS 是串行数据的输入端,STCP 是存储寄存器的输入时钟,SHCP 是移位 寄存器的输入时钟。Q7是串行数据的输出 MR 是对输入数据的输出使能控制, Q0Q7 为串入数据的并行输出。从 DS 口输入的数据可在移位寄存器的 SHCP 脚上 升沿的作用下输入到 74HC595 中。并在 STCP 脚的上升沿作用下将输入的数据锁存 在 74HC595 中,这样,当 MR 为低电平时,数据便可并行输出。为了避免与 PC 机 串口输入的数据相互干扰,也可使用模拟串口 P2.0P2.2 来分别输出串行数据、 移位时钟 S
34、HCP、存储信号 STCP。 图 3-7 74HC595 引脚图 图 3-8 列驱动电路 将 8 片 74HC595 进行级连,可共用一个移位时钟 SHCP 及数据锁存信号 STCP。 这样,当第一行需要显示的数据经过 88=64 个 SHCP 时钟后便可将其全部移入 74HC595 中,此时还将产生一个数据锁存信号 STCP 将数据锁存在 74HC595 中,并 在使能信号 OE 的作用下,使串入数据并行输出,从而使与各输出位对应的场驱动 管处于放大或截止状态;同时由行扫描控制电路产生信号使第一行扫描管导通,相 当于第一行 LED 的正端都接高,显然,第一行 LED 管的亮灭就取决于 74H
35、C595 中的 锁存信号;此外,在第一行 LED 管点亮的同时,再在 74HC595 中移入第二行需要显 示的数据,随后将其锁存,同时由行扫描控制电路将第一行扫描管关闭而接通第二 行,使第二行 LED 管点亮,以此类推,当第十六行扫描过后再回到第一行,这样, 只要扫描速度足够高,就可形成一幅完整的文字或图像。 图 3-9 行列驱动总电路 4 系统软件的设计 4.1 单片机语言的选择 汇编语言编程,由于汇编语言是比较低层的开发语言,它要求开发者非常熟悉 单片机的结构,存储器的结构等等。再者汇编语言的可读性差,一般人是很难看懂 的。还有其致命的一点,可移植性比较差,所以使用汇编语言编程需要大量的时
36、间 用于软件的编写和调试。 C 语言编程,它不要求开发者深入了解单片机和硬件接口的结构。编译器自动 完成变量和存储单元的分配,可读性比较好,可移植性强,这是 C 语言最大的优势, 而且现在很多编译器都能很好的支持 C 语言的编译和调试,因此本设计采用 C 语言 编程 4.2 点阵屏显示原理 四个 88 的点阵构成一个 1616 的点阵,共由 256 个 LED 构成。如果 LED 的 阴极与行相连,而阳极与列相连,那么只要给该 LED 对应的行以低电平,列以高电 平,那么对应的 LED 就发光。 图 2-2 画出了可显示一个汉字的 1616 的点阵屏模块。这种模块由 256 个发 光 LED
37、以 1616 的形式构成一个正方形模块,然后引出 2 列 16 针的引脚将内部电 路接口引出,供驱动电路使用。 图 4-1 LED 点阵显示原理图 行对应的给 LED 的阴极,先给第一行以低电平,随后给 16 列送驱动代码,则 第一行的第 7 个 LED 被点亮,再给第二行以低电平,随后给 16 列送驱动代码则第 二行的第 8 个 LED 被点亮,接着给第三行以低电平,同时给列以驱动代码,这样不 断地进行的扫描,只要速度够快,由于人的视觉暂留作用,就不会感觉到明显的闪 烁感。点阵上会看到一个清晰的“欢”字。 4.3 显示功能简述 显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使
38、屏幕 按设计的要求显示。 根据软件分层次设计的原理,可以把显示屏的软件系统分为两层,第一层是底 层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体输送 显示数据,并负责产生行扫描信号和其他控制信号,配合完成 LED 显示屏的扫描显 示工作;系统应用程序完成系统环境设置(初始化) 、显示效果处理等工作,从而 有利于实现较复杂的算法(显示效果处理)和有利于程序结构化。 4.4 显示模式 本文设计的系统软件能使 LED 显示屏显示图形和中英文文字,显示的图形和文 字稳定、清晰无串扰。图形或文字显示有向上移入、静止、向上移出等显示方式。 系统主程序开始以后,首先是对系统环境初始化,包
39、括设置定时器、中断等。 然后“向上移动”显示汉字和图形,停留约 1s, “静止”显示图案和文字,接着 “向上移动”显示汉字和图形。由于单片机没有停机指令,所以可以设置系统程序 不断的循环执行上述显示效果。单元显示屏可以接收来自控制器(主控制电路板) 或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命 令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多 的显示单元,用于显示更多的显示内容。控制显示程序如下: while(1) for(x=0;x24;x=x+4) /控制总共可以现实的字数 for(i=0;i0;j-) write_595(display
40、x+3k); write_595(displayx+3k-1); write_595(displayx+2k); write_595(displayx+2k-1); write_595(displayx+1k); write_595(displayx+1k-1); write_595(displayxk); write_595(displayxk-1); k+=2; hang=hangsz16-j; stcp=1;stcp=0; delay_ms(80); TR0=1;flag=1; while(flag) /停留 1 秒,字符静止显示 1 秒 uchar j; for(j=0;j0;i-)
41、/字符滚动出显示区 k=31; for(j=i-1;j0;j-) write_595(displayx+3k); write_595(displayx+3k-1); write_595(displayx+2k); write_595(displayx+2k-1); write_595(displayx+1k); write_595(displayx+1k-1); write_595(displayxk); write_595(displayxk-1); k-=2; hang=hangszj; stcp=1;stcp=0; delay_ms(80); 图 4-1 上移模式流程框图 5 软件调试及
42、仿真 Keil 中程序编写正确之后选择 Project 点击 Options for TargetTarget1 弹出编辑对话框如图 5-1,可以选择生成 hex 文件。 图 5-1 完成上述步骤之后对程序进行编译,然后在 Protues 软件中打开 AT89C52 单片 机的元件属性编辑对话框,如图 5-2 所示,单击文件夹图标,选择 “dianzhen.hex”文件,点击确定,随后即可对系统进行仿真,整个系统的仿真结 果如图 5-3 英文、数字和汉字字符。 图 5-2 图 5-3 结论 本文设计的是 1664 的点阵 LED 图文显示屏,通过 LED 显示屏稳定显示清晰 的图形和中英文字符
43、,图形或文字显示有向上移入、静止、向上移出等显示方式。 这次的设计硬件少,结构简单,容易实现,成本相对不高。 虽然这次的设计难度一般,可是在设计过程中还是遇到了各种不同程度的麻烦。 例如在做 Proteus 仿真图绘制的过程中就遇到了很多问题,比如说寻找元器件,元 器件都是英文命名的,而且每个名字还对应多种规格参数,需要判断准确才可以准 确选择器件,否则仿真时会出错,这种错误很难辨别的。再者是网络标签的设置, 要注意字母大小写区别,注意移动元件模块的时候节点不要相碰,否则会导致节点 意外相连,这也会致使仿真出错。总之,一个节点就很有可能导致整个实验的失败, 可谓是牵一发而动全身,因此,在画电路
44、图时,一定要仔细,把每个点、每根线都 连接好,根据电路特性选择正确规格的元器件,这样最后调试的时候才不容易出错。 这次毕业设计深化了我对 Keil、Proteus 等软件基本功能的了解,我感受到 了 Proteus 对学习单片机的重大帮助。它能进行各种基于单片机的电路仿真,不 用再费时间和精力在硬件的焊接调试上了,极大提高了学习效率。 在此过程中,我还了解到实践必须要有相关的理论知识作为支撑,做设计之前 必须要把相关的理论搞清楚,要有总体的设计思想。 所以在进行设计之前,我通过图书馆和网络等各种渠道搜集资源,扩充自己的 知识,过程中不仅学到了新的专业知识,还提高了其他的能力。比如学会了对所浏
45、览知识的取舍及分析,增强了对所学知识的思考整合能力,培养了自己的思维能力, 积累了分析问题和解决问题的经验。尤其是自己的编程和语言理解能力,得到了大 大的提高。 致谢 该设计是在张进峰老师的悉心指导下完成的,在论文设计过程中,张老师不仅 给予我全面的技术指导,还给了我一些相关的资料,花费了大量的心血,使我在单 片机领域获得了新的知识和技能,并最终顺利完成论文,对此我表示由衷的感谢。 张老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度 以及诲人不倦的师者风范是我们毕业生的学习楷模。 在三年的大学生涯中,还得到了众多老师的关心和教诲,在此,我向老师们致 以衷心的感谢和崇高的敬
46、意!同时,我还要感谢父母对我二十多年的养育和培育之 恩,是他们给予了我学习的原动力,故此,我才能够坚持不懈,努力拼搏,获取知 识,贡献自己,服务社会。 同学舍友是我最亲密的伙伴,遇到问题第一个想到的也是他们,设计的顺利完 成,他们也给予了我很多支持和帮助,在此表示诚挚的谢意。我还想感谢我们的大 学,是它给我提供了良好的学习设施,例如图书馆,那是知识的海洋,在那里汲取 知识,永不知倦。 最后,我要向百忙之中抽出时间对本文进行审阅、评议和参加此次论文答辩的 各位老师表示感谢! 参考文献: 1陈忠平.侯玉宝.李成群.基于 Proteus51 系列的单片机设计与仿真,2008.9 2马忠梅.籍顺心.张
47、凯.马岩.单片机 C 语言应用程序设计(第三版)M.北京:北京航空航 天大学出版社,2003 3殷晓安.吴明亮.基于单片机的 LED 点阵显示条屏控制系统设计J.世界科技研究与发展 2008 4张毅刚 MCS-51 单片机应用设计M.哈尔滨:哈尔滨工业大学出版社,2003 5李广弟.单片机基础M.北京:北京航空航天大学出版社,2001 6王毅.单片机器件应用手册M.北京:人民邮电出版社,1995 7诸昌钤.LED显示屏系统原理及工程技术M.成都:电子科技大学出版社,2000 8李光飞.单片机课程设计实例指导M.北京:北京航空航天出版社,2004 9阳进.基于单片机的LED显示屏的汉字显示J.中
48、国科技信息,2005 附录 1:总源程序 #include #define uchar unsigned char #define uint unsigned int #define hang P3 /行扫描接在 P3 口 sbit ds=P20; /595 数据口 sbit clk=P21; /595 位移时钟 SH_CP sbit stcp=P22; /595 寄存器时钟 ST_CP sbit g1=P17; /154 使能端 uint counter,m,n; uchar flag; uchar code hangsz=0 x00,0 x01,0 x02,0 x03,0 x04,0 x0
49、5,0 x06,0 x07, 0 x08,0 x09,0 x0a,0 x0b,0 x0c,0 x0d,0 x0e,0 x0f; /行扫描数组 uchar code display32= 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 xD6, 0 x00, 0 x54, 0 x00, 0 x54, 0 x00, 0 x54, 0 x3C, 0 x54, 0 x42, 0 x6C, 0 x7E, 0 x28, 0 x40, 0 x28, 0 x40, 0 x28, 0 x42, 0 x28, 0 x3C, 0 x00, 0 x00, 0 x00, 0 x0
50、0, 0 x00, 0 x00,/*We*/ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x70, 0 x00, 0 x10, 0 x00, 0 x10, 0 x00, 0 x10, 0 x1C, 0 x10, 0 x22, 0 x10, 0 x40, 0 x10, 0 x40, 0 x10, 0 x40, 0 x10, 0 x22, 0 x7C, 0 x1C, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,/*lc*/ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00
51、, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x18, 0 xF8, 0 x24, 0 x54, 0 x42, 0 x54, 0 x42, 0 x54, 0 x42, 0 x54, 0 x24, 0 x54, 0 x18, 0 xD6, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,/*cm*/ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x10, 0 x00, 0 x10, 0 x00, 0 x7C, 0 x18, 0 x10, 0 x24, 0 x10
52、, 0 x42, 0 x10, 0 x42, 0 x10, 0 x42, 0 x10, 0 x24, 0 x0C, 0 x18, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,/*to*/ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 xF8, 0 xE7, 0 x54, 0 x42, 0 x54, 0 x24, 0 x54, 0 x24, 0 x54, 0 x28, 0 x54, 0 x18, 0 xD6, 0 x10, 0 x00
53、, 0 x10, 0 x00, 0 xE0, 0 x00, 0 x00,/*my*/ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x3C, 0 x1C, 0 x44, 0 x22, 0 x40, 0 x40, 0 x38, 0 x40, 0 x04, 0 x40, 0 x44, 0 x22, 0 x78, 0 x1C, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,/*sc*/ 0 x00, 0 x00, 0 x00, 0 x00,
54、 0 x00, 0 x00, 0 xC0, 0 x00, 0 x40, 0 x00, 0 x40, 0 x00, 0 x5C, 0 x18, 0 x62, 0 x24, 0 x42, 0 x42, 0 x42, 0 x42, 0 x42, 0 x42, 0 x42, 0 x24, 0 xE7, 0 x18, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,/*ho*/ 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x70, 0 x00, 0 x10, 0 x00, 0 x10, 0 x18, 0 x10,
55、 0 x24, 0 x10, 0 x42, 0 x10, 0 x42, 0 x10, 0 x42, 0 x10, 0 x24, 0 x10, 0 x18, 0 x7C, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, /*ol*/ 0 x0,0 x80,0 x0,0 x80,0 x1,0 xc0,0 x1,0 xc0,0 x3,0 xe0,0 x7f,0 xff,0 x3f,0 xfe,0 x1f,0 xfc,0 xf,0 x f8,0 x7,0 xf0,0 xf,0 xf8,0 xf,0 x78,0 x1e,0 x3c,0 x18,0 xc,0 x20,0
56、 x2,0 x0,0 x0,/*星星*/ 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x3C,0 x3C,0 x66,0 x66,0 x66,0 x66,0 x06,0 x66,0 x0C,0 x66,0 x18,0 x66,0 x30,0 x66,0 x60,0 x66,0 x60,0 x66,0 x7E,0 x3C,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/* 20,1*/ 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x18,0 x06,0 x78,0 x0E,0 x18,0 x1E,0 x18
57、,0 x1E,0 x18,0 x36,0 x18,0 x36,0 x18,0 x66,0 x18,0 x7E,0 x18,0 x06,0 x18,0 x06,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/* 14,2*/ 0 x08,0 x00,0 x08,0 x00,0 x0F,0 xF8,0 x10,0 x80,0 x20,0 x80,0 x4F,0 xF0,0 x08,0 x80,0 x08,0 x80,0 x08,0 x80,0 x7F,0 xFC,0 x00,0 x80,0 x00,0 x80,0 x00,0 x80,0 x00,0 x80,0 x00,0
58、 x00,0 x00,0 x00,/* 年*,3*/ 0 x08,0 x20,0 x08,0 x20,0 xFF,0 xFE,0 x08,0 x20,0 x0A,0 x20,0 x02,0 x00,0 x7F,0 xF0,0 x02,0 x10,0 x02,0 x14,0 x22,0 x12,0 x22,0 x12,0 x24,0 x12,0 x44,0 x10,0 x08,0 x10,0 x10,0 xA0,0 x20,0 x40,/* 苏,4*/ 0 x10,0 x04,0 x10,0 x84,0 x10,0 x84,0 x10,0 x84,0 x10,0 x84,0 x54,0 xA4,
59、0 x52,0 x94,0 x52,0 x94,0 x90,0 x84,0 x10,0 x84,0 x10,0 x84,0 x10,0 x84,0 x20,0 x84,0 x20,0 x84,0 x40,0 x04,0 x80,0 x04,/* 州,5*/ 0 x02,0 x00,0 x01,0 x00,0 x00,0 x00,0 x7F,0 xFC,0 x01,0 x00,0 x01,0 x00,0 x01,0 x00,0 x3F,0 xF8,0 x21,0 x08,0 x21,0 x08,0 x21,0 x08,0 x21,0 x08,0 x21,0 x28,0 x21,0 x10,0 x
60、01,0 x00,0 x01,0 x 00,/*市,6*/ 0 x00,0 x00,0 xFF,0 x00,0 x24,0 xFC,0 x24,0 x84,0 x3C,0 x84,0 x24,0 x84,0 x24,0 x84,0 x3C,0 x 8,0 x24,0 xFC,0 x24,0 x84,0 x2E,0 x00,0 xF4,0 x48,0 x44,0 x44,0 x04,0 x84,0 x04,0 x82,0 x05,0 x02,/ *职,7*/ 0 x04,0 x40,0 x04,0 x40,0 x04,0 x40,0 x04,0 x40,0 x44,0 x44,0 x24,0 x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论