基于单片机的1616led点阵显示屏设计毕业论文内容摘要:

选中其中一列的点阵有效,再使用两个 74HC595 级联而成的移位寄存器作为行驱动器,行驱动驱动译码器选中的这一列中点阵的 16 个发光二极管亮灭情况。 当下一个程序语句到来时, 416 线74HC154 译码器选中下一列有效,行驱动器驱动译码器选中的这一列 16 个发光二极管的亮灭情况,以此类推。 这样反复点亮, 由于人眼视觉暂留现象 (每秒24 次以上 ), 只要速度够快,我们就能看到 显示屏 显示的 稳定清晰的图像了。 由于单片机的 工作 特性, 时钟速度达到 20M, 我们将采用动态显示方式 方式 , 把设计好的程序烧进单片机。 显示数据存储在单片机 AT89C51 的存储 单元中 ,显示时 把一 列 中各 行 的数据都传送到相应的驱动器中,这就存在一个显示数据传输的问题。 数据传输时 是采用 串行方式 还是采用 并行方式。 数据传输方式的论证 很 显然 ,采用并行 传输数据 的方式, 行驱动 器 和 列驱动器的线路数量庞大,相应 需要更多硬件 , 增加了设计成本, 所以并行传输的方式不可取。 为了解决并行传输数据带来的问题, 采用串行传输 数据方式。 根据 74HC595特点, 串行传输数据方式只要 用一根线, 单片机的某个 I/O口 就可以 将数据一位一位的传送到 行 驱动器中 ,当上升沿到来时,行驱动器 74HC595 对 16 位 数据一次性输出 , 驱动 16*16 的 LED 点阵显示屏, 所以 硬件 方面很 经济。 串行传输数据的 缺点是串行传输过程较长,数据 只能 一位一位地输出到驱动器中,只有当 这 一行的数据全部传送 完毕 ,才能 对驱动器 进行显示。 这样 传输过程 分为数据 传输的准备 过程和数据的 输出两个 部分。 在串行传输过程中, 由于数据的准备时间较长重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 8 的时候, 再编写程序的时候,扫描周期和延时程序给的的情况下,串行 传输数据会影响到 led 显示屏的亮度。 为了解决影响显示屏亮度的问题,即数据传输的准备过程和数据显示的时间较长的问题,我们可以采用重叠处理的方法。 在本行驱动器在点亮显示屏的同时,我们传送下一行数据,这样就可以解决传输数据时间较长的问题。 为了达到重叠处理的目的,我们需要的列驱动器必须要有锁存器的功能。 这样我们可以解决列驱动器可以选用 74HC595 是一个串行输入并行输出的移位寄存器,具有锁存功能。 这样本列数据在点亮显示屏的时候, 74HC595 就已经在准备下一行的列数据,不会影响上一行的数据显示。 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 9 第三章 系统电路的硬件设计 设计框图 单片机列驱动器行驱动器1 6 1 6 的点阵显示屏电源 图 31 点阵显示的总体框图 单片机的选择 单片机采用 AT89C51。 AT89C51 单片机的外形如下: 图 32 AT89C51 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 10 AT89C51 芯片简介 AT89C51 是 美国 ATMEL 公司生产的一款 8位微处理器芯片,具有 高性能低功耗 特点, 应用领域广泛。 芯片作为仪器的大脑,它负责整个程序的运行以及给部分电路部分发送命令。 主要性能 ◆ 4/8 可程序设计的 Flash 内存 ◆ 32 个可程序设计 I/O 口线 ◆ 5 个中断源 ◆可编程的串行通道 ◆ 2 个 16 位定时 /计数器 ◆ 1000 次擦写周期 AT89C51 系列单片机的基本组成 ◆片内 Flash 内存,用来一些原始数据表格 和程序 ◆片内 RAM,用来存放经常读、写的数据 ◆ 1 个 8位中央处理单元 ◆多个优先级的嵌套中断结构 , 并可实现多个优先级的嵌套 ◆ 1 个全双工口 UART 的串行接口,通过它可以和计算机或其他外设进行通信 ◆ 2 个 16 位的计数 /定时器,对外部事件进行计数, I/O口 置成定时器 或者置成计时器 ,并根据计数或定时的结果对单片机 实时 进行控制。 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 11 中断控制片内Fl a s h存储器C P U振荡器 总线控制片内 R A METC定时器0定时器14 I/ O 端口 串行端口计数器输入外部中断P0 P1 P2 P3 T X D R X D 图 33 AT89 系列单片机的基本结构框图 单片机的内 部组成 AT89 系列单片机的内部结构 主要是 由 CPU、定时器 /计数器、串行口、存储器 、中断逻辑 /并行口几部分 组成。 (1)CPU CPU 是由 运算器及控制器组成 , 作为控制中心和指挥中心, 决定单片机的主要功能。 ACC 是一个累加器, 简称累加器 A, 8 位寄存器,当进行逻辑和算术运算时,累加器存放操作数,运算的结果还是存放在累加器中。 寄存器 B 也是一个 8位寄存器, 寄存器 B用于乘法和除法指令中。 在除法中,除数取自 B,被除数取自 ACC,商数放在 ACC中,而余数则放在 B 中。 在乘法运算中,乘数的操作指令来自 ACC 和 B 中,而乘积 的结果放在 AB 寄存器中, B 寄存器是作为中间结果寄存器使用的。 PSW 是一个 8 位的寄存器 ,作为 一个标志寄存器 ,用来存放各种程序状态执行的信息,供程序判别和查询。 PSW 的标志 和 格式 如下: 表 31 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV —— P 此寄存器各位的含义如下: 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 12 CY( ) :进位标志。 执行算术运算指令时,最高位 D7 位 有进位或者借位时, CY=1,最高位 D7 位没有进位或者借位, CY=0。 CY 作为位累加器, 可以被硬件或者软件职位或清零 ,起作用相当于 中央处理器中的累加器 A,进位操作和执行比较指令也会影响 CY标志位。 AC( ):辅助进位 标志。 辅助进位标志指的是当执行加减运算指令时,低四位向高四位有进位借位时, AC会被置成 1,否则就会被清零。 在进行十进制加减运算时,需要进行十进制调整,需要用 AC 位进行判断 , 详见指令系统中的DAA 指令。 F0( ) :用户标志位。 F0 是 状态标记 位 , 根据用户自己的需要通过软件来置位和复位。 设定标志位状态以后 , 通过 软件测试 F0 来 控制程序的流向。 RS RS0( 、 ) :8051 有 4组 8个 8位工作寄存器,每组命名 R0~R7。 通过控制这两位的值就可以控制哪一组寄存器作为工作寄存器,这是通过软件来改变 RS RS0 的值进行选择的。 RS0、 RS1与寄存器区的对应关系见表 32: 表 32 RS1 RS0 工作寄存器组 0 0 0 组( 00H07H) 0 1 1 组( 18H0FH) 1 0 2 组( 10H17H) 1 1 3 组( 18H1FH) OV( ):溢出标志。 在 进行 带符号 位 加减运算 指令中 , 运算结果超过累加器的 有效范围时 ,累加器 A 就会溢出,溢出即产生运算错误的结果,溢出标志位 =1。 如果没有超过累加器的有效范围,溢出标志位 =0 就表示运算结果正确。 在进行乘法运算时,如果累加器 A溢出,标志位 =1 表示乘积的结果超过 255,乘积分别在累加器 A与寄存器 B 中;乘积结果没有超过 255,标志位 =0,这时乘积只在累加器 A中。 在除法运算指令中,标志位 =1,就表示除数等于 0,所以不能进行除法运算,反之表示除数不为零,可以进行运算。 P( ):奇偶标志。 奇偶标志位 表示累加器 A中 1的 个数,累加器 A 中 1 的个数为偶数 P=0, 1的个数为奇数 P=1。 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 13 (2)存储组织 AT89 系列单片机的内存结构如下: 外部内部( E A = 1 )外部( E A = 0 )FFFFH1000H0 F F F H0000H0 F F F H0000Hc o d e 区 ( a) 特殊功能寄存器用户 d a t a 区b d a t a 区4 个工作寄存器区FFH80H7 FH2 FH20H00Hd a t a 区id a t a 区 ( b) p d a ta 区FFFFH0 0 F F H0000Hx d a ta 区 (c) 图 34 AT89 系列单片机内存的结构 系统硬件电路的设计 本设计的 硬 件电路可以分成单片机系统及外围电路、列驱动器和行驱动器电路三 部分。 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 14 单片机系统及外围电路 单片机采用 AT89C51, 时钟频率为 采用 24M 的晶振, 高的晶振频率能 获得较高的刷新频率, 可以使 显示 更加 稳定。 P0 口的低四位与 416 线译码器相连用来发送行数据 , ~ 口与两片级联的 74HC595 组成的 16 位输出的移位寄存器相连, 用来 发送列数据。 单片机的外围震荡电路: 图 35 单片机的振荡电路 行 驱动电路 行 驱动电路 是由两片 74HC595 级联而成, 74HC595 具有 8 位串入并出 移位寄存器和一个 8 位输出锁存器的结构 ,两片级联的 74HC595 具有 16 位串入并出 移位寄存器和一个 16 位输出锁存器的结构 ,用来驱动 led 点阵的行。 74HC595 具有独立的输出锁存器个和独立的移位寄存器,在输出本行数据驱动点阵的同时,单片机已经为驱动器传输下一行的数据,能 达到重叠处理的目的 ,缩短数据传输时间。 图 36 是由两个 74LS595 级联成的 16位输出的列驱动器: 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 15 图 36 列驱动器 74HC595 的外形及管脚说明图如图 37 和表 33 所示。 74HC595 有 8 个 串行移位寄存器 , 每个 串行 移位寄存器 连接着一个输出锁存器,当 8位数据全部传输完毕保存在输出锁存器中,当上升沿到来时,进行数据输出。 DS 是串行数据输入端, Q0~Q7 是并行数据输出端,作为 LED 点阵驱动端,控制 LED 的点亮。 Q7’是芯片拓展端口,与下一个 74HC595 的串行数据输入端 相连,形成 16 位串入并出 移位寄存器和一个 16 位输出锁存器的结构 驱动 LED。 SH_CP 是移位寄存器时钟输入端,每来一个上升沿, Q0 中的数据移动到 Q1中, Q1 中的数据移动到 Q2 中,这样循环往复。 下降沿移位寄存器中的端口数据保持不变。 ST_CP 是存储寄存器中的时钟输入口。 下降沿到来时,存储器中的数据保持不变,上升到来时,移位寄存器中的数据存储到存储器中。 通常将 ST_CP 拉到低电平,移位结束后再将ST_CP 端移位寄存器中的数据清零。 OE为输出允许高电平禁止输出。 图 37 74HC595 外形图 重庆理工大学毕业论文设计 基于单片机的 16*16LED 点阵显示屏设计 16 表 33 74HC595 的管脚说明 符号 引脚 描述 Q0Q7 15,1,7 并行数据输出 GND 8 地 Q7’ 9 串行数据输出 MR 10 主复位 SH_CP 11 移位寄存器时钟输入 ST_CP 12 存储器寄存器时钟输入 OE 13 输出有效(低电平) DS 14 串行数据输入 VCC 16 电源 列 驱动电路 单片机 P0 口低 4 位输出的行 信 号经 416 线译码器 74HC154 译码后生成 16条 列 选通信号线, 再 需要 经过驱动器 驱动对应 的 列 线。 一条 列 线上要带动 16 行的 LED 进行显示,按每一 LED 器件 20mA 电流计算, 16个 LED 同时发光时,需要320mA 电流, 选用三极管 8550 作为驱动管可满足要求。 只要控制端 G G2。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。