基于51单片机的led点阵显示屏系统的设计与实现课程设计(编辑修改稿)内容摘要:
端必须保持低电平(接地)。 因为没有扩展外部程序存储器所以将 EA 置为高电平。 图 32 控制部分电路图 由于 P3 口是特殊功能口,在该系统中基本是采用其第二功能。 其第二功能和实际运用如表 31 所示: 表 31 AT89S51P3 口第二功能的应用 基于单片机点阵电子显示屏设计 15 端口 第二功能 实际作用 RXD(串行输入口) 与上位机通信的数据输入口 TXD(串行输出口 ) 与上位机通信的数据输出口 外部中断 0 做按键中断,控制显示状态 外部中断 1 做按键中断,控制运行模式 AT89S51 单片机的 P1 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用, P2 口在访问外部程序存储器或 16 位地址的外部数据存储器时, P2 口送出高 8 位地址数据。 所以 P1 和 P2 口留为外部数据存储器和程序存储器的扩展用,以备内部存储器和程序存储器不够用的情况时使用 [12]。 译码电路设计 译码电路的功能是为了解决单片机 I/O 端口不足。 行译码所用器件为串并转换器 74LS164 和锁存器 74LS373。 串并转换器 74LS164 列译码采用的是芯片 74LS164。 如果不采用译码电路完全依靠单片机的端口输出来控制 1616 的 LED 点阵屏显示,需要 32 个端口。 而采用了译码电路后仅仅需要 7~ 9 个端口便可实现控制显示。 大大减少了 I/O 口的占用数目,为单片机扩展其他功能预留下来了空间。 74LS164 为一个 8 位数据的串并转换器。 当清除端( CLEAR)为低电平时,输出端( QA- QH)均为低电平。 串行数据输入端( A, B)可控制数据。 当 A、 B 任意一个为低电平,则禁止新数据 输入,在时钟端( CLOCK)脉冲上升沿作用下 Q0为低电平。 当 A、 B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态。 表 31 74LS164 工作参数 参数 最小值 标准值 最大值 单位 高电平输入电压 2 — — V 低电平输入电压 — — V 高电平输出电压 V 低电平输出电压 — V 基于单片机点阵电子显示屏设计 16 时钟频率 0 — 25 MHZ 这就要求单片机的引脚输出的高低电平要在芯片的识别范围内,由于采用了列选通行传送显示代码的方法所以 行译码电路上也加上了 74L373 锁存芯片。 这就要求 74LS164 芯片的输出要满足锁存芯片的高低电平区分范围和频率要求。 锁存器 74L373 由于 74LS164 芯片不具有锁存功能,所以在 74LS164 进行八位数据的串并转换时,串行数据的第一位会从 QA 依次移位到 QH,第二位数据会从 QA 依次移位到QG,依次类推在八位数据转换完成之前 74LS164 芯片的输出会出现一段时间的乱序输出,这一结果会通过驱动电路表现在显示屏上。 结果就是显示屏无序导通闪烁,不能显示所需内容。 因此在串并转换完成前就需要 74LS164 的输出口不与驱动电路导通。 所以选择锁存器 74LS373 来完成这一功能。 74LS373 为八 D 锁存器 (3S,锁存允许输入有回环特性 )。 373 为三态输出的八 D透明锁存器 ,共有 54/74S373 和 54/74LS373 两种线路结构形式当三态允许控制端 OE为低电平时, O0~O7 为正常逻辑状态,可用来驱动负载或总线。 当 OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时, O 随数据 D 而变。 当 LE 为低电平时, O被锁存在已建立的数据电平。 表 32 74LS373 工作参数表 参数 最小值 额定值 最大值 单位 电源电压 5 V 输入高电平电压 2 — — V 输入低电平电压 — — V 输出高电平电压 — — - mA 输出低电平电压 — — 24 mA 由表与表比较可以看出, 74LS164 的输出条件与 74LS373 的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。 驱动电路设计 行驱动电路设计 发光二极管, LED(Light Emitting Diodes),即是在在 某些半导体材料的 PN 结基于单片机点阵电子显示屏设计 17 中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。 PN 结加反向电压,少数载流子难以注入,故不发光。 这种利用注入式电致发光原理制作的二极管叫发光二极管,通称 LED。 行驱动采用 PNP 三极管 8550 接法如图 34 示: 1 K5 VL E D 点 阵 屏 阳 极译 码 电 路 输 出 图 34 行驱动器件 8550 的接法 8550 为 PNP 型三极管,内部结构如图 35 示。 发射极 e 接 5V电源,基极接译码信号输出端,集电极接输出驱动 LED 点阵屏。 当译码器端口输出为低 电平时,发射极与基极电势差为 5V- 0v 基极中带负电的电子越过 PN 结扩散到发射区。 发射极产生和电子扩散方向相反的电流,由于基极电子大量扩散到发射极集电极电子扩散到基极中形成了电流 cI。 当译码器端口输出高电平时发射极与基极之间的电势差为 5V- 0V - BV ,由于发射极与基极之间电势差的减少基极电子向发射极扩散的电子数量减少故集电极电流也随之减少。 故 8550 在驱动电路中起到提供驱动电流和选通开关的作用。 P N P5 V译 码 器 输 出 信 号输 出 驱 动 L E D 屏eI0v 0v空 穴 空 穴电 子 图 35 8550 内部结构图 列驱动电路设计 列驱动采用 ULN2803。 ULN2803 是一种高电压大电流达林顿管阵列内部结构如图,该阵列中的八个 NPN 达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS 或 PMOS)和大电流高电压的灯,继电器,打印机锤和其他类似负载间的接口的理想器件。 广泛用于计算机,工业和消费类产品中。 所有器件有集电极开基于单片机点阵电子显示屏设计 18 路输出和用于瞬变抑制的续流箝位二极管。 集电极输出功 率可达 50V600mA[13]。 ULN2803 作为列驱动执行的是列选的工作,当选通的列输入高电平时其对应的输输出低电平。 相对应的输出取反,并能提供较大的灌电流来吸收行驱动流出进过显示屏后的电流。 具体电路如图 37 所示。 图 37 列驱动原理图 通信系统硬件设计 AT89S51单片机具有全双工串行 UART通道,支持单片机进行数据的串行传输。 除了单片机要与 PC 机制定通信协议,确定发送速率外还需要解决的问题就是信号电平问题。 RS232C 标准规定了 PC 机发送数据总线 TXD 和接收数据总线 RXD 采用 EIA 电平,即传送数字 “1”时传输线上的电平在- 3~- 15V之间;传送数字 “0”时,传输线上的电平在+ 3~+ 15 之间。 但单片机串行口采用正逻辑 TTL 电平,即数字 “1”时为+ 5V数字 “0”时为 5V,所以单片机与计算机不能直接相连进行通信必须将 RS232C 与 TTL 电平进行转换 [14]。 在通用的电平转换芯片中 MAX232 系列的芯片以集成度高,单+ 5V电源工作,只需外接 5 个小电容即可完成 RS232C 与 TTL 电平之间的转换而成为单片机系统中的常用芯片。 在该显示系统中, MAX232 为通信系统中最重要的硬件组成 部分 [15]。 电路如图 38 所示: 基于单片机点阵电子显示屏设计 19 C 1 +1VDD2C 1 3C 2 +4C 2 5V E E6T 2 O U T7R 2 I N8R 2 O U T9T 2 I N10T 1 I N11R 1 O U T12R 1 I N13T 1 O U T14GND15V C C165M A X 2 3 2 A C P E12345678911101D C o n n e c t o r 9C1104C2104C3104C4104V C CP 3 .1 T XP 3 .0 R XV C C 图 38 串口通信系统电路图 电源设计 在系统中 MAX23 74LS16 74LS37 AT89S51 都需要 5V 的供电电压,在系统开发过程中可以使用电脑 USB 供电。 在实际的大屏幕 LED 显示屏设计中,用电脑 USB 供电明显不切实际。 此时需要对民用的 220V进行降压整流为 5V直流电压为显示系统供电。 电路图如图 39 所示。 如图所示,用 220V转 12V的变压器进行降压后再通过一个桥式整流电路将交流电整流为直流电。 最后通过 5V三端稳压模块 LM7805 得出稳定的 5V输出。 级连大屏幕 LED 显示屏 要实现 LED 的大屏幕显示主要采用内部译码器级连和多个单片机系统级连的方法。 将第 1 个 74LS164 的 Q7 端接第 2 个 74LS164 的 A 端,将第 2 个 74LS164 的Q7 端接第 3 个 74LS164 的 A 端,如此炮制当 N 块 74LS164 相级连时就变为一个串行输入 7N 口输出的串并转换器。 这种级连的优点在于一块单片机可以同时控 制更多的 LED 点阵显示屏,且 74LS164 的价格低廉整体成本得到了降低。 但是这种级连方法也存在一定的缺点, 51 系列的单片机的晶振频率不高 74LS164 级连过多会增加一次扫描的时间从而导致显示出现闪烁。 从端口输出的显示数据的显示也要作出相应的改变。 基于单片机点阵电子显示屏设计 20 图 310 74LSL64 级连 构建大屏幕 LED 显示屏的另一种方法是将以较小的 LED 显示系统做为模块进行级连。 如图 311 所示,由独立的 LED 显示系统组成一个大的 LED 显示系统。 其中各子显示系统之间在功能和控制上都是相互独立的,将一幅大屏幕画面拆分为几块小 画面再分别送入到各子系统中,各子系统同步显示便可以得到一幅大的画面。 使用这种级连的办法可以避免 51 单片机晶振频率低的弱点,更容易实现大屏幕的显示。 但这种方法仍然存在难点,一是各独立的子系统的通信和协调性要求更高了,如果要实现显示内容的实时性必须需要上位机不断更新显示内容则增加了上位机的通信数据量,逐个的单片机传送数据也会影响整个画面的更新速度;二是成本提高了。 在实际应用中通常采用内部扩展和外部级连联合使用的方法来构建大屏幕LED 显示屏幕。 即增加单个显示系统显示屏幕大小的同时又将单个的显示系统级连。 详细硬件 原理图见附录 1。 基于单片机点阵电子显示屏设计 21 第 4章 系统软件设计 程序设计 系统软件采用 C 语言编写,按照模块化的设计思路设计。 首先分析程序所要实现的功能,程序要实现串口通信,静态显示,动态显示三大功能。 其功能结构如图24 所示。 通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示。 主程序的工作流程如图 41 所示: 图 41 主程序流程图 程序开始时首先必须对单片机进行初始化,其中初始化的内容包括:中断优先级的设定,中断初始化, 串行通信时通信方式的选择和波特率的设定,各 IO 口功系 统 初 始化 从显示数组读取数据到显示寄存器 读取显示控制命令选择显示方式 调用相应显示程序 RI=1? 起始位。 接收显示数据及控制命令 将显示数据移入显示数组将控制命令赋值给控制字符 N N Y Y 开 始 中断开始 中 断 返 回 基于单片机点阵电子显示屏设计 22 能的设定等。 初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源和串行中断。 外部中断源由按键的电平变化触发,外部中断主要功能是选择 LED 点。基于51单片机的led点阵显示屏系统的设计与实现课程设计(编辑修改稿)
相关推荐
LC2252 呈现高输入阻抗和低噪声,能很好地适用于高阻抗源,例如电压传感器的小信号状况。 由于这些器件功耗低,所以它们在手持监视和 遥感原始传感器应用中工作良好。 此外,满电源电压幅度输出特性以及单独或分 离电源工作使得这些器件在直 图六 接与模拟数字转换器( ADC)接口时成为主要的选择对象。 所有这些特性,再结合它们的温度性能,使得 TLC2252 系列能理想的适用于声纳、远程传感器
器 0 外部输入 T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间 ,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA / VPP:当
k 1个; 10k滑动变阻器 1个; 10Ω 1个; ( 10) 开关 1个 ( 11) 5V有源蜂鸣器 1个 ( 12) 三极管 S8550一个 ( 13) 排针若干,杜邦线若干 22 附录 2 程序清单 分 9 个文件: , ,, , (a) 程序清单: ifndef __delay_h__ define __delay_h__ void delay_us(uint t)。 void
用来精确检测太阳的视高度。 其电路图如如 210所示。 图 210 检测电路 单片机模块 的内部结构和引脚 AT89C52 是一个低功耗高性能单片机, 40 个引脚, 32 个外部双向输入 /输出( I/O)端口,同时内含 2个外部中断口, 2 个 16 位可编程 定时计数器, 2个全双工串行通信口, AT89C52 可以按照常规方法进行编程,也可以在线编程。 其将通用的微处理器和 Flash
端,为电路功能的扩展提供方便。 译码器 74LS138 的管脚及其功能如表 所示。 表 译码器 74LS138 管脚功能 管脚 功能 VCC 电源正 GND 地 E1 选通端 E2 /E3 选通端(低电平有效) A0~ A3 地址输入端 Y0~ Y7: 输出端(低电平有效) 74LS138 译码器的工作原理为: 当一个选通端( E1)为高电平,另两个选通端 (E2)和 (E3)为低电平时
单一, RAM、 ROM 空间小等缺点。 若采用 89C51需要做 RAM, ROM 来扩展其内存空间,其硬件工作量必然大大增多。 方案二:采用 AVR 单片机作为主控芯片,其简便易学、费用低廉、低耗、保密、I/O 口功能强,且 AVR 单片机是高速 嵌入式单片机 ,其内部集成了 AD 转换电路,以 及功能强大的 定时器 /计数器、通讯接口。 综上考虑,选用 ATmega16 单片机为 CPU