毕业论文基于单片机的led点阵广告牌设计内容摘要:

短了开发周期。 在条屏的运用中,能用 ARM 来实现 花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。 ARM 与 FPGA 的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。 因此,以 ARM 为控制器的显示屏常为视频全彩屏。 3 硬件电路设计 系统硬件概述 整个电路由单片机 89C51, 8 个 74LS373, 1 个 74HC154, 1 个 74LS138,4 个 16 16 的LED。 该电路所设计的电子屏可显示 多 个汉字,需要 4 个 16 16 LED 点阵模块,可组成 16 64的 条 形点阵。 AT89C51 是一种带 4KB 可编程可擦除 只读存储器 的低电压,高性能微处理器,俗称单 片机。 单片机的可擦除只读存储器可以反复擦除 100 次。 该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器, AT89C2051 是它的一种精简版本。 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51 引脚即外观如图 所示。 图 AT89C51 的管脚图 译码器是组合逻辑电路的一个重要的器件, 74LS138 的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门 , 74LS138 与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。 发光二极管点亮只须使其正向导通即可,根据 LED 的公共极是阳极还是阴极分为两类译码器,即针对共阳 极的低电平有效的译码器 ; 针对共阴极 LED 的高电平输出有效的译码器。 74LS373 是低功耗肖特基 TTL8D 锁存器,内有 8 个相同的 D 型 (三态同相 )锁存器,由两个控制端 (11 脚 G或 EN; 1 脚 OUT、 CONT、 OE)控制。 当 OE 接地时,若 G 为高电平, 74LS373接收由 PPU 输出的地址信号;如果 G 为低电平,则将地址信号锁存。 工作原理: 74LS373 的输出端 O0— O7 可直接与总线相连。 当三态允许控制端 OE 为低电平时, O0— O7 为正常逻辑状态,可用来驱动负载或总线。 当 OE 为高电平时, O0— O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时, O 随数据 D 而变。 当 LE 为低电平时, O 被锁存在已建立的数据电平。 74LS373 引脚即外 观如图 所示 图 74LS373 引脚图 74HC154 为 4 线- 12 线译码器,当选通端( G G2)均为低电平时,可将地址端( ABCD)的二进制 编码在一个对应的输出端,以低电平译出。 若将 G1 和 G2 中的一个作为数据输入端,由 ABCD 对输出寻址, 还可作 1 线- 16 线数据分配器。 工作环境温度为 0~ 70℃,对社会的要求非常适合。 LED,50 年前人们已经了解半导体材料可产生光 线的基本 知识,第一个商用二极管产生于 1960 年。 LED 是英文 light emitting diode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧 7 树脂密封,即固体封装,所以能起到保护内部芯线的 作用,所以 LED 的抗震性能好 该电路的显示采用逐行扫描方式。 工作时,由单片机取出第一行需要显示的 内容 经延时一段时间后再进行下一行点阵数据的显示。 需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符的显示。 1616LED 点阵显示制作 1616LED 点阵的内部结构及工作原理 以 UCDOS 中文宋体字库为例,每一个字由 16 行 16 列的点阵组成显示。 即国家标准汉字库中的每一个字均由 256 点阵来表示。 我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。 事实上这个汉字屏不仅可以显示汉字,也可以显示在 256 像素范围内的任何图形。 这里我们以“高”字说明,如图 所示。 图 16*16LED 汉字显示 用 8 位的 AT89C51 单片机控制,由于单片机的总线为 8 位,一个字需要拆分为 2 个部分。 一般 把它 拆分为上部和下部, 上部由 8 16 点阵组成, 下部也由 8 16 点阵组成。 在本例中单片机首先显示的是左上角的第一列的上半部分,即第 0 列的 p00— p07 口。 方向为 p00到p07 ,显示汉字“高”时 ,p02 点亮 ,由上往下排列 ,为 灭, 灭 , 灭 , 灭 , 灭 , 亮 , 灭 , 灭。 即二进制 00000100,转换为 16 进制为 04h。 上半部第一列完成后,继续扫描下半部的第一列,为了接线的方 便,我们仍设计成由上往下扫描,即从 p27 向 p20 方向扫 描,从上图可以看到,这一列全部为不亮,即为 00000000, 16 进制则为 00h。 然后单片机转向上半部第二列,仍为 p01 点亮,为 00000100,即 16 进制 半部分的扫描, p20 点亮,为二进制 00000010,即 16 进制 ,继续进行下面的扫描,一共扫描 32 个 8 位, 可以得出汉字“高”的扫描代码为: 02h, 00h, 01h, 04h,0FFh,0FEh, 00h, 00h, 1Fh,0F0h, 10h, 10h, 10h, 10h, 1Fh,0F0h, 00h, 04h, 7Fh,0FEh, 40h, 04h, 4Fh,0E4h, 48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。 由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。 不过现在有很多现成的汉字字模生成软件,就不必自己去画表格算代码了。 用 88LED 点阵构成 1616LED 点阵 Proteus 中只有 57 和 88 等 LED 点阵,并没有 1616LED 点阵,而在实际应用中,要良好地显示一个汉字,则至少需要 1616 点阵。 下面我们就首先介绍使用 88 点阵构建1616 点阵的方法,并构建一块 1616LED 点阵,用于本例的显示任务。 首先 , 从 的 元件库中找到 “MATRIX 8X8RED” 元器件,并将四块该元器件放入Proteus 文档区编辑窗口中。 此时需要注意 ,如果该元器件保持初始的位置(没有转 动方向 ) ,我们要首先将其左转 90176。 ,使其水平放置,那么此时它的左面 8 个引脚是其 行线,右边 8个引脚是其列线(当然,如果你是将右转,则右边 8 个引脚是行线)。 然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行 16 个 LED,列线也相同。 并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。 连接好的 1616 点阵如 图 所示。 成如上图的 1616 点阵只是第一步,这样分开的数块并不能达到好的显示效果 ,下面我们要将其进一步组合。 组合实际上很简单,首先选中如上图中右侧的两块 88 点阵,然后拖动并使其与左侧的两块相并拢,如 图 所示。 图 可以看到原 来的连线已经自动隐藏了,至于线上的交点,我们不要去动。 然后,我 们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢 ,最后的效果如图 所示。 看到 ,原来杂乱的连线现在已经几乎全部隐藏了,一块 1616 的 LED 点阵做成了。 需要注意,做成的 LED 点阵的行线为左侧的 16 个引脚,下侧的 16 个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。 然后,我们将其保存,以便以后使用。 图 点阵模块组合 图 主控单片机的接口说明 P0口: P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 /数据总线 复制用口,作为输入口时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写入“ 1 可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期激活内部上拉电阻。 在 Flash 编程时, PO口接收指令节,而在程序校检时,输出指令字节,校检时,要求外接上拉电阻。 P1 口: P1 口是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时 ,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 I。 Flash 编程和程序校检期间, P1接收低 8 位地址。 P2口 :P2口是一个带内部上拉电阻的 8位双向 I/O口, P1的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 I。 在访问外部数据存储器或 16 位地址的外部数据存储(例如执行 MOVX@DPTR 指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据 存储器(如执行 MOVX@RI 指令)时, P2口线上的内容(也即特殊功能寄存器( SFR)区中 R2寄存器的内容),在整个访问期间不改变。 Flash 编程和校检时, P2亦接收高位地址和其他控制信号。 P3口: P3 口是一个带内部上拉电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对 P3 口写入“ 1”时,它们被内部上拉电阻拉高并可作输入端口,作输入端时,被外部拉低的 P3 口将用上拉电阻,输出电流 I。 P3 口还接收一些用于 Flash 闪速存储器编程和程序校检的控制信号。 RST:复位输入,当震 荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时 ,ALE(地址锁存允许)输出脉冲用于所存地址的低 8 位字节。 即使不访问外部。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。